0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS CloudFormation】VPCをデプロイしてみた

0
Posted at

はじめに

今回はCloudFormationの基礎の復習をかねて、AWS上にVPCをコードでデプロイしてみました。

CloudFormationの基礎をまとめた記事もございますので、ぜひご参照ください。

今回のゴール

test.png

テンプレートを作成する

すべてのAWSリソースの記述法を暗記することは難しいため、公式ドキュメントを参照しながら記述していきます。
(そのままコピペして使えるExamplesもあるため、活用します)

test.yml
AWSTemplateFormatVersion: "2010-09-09"
# 「AWSTemplateFormatVersion」にはテンプレートのフォーマットバージョンを指定します。
# 必須ではありませんが、将来の互換性を考慮して記述しておくことが推奨されています。

Description: Basic VPC
# 「Description」テンプレートの説明文を記述します。
# 必須ではありませんが、可読性を高めるためにも記述しておくことが推奨されています。

Resources:
  myVPC: # このテンプレート上で参照する際の名前タグです
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      Tags:
       - Key: Name
         Value: test-vpc

# AWSコントロール上で手動で作成した場合の「名前タグ」「IPv4 CIDR」のみを定義しています。

スタックを作成する

AWSコンソールに移動し、

①CloudFormation > スタック に移動します。
②「スタックの作成」タブを開きます。
新しいリソースを使用(標準)を押します。

SCR-20260412-nddp.png

既存のテンプレートを選択を選択します。
テンプレートファイルのアップロードを選択します。
③作成したテンプレートを開きます。
次へを押します。

SCR-20260412-neim.png

①「スタック名」を入力します。
次へを押します。

SCR-20260412-nfha.png

スタックオプションの設定は今回はデフォルトのままで次へを押します。

SCR-20260412-nfvy.png

「確認して作成」画面の内容を確認し、問題なければそのまま送信を押します。
しばらく待つと、スタックの作成が完了しました。

SCR-20260412-nhca.png

作成されたリソースを確認・比較してみた

比較のために、AWSコントロール上で手動で作成した場合の結果はこちらです。
・「名前タグ」をtest-vpcに設定する
・「IPv4 CIDR」を10.0.0.0/16に設定する
その他はすべてデフォルトのままで作成しました。

SCR-20260412-mysm.png

そして、今回CloudFormationテンプレートで作成した結果がこちらです。
IDは違うものの、完全に一致しました!
(セキュリティ上モザイクでわかりにくくなってしまい申し訳ありません)

SCR-20260412-ning.png

スタックを更新してみた

テンプレートのNameタグを「test-vpc」から「test-vpc2」に変更してみました。

test.yml
AWSTemplateFormatVersion: "2010-09-09"
# 「AWSTemplateFormatVersion」にはテンプレートのフォーマットバージョンを指定します。
# 必須ではありませんが、将来の互換性を考慮して記述しておくことが推奨されています。

Description: Basic VPC
# 「Description」テンプレートの説明文を記述します。
# 必須ではありませんが、可読性を高めるためにも記述しておくことが推奨されています。

Resources:
  myVPC: # このテンプレート上で参照する際の名前タグです
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      Tags:
       - Key: Name
         Value: test-vpc2

# AWSコントロール上で手動で作成した場合の「名前タグ」「IPv4 CIDR」のみを定義しています。

①再びCloudFormation > スタック に移動します。
②対象のスタックにチェックを入れます。
③「スタックを更新」タブを開きます。
変更セットを作成を押します。

SCR-20260412-noqp.png

標準変更セットを選択します。
既存のテンプレートを置換を選択します。
③テンプレートファイルのアップロードを選択します。
④編集後のテンプレートをアップロードします。
次へを押します。

SCR-20260412-npwb.png

「変更セットの詳細」はデフォルトのままで次へを押します。

SCR-20260412-nquq.png

「変更セットオプションを設定」も今回はデフォルトのままで次へを押します。

SCR-20260412-nrgl.png

「変更セットをレビュー」を確認し、そのまま変更セットを作成を押します。

SCR-20260412-nsen.png

①「リソースの変更」に表示されているリソースを選択すると、
②変更内容を事前にプレビューすることができます。
(この段階ではまだ変更は実行されていません)
③「置換」項目は、この変更によって既存のリソースを「削除→新規作成」する必要があるかを示しています。
(今回はNameタグの変更のみなので、既存リソースは削除されません)

SCR-20260412-nuhf.png

問題なければ変更セットを実行を押します。

SCR-20260412-nvcc.png

しばらく待つと、変更が反映されていることが確認できました。

SCR-20260412-nwbf.png

スタックを削除する

①CloudFormation > スタック に移動します。
②削除したいスタックを選択します。
スタックを削除を押します。

SCR-20260412-nxjc.png

①画面の指示に従い入力します。
スタックを削除を押します。

SCR-20260412-nxyw.png

しばらく待つと、スタックが削除されました。

SCR-20260412-nyqd.png

また、今回作成VPCに紐づくように自動作成された
・ルートテーブル
・ネットワークACL
・セキュリティグループ
も合わせて削除されたことが確認できました。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?