むらじゅん風呂具

ITエンジニアとたまに歌手と司会などで活動する村中淳のブログ

【AWS】CloudFormation を利用したVPCの作成をしてみた

年明け仕事開始日。
年末年始の勢いをそのままにAWSナレッジを溜めていきます。

今日は平日の仕事帰りにもサクッと出来る、
CloudFormation を利用してVPCの作成を実行してみる。

CloudFormation を使ってみる

CloudFormationとは、
EC2、ELBなどの各種リソースを設定ファイルに従い自動で作成するサービス。

・テンプレートファイルの用意

以下のテンプレートファイルを用意

AWSTemplateFormatVersion: '2010-09-09'
Description: 'CloudFormation Sample'
Resources:
# VPC
  SampleVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: '10.1.0.0/16'
      EnableDnsSupport: 'true'
      EnableDnsHostnames: 'true'
      InstanceTenancy: 'default'
      Tags:
      - Key: Name
        Value: 'murajun-cf-sample-vpc'

各項目について

・AWSTemplateFormatVersion
テンプレートの形式バージョンを指定 記事を書いている2020年1月6日、2010-09-09 が唯一の有効値

・Description
テンプレートの説明を記入

・Resources
スタックに含めるリソースを宣言
その下に今回作成するVPCのオプションを記載
パッと見て気になるのをピックアップ

・EnableDnsSupport
VPC に対して DNS 解決がサポートされているかどうかを示す

・EnableDnsHostnames
VPC 内に起動されるインスタンスDNS ホスト名を取得するかどうかを示す

・InstanceTenancy
VPC 内に起動されるインスタンスの許可されているテナンシー
"default": VPC で起動されたインスタンスはデフォルトでは共有ハードウェアで実行

※参考ドキュメント AWS::EC2::VPC

・マネジメントコンソールからファイルアップロード

スタックの作成 をクリック

f:id:pj124183:20200106203944p:plain

スタックの作成画面に進むので、以下入力

・前提条件 - テンプレートの準備
テンプレートの準備完了

・テンプレートの指定
テンプレートファイルのアップロード

・ファイルの選択
作成したyamlファイルを選択

そのまま次へ

f:id:pj124183:20200106204348p:plain

スタックの詳細を指定 画面に進むので、
ここではスタックの名前を入力後、次へ

f:id:pj124183:20200106204612p:plain

スタックオプションの設定画面になるが、
ここは何も入力せず、次へ

最後にレビュー画面が出てくるので、画面下の[スタックの作成]をクリック

とすると、設定したスタックのイベントタブが開かれて、
ステータスが表示される

f:id:pj124183:20200106205014p:plain

しばらくすると、CREATE_COMPLETE と表示されるので、
VPCの画面をみると作成を確認

f:id:pj124183:20200106205343p:plain

仕事帰りにもサクッと試せるCF

やっぱり仕事が始まってしまうとブログでのアウトプットする時間も限られるが、
今は質より量、自分史上初でサクッと試せるものをこなし、
週末で復習するような姿勢と望みたいと思った次第。

今回、以下のクラスメソッド 様の記事を参考にさせていただきました。
わかりやすくてさすがです。もっと詳細知りたい方はぜひご一読ください。

dev.classmethod.jp