初心者向けAWS CloudFormationハンズオン! Web システムを構築する①

こんにちは。
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に変更
image.png

3.IAMロール名選択
image.png

スタックができるまでの待ち時間で、次のステップ
2.AWS CloudFormationテンプレートの実行(VPCの作成)
に進んでも大丈夫です。

SageMaker Studio コードエディタ環境出来上がり!

ハンズオン動画を見ながらVPCのCloudFormationスタックを作成している間に、
SageMaker Studio コードエディタのスタックが出来上がっていました。
参考ブログ通りに環境を立ち上げることができました。
image.png

2.AWS CloudFormationテンプレートの実行(VPCの作成)

あらかじめ用意されているテンプレートファイル(Zipファイル)をアップロードし、スタックを作成します。
10分ほどでリソース作成が完了しました。
image.png

3.スタックのリソースを編集

SageMaker Studio コードエディタで、ローカルファイルのアップロード方法

  1. 左の三本線 > File > Open file…
    image.png

  2. Show Localを選択する
    image.png

  3. ローカルのエクスプローラーが表示されるので、01_vpc.ymlファイルを選択
    image.png

SageMaker Studio コードエディタでテンプレートを編集します。
具体的には、サブネット名を変更していきます。

旧)PublicSubnet1
新)PublicSubnet1-update
image.png

寄り道話:論理IDの便利さ

矢印で示した箇所、
本来ならVPC ID(vpc-xxxxxxxxxxxxxxxxx) のような意味不明な文字列ですが、
AWS CloudFormationでは論理IDを記述できるため、どんなリソースなのかイメージがつきやすいですね。
image.png

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

スタック更新が成功し、コンソール上でサブネット名の変更が確認できました!!
image.png

まとめ

コンソールでポチポチすると、何度も画面を遷移したり、タブの移動があったりと面倒です。
CloudFormationではあっという間にインフラ環境を構築でき、編集も容易でした。
次回はVPCに引き続き、EC2、RDS、ELBも作成します。
ご覧いただけますと嬉しいです。

Last modified: 2025-06-07

Author