波田野 裕一
2021-10-07
2022-10-19
ブラウザ上でCLIを実行する環境(Cloud9)を構築します。
注釈
CLIハンズオンの実施方法や効果的に行うためのポイントについては、CLIハンズオンガイドをご参照ください。
作業権限条件: 必要な権限
AWS(ルート)アカウント
自力で適宜手順の読み替えできる場合は、以下の権限のあるIAMユーザでも実施可能です。
AWSCloudShellFullAccess AWSCloudFormationFullAccess IAMFullAccess AmazonVPCFullAccess
AWSCloudShellFullAccess
AWSCloudFormationFullAccess
IAMFullAccess
AmazonVPCFullAccess
本手順は、以下の環境で行います。
AWS マネジメントコンソールでのサポートされるブラウザ: https://aws.amazon.com/jp/premiumsupport/knowledge-center/browsers-management-console/
動作確認は、Firefox(手順作成時点の最新バージョン)で行なっています。
AWS CLI手順については、以下の環境で行います。
AWS CLI環境条件
本手順は、AWS CloudShellでの実施を前提としています。
マネジメントコンソールの画面上の検索窓の右にあるターミナルアイコンをクリックするとCloudShellが起動します。(プロンプトが表示されるまで数十秒程度かかります。)
CloudShell画面でCtrl + Dキーを押すと環境がリセットされます。
本手順は、AWS CLIのバージョン"2.7.12"以降での実施を前提としています。
コマンド:
aws --version
結果(例):
aws-cli/2.7.12 Python/3.7.10 Linux/4.14.291-218.527.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off
本手順書で構築するAWSリソースの構成は以下の図のようになります。
手順全体の構成は以下の通りです。
事前作業 (料金不要部分)
なるべくハンズオン実施の前日までに実施します。
rootユーザ(AWSアカウント)で実施します。 「後始末 (料金不要部分)」を行わない限りは1回だけ実施すればOKです。
rootユーザ(AWSアカウント)で実施します。
「後始末 (料金不要部分)」を行わない限りは1回だけ実施すればOKです。
Cloud9環境の構築 (課金部分)
ハンズオン実施前に実施します。
「事前作業 (料金不要部分)」で作成したIAMユーザで実施します。 12ヶ月の無料利用枠が有効の場合は、いつ実施しても問題ありません。 「6. 後始末 (料金不要部分)」を行わない限りは1回だけ実施すればOKです。
「事前作業 (料金不要部分)」で作成したIAMユーザで実施します。
12ヶ月の無料利用枠が有効の場合は、いつ実施しても問題ありません。
「6. 後始末 (料金不要部分)」を行わない限りは1回だけ実施すればOKです。
(参考) CLIハンズオンの実施
対象となるハンズオンを実施します。(本手順では概要のみ示します。)
後始末 (課金部分)
ハンズオン実施後、EC2インスタンス料金の節約のためにEC2インスタンスを停止します。
「事前作業 (料金不要部分)」で作成したIAMユーザで実施します。 長期に渡ってCloud9環境を使わない場合は、EBSストレージ料金(1GBあたり0.12USD/月)を節約するためにCloud9環境を破棄します。
長期に渡ってCloud9環境を使わない場合は、EBSストレージ料金(1GBあたり0.12USD/月)を節約するためにCloud9環境を破棄します。
アンケート
この手順についてのアンケートです。是非ご回答ください。
後始末 (料金不要部分)
Cloud9環境の利用予定がなくなった場合に実施します。
Cloud9環境構築のうち、料金がかからない部分についてハンズオン前日までに構築を行います。
この手順で構築するAWSリソースと順番は以下の図のようになります。
警告
ハンズオンをスムーズに進めるために、Cloud9環境のEC2インスタンスにIAMポリシーをアタッチやデタッチする権限をIAMユーザに付与します。
強力な権限を与えることになりますので、ご注意ください。
IAMダッシュボード( https://console.aws.amazon.com/iam/home )にアクセスします。
"このアカウントの IAM ユーザーのサインイン URL "のURLを確認します。
形式:
https://<AWS ID>もしくは<ユニーク文字列>.signin.aws.amazon.com/console
IAMユーザでログインする場合、このURLで認証する必要があります。
ブックマークもしくはメモしておきましょう。
AWSマネジメントコンソールのメニューバーにある"アカウント名"をクリックします。
プルダウンメニューの"サインアウト"をクリックします。
Cloud9環境構築のうち、料金がかかる部分についてハンズオン当日までに構築を行います。
12ヶ月の無料利用枠が有効の場合は、Linuxインスタンス1ヶ月750時間、EBSストレージ30GB、I/O 200万回の範囲内で料金がかかりません。
ログイン後、パスワードの変更が要求されます。
ログイン直後にMFAの設定をする必要があります。 (今回は、MFAの設定後に権限が解放されるようになっています。)
Cloud9作業ユーザーのログアウト
Cloud9作業ユーザーのログイン
CloudShellはリスタートしてください。("Actions" > "Restart AWS CloudShell") (再ログイン前の環境情報が残っていると権限エラーが出るため。)
ハンズオンの実施は以下の流れになります。
実際に必要なポリシーは、各ハンズオンの指示に従ってください。
ハンズオン開始前
ハンズオンに必要なIAMポリシーをインスタンスプロファイル(IAMロール)にアタッチします。
今回は以下のAWS管理IAMポリシーをアタッチします。
ReadOnlyAccess
ハンズオンの実施
ハンズオンを実施します。
コマンド(例):
export AWS_DEFAULT_REGION=ap-northeast-1
aws ec2 describe-instances
{ "Reservations": [ { "Groups": [], "Instances": [ { (以下略)
ハンズオン終了後
"ハンズオン開始前"にアタッチしたIAMポリシーをインスタンスプロファイル(IAMロール)からデタッチします。
Cloud9環境構築のうち、料金がかかる部分についてハンズオン終了後に停止もしくは破棄を行います。
Cloud9環境を継続利用する場合
Cloud9の画面を閉じていない場合、インスタンスが再度起動してきます。
停止前にCloud9の画面が開いていないか、必ず確認してください。
Cloud9環境を破棄する場合
今後の参考にするため、本手順についてご意見・コメントをお願いします。
必須項目はありません。お気軽にご回答ください。
内容が違えばお一人何回回答していただいても問題ありません。
はまりどころや誤字・脱字などの修正のご指摘もお待ちしています。
このアンケートシステムはS3 + Cognitoで構築しています。
Cloud9環境構築のうち、料金がかからない部分について利用予定が無い場合は破棄を行います。
https://aws.amazon.com/jp/cloud9/
特徴: https://aws.amazon.com/jp/cloud9/details/
料金: https://aws.amazon.com/jp/cloud9/pricing/
よくある質問: https://aws.amazon.com/jp/cloud9/faqs/
https://docs.aws.amazon.com/cloud9/index.html
開発者ガイド: https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html
Cloud9 CLIリファレンス (v1): https://docs.aws.amazon.com/cli/latest/reference/cloud9/index.html
Cloud9 CLIリファレンス (v2): https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloud9/index.html
Cloud9 APIリファレンス:
Actions: https://docs.aws.amazon.com/cloud9/latest/APIReference/API_Operations.html
https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-service-cut/
AWS Cloud9 入門 (2018/06/13)
SlideShare: https://www.slideshare.net/AmazonWebServicesJapan/20180613-aws-black-belt-online-seminar-aws-cloud9
PDF: https://d1.awsstatic.com/webinars/jp/pdf/services/20180613_AWS-BlackBelt-Introducing-AWS-Cloud9.pdf
Youtube: https://youtu.be/3Sl6Hzcw7Bk