
- ライター:柏 澤聞
- 金融、公共系のネットワーク設計、構築を経験した後、ネットワンシステムズに入社。
現在は自動化推進の一環としてトレーニング環境の整備や知財の蓄積に取り組んでいる。
目次
「Ansibleが動く環境をAWS上に作ります」を前編と後編に分けてお届けします。
はじめに
- Ansibleを学習したいが、実際に触れる環境がない
- Ansibleを使ってみたいが、環境を構築する知識がない
- Ansibleが動く環境を構築できる知識はあるが、ハードウェアがない
というようにAnsibleを使ってみようと思っても、まずは動く環境を用意する必要があり、抵抗を感じる方もいらっしゃるのではないでしょうか。
そこで、Terraformを利用してAWS(Amazon Web Services)上にAnsibleを動かせる環境の作成方法をご紹介します。
Terraformとは?
例えば、ある環境を構築、すでに構築された環境に対して設定変更、バージョンアップなどを人間の手で作業、管理するのは大変です。
その手作業を命令するだけで、代わりにやってくれる便利なソフトウェアが世の中に存在し、一般的に「構成管理ツール」と総称されます。
Terraformとは簡単にいうと、「構成管理ツールの一つ」です。
Ansibleも構成管理ツールでは? どう違う?
Ansibleでは、Playbookというあるプロセスの一連の手順を記述した、いわば手順書のようなものを使用します。
PlaybookはYAML形式で表現され、プログラムやスクリプトのようなコードではなく、複数の構成やプロセスを一列に並べて処理することを意図しています。
下記のようにPlaybookでは一連を順番に記述する必要があります。

一方、Terraformでは構成をコードで宣言します。この宣言した内容に従い環境に対する構築、更新、破棄を実行します。
そのため、煩雑な構築手順を意識することなく、宣言した内容の状態にすることができ、すでに構築済みの環境に対しても追加、削除が容易にできます。
以下のような2つのコードをそれぞれ別のファイルで記述しても、VPCから作成されます。
- VPC作成

- PrivateSubnet作成
また、AnsibleはLinuxの様々なモジュールやライブラリを必要とし、WindowsのOSに対応していません。
TerraformはHashiCorpによってGo言語で開発されたため、Windowsでも使用できます。
次回
今回は簡単にTerraformについて説明しましたが、次回は実際に作ってみようと思います。
作るもの
- VPC(Virtual Private Cloud)を作成
- 作成したVPCでルーティング、ゲートウェイを作成
- PrivateSubnetを作成
- セキュリティグループを作成
- EC2にて仮想マシンのインスタンスを作成
最終的な構成
※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。