LoginSignup
2
2

More than 1 year has passed since last update.

AWS CloudFormationを使用してVPCを作成する

Posted at

内容

この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com
今回はCloudFormationを使用してVPCを作成してみたいと思います。

環境

mac OS Big Sur バージョン 11.4

実施順序

VS Codeの準備

今回はVS Codeを使用していきます。
  1. デスクトップに新規フォルダを作成する。(例. cloudformation)
  2. 作成したフォルダをVS Codeにドラッグ&ドロップする。
  3. 作成したフォルダ内に新規ファイルを作成する。(例. cloudformation.yml)

テンプレート作成準備

1からテンプレートに則って作成するには非常に時間がかかるので、VS Codeの拡張機能を利用して作成していきます。
  1. VS Code左メニューの拡張機能を選択(shift + command + x)
  2. 検索窓でcloudformationと検索
  3. 検索結果の一番上のCloudFormationをインストールする。
  4. command + ,で設定画面を開き、右上の設定(JSON)を開くボタンを選択する。
  5. settings.jsonファイルが出現するので、{}内に下記のコードを追加する。
詳細な説明は割愛しますが、VS CodeにCloudFormationの記述を教えてあげるイメージです。
"yaml.schemas": {
        "https://d33vqc0rt9ld30.cloudfront.net/latest/gzip/CloudFormationResourceSpecification.json": [
            "*.cf.yaml",
            "*.cf.yml",
            "*.cfn/*.yaml",
            "*.cfn/*.yml",
            "cloud*formation/*.yaml",
            "cloud*formation/*.yml"
        ]
    },
"yaml.customTags": [
    "!Ref",
    "!Sub scalar",
    "!Sub sequence",
    "!Join sequence",
    "!FindInMap sequence",
    "!GetAtt scalar",
    "!GetAtt sequence",
    "!Base64 mapping",
    "!GetAZs",
    "!Select scalar",
    "!Select sequence",
    "!Split sequence",
    "!ImportValue",
    "!Condition",
    "!Equals sequence",
    "!And",
    "!If",
    "!Not",
    "!Or"
  ],

CloudFormationテンプレートの作成

1. 先ほど作成したYAMLファイルの1行目にstartと入力してタブキーを押し、下記のような記述が出てくることを確認する。

AWSTemplateFormatVersion: 2010-09-09
Description: ---
Metadata: 

Parameters: 

Mappings: 

Conditions: 

Resources: 

Outputs:

2. Resources:の下の行にvpcと入力、いくつか候補が出てくるので、一番上のvpcを選択する。

Resources: 
  myVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: --.--.--.--/--
      EnableDnsSupport: true
      Tags:
        - Key: keyname
          Value: value
Outputs:

3. CIDRブロックの行を修正する。(例. CidrBlock: 10.0.8.0/21
4. タグの部分は修正してもしなくてもOK
5. 今回は最低限の設定で作成するため、Resources以外の箇所は削除して進めます。

AWSTemplateFormatVersion: 2010-09-09
Resources: 
  MyVPC2:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.8.0/21
      EnableDnsSupport: true
      Tags:
        - Key: Name
          Value: MyVPCfromCF
作成したテンプレートをCloudFormationに読み込ませていきます。
  1. AWSマネジメントコンソールからCloudFormationの画面を開く。
  2. スタックの作成タブから新しいリソースを使用(標準)を選択
  3. テンプレートの準備:テンプレートの準備完了を選択
  4. テンプレートソース:テンプレートファイルのアップロードを選択
  5. ファイルを選択から先ほど作成したYAMLファイルを選択
  6. 次へを選択
  7. スタックの名前を入力し、次へ
  8. オプションはデフォルトのままで次に進む。
  9. スタックの作成を選択
  10. 作成したスタックのステータスがCREATE_COMPLETEとなることを確認する。
  11. VPCの画面に移動して、VPCが作成されていることが確認できればOK
2
2
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
2
2