ハンズオン(簡易版): Cloud9 (AWS CLI環境)入門

ハンズオン(簡易版): Cloud9 (AWS CLI環境)入門

作成者

波田野 裕一

公開日

2021-05-20

更新日

2021-10-29

警告

2021-10-06時点で、動作検証中です。

目的

ブラウザ上でCLIを実行する環境(Cloud9)を構築します。

注釈

CLIハンズオンの実施方法や効果的に行うためのポイントについては、CLIハンズオンガイドをご参照ください。

前提

作業権限条件

作業権限条件: 必要な権限

  • AWS(ルート)アカウント

注釈

自力で適宜手順の読み替えできる場合は、以下の権限のあるIAMユーザでも実施可能です。

  • AWSCloudShellFullAccess

  • IAMFullAccess

  • AmazonVPCFullAccess

作業環境条件

本手順は、以下の環境で行います。

AWS CLI手順については、以下の環境で行います。

AWS CLI環境条件

  • 本手順は、AWS CloudShellでの実施を前提としています。

    注釈

    マネジメントコンソールの画面上の検索窓の右にあるターミナルアイコンをクリックするとCloudShellが起動します。(プロンプトが表示されるまで数十秒程度かかります。)

    CloudShell画面でCtrl + Dキーを押すと環境がリセットされます。

  • 本手順は、AWS CLIのバージョン"2.1.28"以降での実施を前提としています。

    コマンド:

    aws --version
    

    結果(例):

    aws-cli/2.1.28 Python/3.7.9 Linux/4.14.231-173.360.amzn1.x86_64 exec-env/CloudShell exe/x86_64.amzn.2

構成

本手順書で構築するAWSリソースの構成は以下の図のようになります。

_images/handson-overview.png

手順全体の構成は以下の通りです。

事前作業 (料金不要部分)

  • なるべくハンズオン実施の前日までに実施します。

  • rootユーザ(AWSアカウント)で実施します。

  • 「後始末 (料金不要部分)」を行わない限りは1回だけ実施すればOKです。

Cloud9環境の構築 (課金部分)

  • ハンズオン実施前に実施します。

  • 「事前作業 (料金不要部分)」で作成したIAMユーザで実施します。

  • 12ヶ月の無料利用枠が有効の場合は、いつ実施しても問題ありません。

  • 「6. 後始末 (料金不要部分)」を行わない限りは1回だけ実施すればOKです。

(参考) CLIハンズオンの実施

  • 対象となるハンズオンを実施します。(本手順では概要のみ示します。)

  • 「事前作業 (料金不要部分)」で作成したIAMユーザで実施します。

後始末 (課金部分)

  • ハンズオン実施後、EC2インスタンス料金の節約のためにEC2インスタンスを停止します。

  • 「事前作業 (料金不要部分)」で作成したIAMユーザで実施します。

  • 長期に渡ってCloud9環境を使わない場合は、EBSストレージ料金(1GBあたり0.12USD/月)を節約するためにCloud9環境を破棄します。

アンケート

  • この手順についてのアンケートです。是非ご回答ください。

後始末 (料金不要部分)

  • Cloud9環境の利用予定がなくなった場合に実施します。

  • rootユーザ(AWSアカウント)で実施します。

事前作業 (料金不要部分)

Cloud9環境構築のうち、料金がかからない部分についてハンズオン前日までに構築を行います。

この手順で構築するAWSリソースと順番は以下の図のようになります。

_images/handson_light-aws_service-cloud9-environment-cfn-root.png

警告

以下のリソースが既に存在する場合、これらのリソースを削除する(一般的に推奨)、もしくはその作成手順は実施せずに先に進む、のどちらかの対応をしてください。

  • VPC: handson-cloud9-vpc (事前作業1.1)

  • IAMグループ: handson-cloud9-group (事前作業2.1)

  • IAMユーザー: handson-cloud9-user (事前作業2.2)

  • IAMロール: handson-cloud9-environment-role (事前作業3.2)

  • インスタンスプロファイル: handson-cloud9-instance-profile (事前作業3.3)

これらのリソースを削除する場合は、本手順の"事後作業 (料金不要部分)"を参考に実施、もしくはマネジメントコンソールで手動で削除してください。

事前作業0. AWS(ルート)アカウントでのログイン

事前作業5. ハンズオン用権限ポリシーの作成 (CloudShell利用)

警告

ハンズオンをスムーズに進めるために、Cloud9環境のEC2インスタンスにIAMポリシーをアタッチやデタッチする権限をIAMユーザに付与します。

強力な権限を与えることになりますので、ご注意ください。

事前作業6. CloudShell環境のディレクトリ削除 (CloudShell利用)

