今回はインフラストラクチャを構成する際に一番最初に作成するリソースだと思われるVPCのテンプレートを書いてみました。
AWSアカウントを取得したばかりの時にデフォルトで用意されているVPCとサブネットは全てパブリックな設定になっています。
検証環境や個人的な利用程度であればそれでも問題ないのですが、商業的なサービスを展開したり個人情報を扱うなどの場合は外部からのアクセスを遮断できるプライベートなサブネットを用意することが望ましいでしょう。
今回作成する環境は東京リージョンでアベイラビリティゾーンにそれぞれパブリックサブネットとプライベートサブネットを構築します。
プライベートサブネット内のリソースはNATゲートウェイを経由して外部のネットワークと通信することが可能ですが、外部のネットワークから直接アクセスすることはできません。
データベースサーバやバックエンドサーバなどはプライベートなサブネットに配置して、パブリックなサブネットに構築したロードバランサーなどを経由したアクセスを実現すると安全になりますね。
◆Github (テンプレートはこちら)
https://github.com/noname-work/aws-cloudformation/tree/master/vpc
VPC作成時のパラメータ

VPCCidrBlock | 構築するVPCのCIDRを指定します。既存のVPCと被らない範囲の指定が必要です。 |
PublicSubnetACidrBlock | VPCのCIDRブロックの範囲内でパブリックサブネットに割り当てるレンジを指定します。(AZ-a) |
PublicSubnetCCidrBlock | VPCのCIDRブロックの範囲内でパブリックサブネットに割り当てるレンジを指定します。(AZ-c) |
PrivateSubnetACidrBlock | VPCのCIDRブロックの範囲内でプライベートサブネットに割り当てるレンジを指定します。(AZ-a) |
PrivateSubnetCCidrBlock | VPCのCIDRブロックの範囲内でプライベートサブネットに割り当てるレンジを指定します。(AZ-d) |
今回はサブネットの切り分けを手動で行っていますが、Fn::Cidrを使うとパラメータを省略できます。
構築後
CloudFormationを実行後、サブネットが切り分けられていることとルートテーブルが正しく設定されていることを確認してください。
お金に関する注意点
今回作成するリソースではプライベートサブネットをネットワークに疎通させるためにNATゲートウェイを利用しています。
NATゲートウェイの利用はAWSアカウント1年間無料の対象に含まれていません。
さらにNATゲートウェイは起動時間+通信量で料金が発生します。
1つのNATゲートウェイを1ヶ月起動し続けるだけでおよそ3,500円かかります。
今回はプライベートサブネットの数だけNATゲートウェイを起動するため、1ヶ月あたり7,000~10,000円ほどかかります。
そのため個人利用では不要になったら削除することをおすすめします。
コメントを残す