AnsibleによるEC2・VPC環境構築(その1)

未だにNintendo Switchが買えないSIOS Coati 開発チーム、沼野井です。もうニンゴジラは見たくない!

本日は、AnsibleによるAWS EC2・VPC環境構築についてお話ししたいと思います。

コマンドベースの環境設定ツールとしてすっかりメジャーになったAnsible。Playbookというファイルにお願いごとを書いておいてコマンドを実行すると、夜までまたずともすぐに叶えてくれる、7人の小人以上よりも便利なナイスガイ。
近年、開発元を赤い帽子のあの会社が買収するなどメジャー街道を驀進中です。

私は、Ansibleの

  • シンプルなところ
  • 色々なモジュールが用意されているところ
  • PythonベースでGithubにソースが公開されているので何か起きても結構調べられちゃうところ

が気に入っています。

Ansibleの公式ドキュメントはこちらをどうぞ。
公式ドキュメントは英語なんですが、日本語の書籍やWebサイトが多く存在します。それもまた良いところですね。


実は、何を隠そう、SIOS Coatiでも、本番環境・テスト環境の構築をAnsibleで行っています!
まぁ、ここまで前振りして使ってなかったら逆にびっくりですが…

というわけで、今回は、SIOS Coatiの監視環境を自動作成するのに使っている、AWS用のモジュールについてご紹介します。
AWSで繰り返し環境を構築したいけどマニュアルでやってるよ・・という方の参考となれば幸いです。

SIOS Coatiの基本的な監視環境は、以下の通りです。

作業と、それに使うモジュールは以下の通りです。

Coati ManagerのVPC関連の設定

# 作業 モジュール名
1 VPCの設定 ec2_vpc_net
2 subnetの設定 ec2_vpc_subnet
3 ルートテーブルの設定 ec2_vpc_route_table
4 インターネットゲートウェイの設定 ec2_vpc_igw
5 セキュリティグループの設定 ec2_group

Coati ManagerのEC2インスタンスの設定

# 作業 モジュール名
6 インスタンスの設定 ec2

Coati ManagerのVPC Peeringインスタンスの設定

# 作業 モジュール名
7 VPC Peeringの設定 ec2_vpc_peer

Ansibleの標準モジュールだけで一通りできてしまって、楽チンなことこの上ありません!

上記のほかにも、様々なモジュールが用意されていますよ!

AnsibleのAWS関連モジュール一覧

 

本日ご紹介したモジュールを利用した、実際のplaybookについては、次回ご説明したいと思います。


 

最後にまた宣伝で恐縮ですが

弊社では、Ansibleについてのテクニカルサポートをご提供しております!

 

SNSでもご購読できます。