事前作業7. IAMユーザー用ログインURLの確認

  • IAMダッシュボード( https://console.aws.amazon.com/iam/home )にアクセスします。

  • "このアカウントの IAM ユーザーのサインイン URL "のURLを確認します。

    形式:

    https://<AWS ID>もしくは<ユニーク文字列>.signin.aws.amazon.com/console

警告

IAMユーザでログインする場合、このURLで認証する必要があります。

ブックマークもしくはメモしておきましょう。

事前作業8. AWS(ルート)アカウントからのログアウト

  • AWSマネジメントコンソールのメニューバーにある"アカウント名"をクリックします。

  • プルダウンメニューの"サインアウト"をクリックします。

Cloud9環境の構築 (課金部分)

Cloud9環境構築のうち、料金がかかる部分についてハンズオン当日までに構築を行います。

注釈

12ヶ月の無料利用枠が有効の場合は、Linuxインスタンス1ヶ月750時間、EBSストレージ30GB、I/O 200万回の範囲内で料金がかかりません。

この手順で構築するAWSリソースと順番は以下の図のようになります。

_images/handson_light-aws_service-cloud9-environment-cfn-iam.png

0. Cloud9作業ユーザーでのログイン

注釈

ログイン後、パスワードの変更が要求されます。

1. MFAの設定 (CloudShell利用)

注釈

ログイン直後にMFAの設定をする必要があります。 (今回は、MFAの設定後に権限が解放されるようになっています。)

警告

CloudShellは一度閉じてください。 (再ログイン前の環境情報が残っていた場合、権限エラーが出るため。)

Cloud9作業ユーザーのログアウト

  • AWSマネジメントコンソールのメニューバーにある"アカウント名"をクリックします。

  • プルダウンメニューの"サインアウト"をクリックします。

Cloud9作業ユーザーのログイン

2. Cloud9環境の構築 (マネジメントコンソール)

4. Cloud9環境の更新 (Amazon Linux 2環境)

(オプション) yamllintの導入 (Amazon Linux 2環境)

注釈

CloudFormationのハンズオンにおいてのみ必要になります。

(参考) CLIハンズオンの実施

ハンズオンの実施は以下の流れになります。

注釈

実際に必要なポリシーは、各ハンズオンの指示に従ってください。

ハンズオン開始前

ハンズオンに必要なIAMポリシーをインスタンスプロファイル(IAMロール)にアタッチします。

注釈

今回は以下のAWS管理IAMポリシーをアタッチします。

  • ReadOnlyAccess

ハンズオンの実施

注釈

  • ハンズオンを実施します。

ハンズオン終了後

"ハンズオン開始前"にアタッチしたIAMポリシーをインスタンスプロファイル(IAMロール)からデタッチします。

注釈

Cloud9画面を閉じると、"Cost-saving setting"の設定時間(デフォルト30分)後に、自動的にEC2インスタンスが停止します。

EC2インスタンスの停止によりインスタンス部分の課金が停止します。

EBSストレージについては、EC2インスタンスの起動・停止と関係なく課金が継続します。

事後作業 (課金部分)

Cloud9環境構築のうち、料金がかかる部分についてハンズオン終了後に停止もしくは破棄を行います。

1. Cloud9環境の停止・破棄 (課金部分)

Cloud9環境を継続利用する場合

注釈

Cloud9の画面を閉じていない場合、インスタンスが再度起動してきます。

停止前にCloud9の画面が開いていないか、必ず確認してください。

Cloud9環境を破棄する場合

2. Cloud9作業ユーザーからのログアウト

  • AWSマネジメントコンソールのメニューバーにある"アカウント名"をクリックします。

  • プルダウンメニューの"サインアウト"をクリックします。

アンケート

今後の参考にするため、本手順についてご意見・コメントをお願いします。

注釈

  • 必須項目はありません。お気軽にご回答ください。

  • 内容が違えばお一人何回回答していただいても問題ありません。

  • はまりどころや誤字・脱字などの修正のご指摘もお待ちしています。

注釈

このアンケートシステムはS3 + Cognitoで構築しています。

事後作業 (料金不要部分)

Cloud9環境構築のうち、料金がかからない部分について利用予定が無い場合は破棄を行います。

注釈

本手順は、AWSアカウント(root)での作業を前提としています。

自力で適宜手順の読み替えできる場合は、以下の権限のあるIAMユーザでも実施可能です>。

  • AWSCloudShellFullAccess

  • IAMFullAccess

  • AmazonVPCFullAccess

事後作業0. AWS(ルート)アカウントでのログイン

事後作業7. AWS(ルート)アカウントからのログアウト

  • AWSマネジメントコンソールのメニューバーにある"アカウント名"をクリックします。

  • プルダウンメニューの"サインアウト"をクリックします。

備考