見出し画像

【保存版】AWS CloudFormationを使ってVPCの作成・差分確認・削除をしてみよう!

こんにちは、CryptoGamesの高橋です。
クリスペというサービスを行っている会社です。

今回はCloudFormationを扱っていこうと思います。

AWSのリソースをあらかじめ定義していたファイルを使って簡単に作れるようになります。

今回は、簡単なVPCを自動で作成してみようと思います。

0 前提知識

今回はVPCを作ったことがあるCidrBlockについてもわかるよーという方をイメージして書いています。

ただ、前提知識が現在なくとも、手を動かすことでおおよそのイメージは掴めるのではと思います。

1 テンプレートを作ろう

どんなAWSのリソースを作るのかを定義するyamlファイルを作っていきます。

これはテンプレートファイルと呼ばれます。

一見難しそうですが、「AWSTemplateFormatVersion」ではお決まりのバージョンを書きます。('2010-09-09')

今回はVPCを作りたいので、「Type」「AWS::EC2::VPC」と書きます。

後から特定がしやすくなるように「Tags」でタグの設定もしています。

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  myVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      Tags:
        - Key: 'Name'
          Value: 'my-vpc'

できましたら、デスクトップなどに保存しておいてください。

2 スタックを作ろう

では、準備ができたので、さっそく作っていきましょう。

まずは「スタックの作成」

次に、先ほど作ったテンプレートファイルをアップロードして、「次へ」

「スタックの名前」に任意の名前をつけて、「次へ」

「スタックオプションの設定」は今回は特に変えずに「次へ」

「レビュー○○」で中を確認し、「スタックの作成」

こんな画面になります。

少し待ってから更新すると、このように作成が完了しました!

3 自動作成されたVPCを見に行こう!

では、VPCを見にいきましょう。

このようにテンプレートファイルで定義し、スタックを作成したVPCが作られています!

4 テンプレートとスタックのズレを確認しよう!(ドリフト)

今回は簡単なVPCを作りましたが、作った後にVPCの内容が手動で変更されるかもしれません。

そのような変更を確認できるのが「ドリフト」です。

4ー1 変更をしていない場合のドリフトの確認

「スタックドリフトの検出」を押します。

今回は、何も変更していないので、「ドリフトステータス」「IN_SYNC」となっています。

4ー2 変更をした場合のドリフトの確認

では、変更した場合にどうなるのかを見てみましょう。

下のようにVPCタグ「value」の値を変えてみました。

この状態で「スタックドリフトの検出」を行うと、下のように「ドリフトステータス」「DRIFTED」になりました。

「ドリフトの詳細を表示」も見てみましょう

このように、どこがどう変わったかまで確認することができます。

5 スタックの削除とリソースの関係

では、今回作ったスタックを削除するとリソースはどうなるでしょうか?

やってみましょう。

スタックを選択し、「削除」を押します。

ポップアップが出てきます。

「スタックを削除すると、全てのスタックリソースが削除され」ると書いてあります。

「スタックの削除」を押します。

これでスタックは削除されました。

では、VPCを見に行ってみましょう。

このように、先ほど削除したスタックでできたVPCが消えていました。

このように、スタックを削除すると、それを元に作ったリソースも消えるということは押さえておきましょう。

6 クリーンアップをしましょう

では、最後にクリーンアップをしましょう。

第5章でCloudFormationのスタックを消しましたが、残っていましたら、不要なものは削除しましょう。

その他、S3内にも今回作ったテンプレートファイル用バケットがありますので、そちらも不要なら削除しましょう。


今回は以上です。

最後までありがとうございました。


サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