こんにちは。
AWS公式のハンズオン資料に沿って、AWS CloudFormationを使ったハンズオンをしていきます。
ハンズオン内容
本記事は下記ページを参考にハンズオンを進めていきます。
AWS Hands-on for Beginners – AWS環境のコード管理 AWS CloudFormationでWebシステムを構築する
こんな方におすすめ
・AWS における IaC (Infrastructure as Code) に興味がある方
・AWS CloudFormation をハンズオンで試してみたい方
ざっくり今回やること
1.事前準備→開発環境(SageMaker Studio コードエディタ)の構築
2.AWS CloudFormationテンプレートの実行
3.スタックのリソースを編集
1.事前準備(SageMaker Studio コードエディタの構築)
参考ブログ
https://qiita.com/moritalous/items/656793cd97e1e967f045
AWS公式ハンズオン動画では、Cloud9を使用しています。
しかし、使えない方もいると思うので、今回は上記サイトを参考に、
SageMaker Studio コードエディタの開発環境を構築しました。
ここでさっそくSageMaker Studio Code Editorを構築するCloudFormationテンプレートを使わせていただきます。どうかご容赦ください。
CloudFormationを2回も使えてラッキーと思っていただきたいです。
作業はほんの数クリックで済んで、とっても楽!ありがたいです。
指定したパラメータ3点
自身のご都合に合わせてください。設定しなくても問題なく進められます。
1.スタック名に名前追記
わかりやすいように
名前-日付-CodeEditorStack
と指定しました。
2.falseに変更
3.IAMロール名選択
スタックができるまでの待ち時間で、次のステップ
2.AWS CloudFormationテンプレートの実行(VPCの作成)
に進んでも大丈夫です。
SageMaker Studio コードエディタ環境出来上がり!
ハンズオン動画を見ながらVPCのCloudFormationスタックを作成している間に、
SageMaker Studio コードエディタのスタックが出来上がっていました。
参考ブログ通りに環境を立ち上げることができました。
2.AWS CloudFormationテンプレートの実行(VPCの作成)
あらかじめ用意されているテンプレートファイル(Zipファイル)をアップロードし、スタックを作成します。
10分ほどでリソース作成が完了しました。
3.スタックのリソースを編集
SageMaker Studio コードエディタで、ローカルファイルのアップロード方法
-
左の三本線 > File > Open file…
-
Show Localを選択する
-
ローカルのエクスプローラーが表示されるので、01_vpc.ymlファイルを選択
SageMaker Studio コードエディタでテンプレートを編集します。
具体的には、サブネット名を変更していきます。
旧)PublicSubnet1
新)PublicSubnet1-update
寄り道話:論理IDの便利さ
矢印で示した箇所、
本来ならVPC ID(vpc-xxxxxxxxxxxxxxxxx) のような意味不明な文字列ですが、
AWS CloudFormationでは論理IDを記述できるため、どんなリソースなのかイメージがつきやすいですね。
3.AWS CLIを利用したスタックの更新
ハンズオン動画の通り、
SageMaker Studio コードエディタのターミナルで、AWS CLIでスタックを更新しました。
1.01_vpc.ymlファイルをアップロードしたディレクトリへ移動
cd ~/user-default-efs
2.テンプレートが正しく記述されているか検証
aws cloudformation validate-template --template-body file://01_vpc.yml
正しければ以下のような出力が返されます。
{
"Parameters": [],
"Description": "Hands-on template for VPC"
}
正しくなければエラーが出ます。
3.スタック更新処理
aws cloudformation update-stack --stack-name handson-vpc --template-body file://01_vpc.yml
スタック更新が成功し、コンソール上でサブネット名の変更が確認できました!!
まとめ
コンソールでポチポチすると、何度も画面を遷移したり、タブの移動があったりと面倒です。
CloudFormationではあっという間にインフラ環境を構築でき、編集も容易でした。
次回はVPCに引き続き、EC2、RDS、ELBも作成します。
ご覧いただけますと嬉しいです。