【AWS CloudFormation】VPCまわりのスタック作成手順をご紹介

AWS全般

久しぶりの投稿となります。最近はAWS関連で個人への仕事のご依頼も多く、自身のアカウントで検証環境を構築する機会が増えました。VPCやEC2などのリソースを整理する為、個人アカウントのインフラ環境をコード化するようにしています。

AWS CloudFormation操作の備忘も兼ねて、AWS環境の構築に必要な操作などをまとめていきたいと思います。初回は、VPCまわりのスタック作成手順について書いていきます。

CloudFormationスタックの作成手順

スタックの作成手順

AWS CloudFormationのスタックはymlファイルで作成できます。AWSコンソールにymlファイルをアップロードすることで、簡単にスタックを作成できます。そのほか、コマンドラインからも作成することが可能です。

私は、cloud9を使用してAWS CLIコマンドでスタックを作成しました。Cloud9やAWS CloudFormationスタック作成の環境構築手順を簡単にご紹介します。

1.Cloud9を作成する

下記の記事を参考にしてCloud9を作成しております。

【Cloud9】AWSコンソールからIDEを作成する手順
業務でTerraformを扱う案件を担当することになった為、AWS Cloud9でIDEを作成しました。なぜ、Cloud9かと言うと、社内の別案件でCloud9とTerraformを使用したAWSリソース管理をしているからです。私...

2.Cloud9のサーバにymlファイルを配置する

今回は手動でサーバにymlファイルを作成しました。ファイル名は「vpc.yml」としました。一般的にはCodeCommitやGitリポジトリでファイルを管理する方法が多いかと思います。

CloudFormationスタックの作成

スタックの作成はAWS CLIで実行できます。コマンドは下記を使用しました。

$cd <vpc.ymlを配置したディレクトリ>

$ aws cloudformation create-stack --stack-name cloud-vpc --template-body  file://vpc.yml

コマンド実行後、2分程度でCloudFormationスタックが作成されました。
–stack-nameで指定した名前が、スタック名となります。

ymlファイルの中身について

今回は、スタック作成の手順をメインとしているので、ymlファイルの中身については一部抜粋したものをご紹介します。

AWSTemplateFormatVersion: 2010-09-09
Description: template for VPC

Resources:
  CFnVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      InstanceTenancy: default
      EnableDnsSupport: true
      EnableDnsHostnames: true
      Tags:
        - Key: Name
          Value: cloud-vpc

  PublicSubnet1:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: 10.0.0.0/24
      VpcId: !Ref CFnVPC
      AvailabilityZone: !Select [ 0, !GetAZs ]
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: PublicSubnet1-update

#以下省略

ymlファイルの中身については、AWS公式のWEBサイトを参照ください。VPC作成スタックでは、VPC、サブネットのほか、ルートテーブルやインターネットゲートウェイも設定しています。

まとめ

今回は、AWS CLIでVPCまわりのCloudFormationスタックを作成する手順をご紹介しました。次回は、作成したVPC内に、別のスタックを使用してEC2を作成する手順をご紹介できればと思います。

タイトルとURLをコピーしました