![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNOq9h2ZtthmrZXxcOzqLuFNcD_QGjH-Ci2HBWH4dII5zaHEC4cYom8gGM1Zh-V6b3QTU2VCDTcVe4QGQv4Argz8uBXkdGxTqk0wXVdXHZFif6jpf_8z3ob4JyFpkueSigYSz1MRs4I9xp/s1600/awslogoss.png)
AWSのCloudformationのテストケース:
シンプルなネットワークを構築してみます。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhevvp-c-mPiiHU2O8RuY4OpWqAMgXfdbsST3Gb6mZsG1cocKhagE5IAdnjFQ5hYn0Tmht00v6pdeNhMXyGHEDXVoiQvLcfSBm4c8UYZbnxdWDlnC1wWOL5J6tEq2yPKmUben7zNIwkbN6N/s1600/awslogo.png)
Cloudformationの練習を行っています。
VPCの構成概要
Cloudformationのテスト・サンプルをつくります。Cloudformationのテストパターンですので、構造はシンプルにしておきましょう。
ターゲットとするVPCゾーンは、10.81.0.0/16にします。
構造は、マルチAZで分散させておきます。
大まかには、10.81.254.0/24には、ELBやNATインスタンスや外部ログイン用ゾーンとしてグローバルアクセスできるパブリックネットワークとしようと思います。
その他は、プライベートネットワークとしてゾーンを構成することにします。
Webサーバへの経路は、ELB→Webサーバー、データベースはRDSを使うことを想定です。
プライベート・ネットワークのインスタンスへは、VPNゲートを経由でアクセスするようにしますが、ネットワークダウン時に外部からアクセスできるようにログインサーバも配備できるようゾーンだけは用意しておきます。
プライベート・ネットワーク側のインスタンスからは、NATインスタンス経由で外部へのアクセスをできるようにします。
NATインスタンスは、Amazon-LinuxのNAT用AMIを使います。 ただし、NATインスタンスが使うグローバルIPは起動の度に変化するようauto-assignで生成しましょう。
構成確認用のVPCもできるように
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_G75iC5VnrlAjr2zeys8c39Bx5f6U9wFOwL-w_hA6ZtZbexRdFwThHnIGeIhoiIeDNovCVUMtbWcUtzsHmeFCt9O4By8H0yVmKDKl9MleESazUbx3slemFFlrkGMjpwfaQdpsNZ4sEItp/s1600/cloudformation-validation+(1).png)
ターゲットのVPCは10.81.0.0/16ですが、cloudformationのJSONファイル検証用には10.181.0.0/16で作成・チェックを行った後にターゲットVPCの10.81.0.0/16を生成させようと思います。
Cloudformationスタックを生成する際に選べる(もしくは指定できる)ようテストします。
インスタンスのプロビジョニングもCloudformationで行ってみようと考えていますが、Amazon Linuxにはansibleやchefも組み込まれるようになりましたのでそれらを使うのもいいのですが、CloudformationのJSONでどれくらい面倒かを確認しようとおもいますので、cloud-initをつかったプロビジョニングで組み込みしてみましょう。
プライベート・ゾーンには、プライベートサーバを配置できるゾーンを2つ構成します。
こんな感じをぼちぼち作っていきます。