内容
この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com
今回はCloudFormationを使用してVPCを作成してみたいと思います。
環境
mac OS Big Sur バージョン 11.4
実施順序
VS Codeの準備
今回はVS Codeを使用していきます。
- デスクトップに新規フォルダを作成する。(例. cloudformation)
- 作成したフォルダをVS Codeにドラッグ&ドロップする。
- 作成したフォルダ内に新規ファイルを作成する。(例. cloudformation.yml)
テンプレート作成準備
1からテンプレートに則って作成するには非常に時間がかかるので、VS Codeの拡張機能を利用して作成していきます。
- VS Code左メニューの拡張機能を選択
(shift + command + x)
- 検索窓で
cloudformation
と検索 - 検索結果の一番上の
CloudFormation
をインストールする。 -
command + ,
で設定画面を開き、右上の設定(JSON)を開く
ボタンを選択する。 -
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に読み込ませていきます。
- AWSマネジメントコンソールからCloudFormationの画面を開く。
-
スタックの作成
タブから新しいリソースを使用(標準)
を選択 - テンプレートの準備:
テンプレートの準備完了
を選択 - テンプレートソース:
テンプレートファイルのアップロード
を選択 -
ファイルを選択
から先ほど作成したYAMLファイルを選択 -
次へ
を選択 -
スタックの名前
を入力し、次へ - オプションはデフォルトのままで次に進む。
-
スタックの作成
を選択 - 作成したスタックのステータスが
CREATE_COMPLETE
となることを確認する。 - VPCの画面に移動して、VPCが作成されていることが確認できればOK