LoginSignup
0
0

More than 1 year has passed since last update.

CloudFormationで遊んでみる(VPC編)

Posted at

概要

CloudFormationでVPCを作成します。

実装コード

vpc.yml
AWSTemplateFormatVersion: '2010-09-09' 
Description: vpc create
Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/24
  VpcCidrBlock:
    Type: AWS::EC2::VPCCidrBlock
    Properties:
      VpcId: !Ref VPC
      CidrBlock: 192.0.0.0/24
  VpcCidrBlockIpv6:
    Type: AWS::EC2::VPCCidrBlock
    Properties:
      VpcId: !Ref VPC
      AmazonProvidedIpv6CidrBlock: true

Outputs:
  VpcId:
    Value: !Ref VPC
  PrimaryCidrBlock:
    Value: !GetAtt VPC.CidrBlock
  Ipv6CidrBlock:
    Value: !Select [ 0, !GetAtt VPC.Ipv6CidrBlocks ]
  CidrBlockAssociation:
    Value: !Select [ 0, !GetAtt VPC.CidrBlockAssociations ]

作成インスタンス

vpcのリソース.png

スクリーンショット 2021-08-04 14.07.31.png

スクリーンショット 2021-08-04 14.10.54.png

コード解説

コード説明
①AWSTemplateFormatVersion:テンプレートのver。2010-09-09がデフォルトと思っておけばOK!!
②Description:作成テンプレートの説明。
③Resources:テンプレートで作成するAWSのリソースの一覧を明記する。
④Outputs:CloudFormationで作成した際の値を表示する事ができる。なかなか便利なやつ。

①と③だけ必須。他は任意で良い。

Resourcesの中身
Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/24
  VpcCidrBlock:
    Type: AWS::EC2::VPCCidrBlock
    Properties:
      VpcId: !Ref VPC
      CidrBlock: 192.0.0.0/24
  VpcCidrBlockIpv6:
    Type: AWS::EC2::VPCCidrBlock
    Properties:
      VpcId: !Ref VPC
      AmazonProvidedIpv6CidrBlock: true

作るリソースは下記3点
①VPC
②VpcCidrBlock
③VpcCidrBlockIpv6

VPCの説明

Properties:
 CidrBlock: 10.0.0.0/24

CIDRとは、インターネット上のIPアドレスの割り当てと経路選択(ルーティング)を柔軟に運用する仕組み。IPアドレスのクラス分けを廃止し、組織の規模に応じて割り当てるアドレスの数を柔軟に選択できるようにした上で、アドレスブロックをグループ化して経路情報を集約するようにしたもの。(引用元)
早い話が、IPアドレスはどこのネットワークのどの端末であるかを示すためのもの。で、どこまでがNWアドレスでどこまでがホストアドレスなのかを判断するために、CIDRがある。今回の例だと24なので、24ビットまでがネットワークアドレスになる。
今回の例は「10.0.0.0/24」、ネットワークIPは「10.0.0.0」。ネットワークの計算はリンク先からできるので、試して見ましょう。
スクリーンショット 2021-08-04 14.31.03.png
よくよく考えてみると②と③はいらなかったなぁ。

0
0
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
0
0