内容
この記事は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