ちょっと話題の記事

アドベントカレンダー2013:AWS CloudFormationビッグバンテンプレートまとめ

2013.12.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS CFn templates 2013

お知らせ:
このエントリは英語圏対応として英訳エントリも同時公開しています。
Advent Calendar 2013:AWS CloudFormation Big Bang Template Summary | Developers.IO

2013年アドベントカレンダーとしてAWSコンサルチームが挑んだのが、便利なプロダクトをボタン一発で構築出来る『AWS CloudFormationビッグバンテンプレート』というお題でした。

advent-calendar-2013-cloudformation

お題を決めた時点ではAWSコンサルチームの面々も必ずしもCloudFormationをマスターしてる訳ではありませんでしたが、業務の傍らでチームで勉強会を開く等して気が付けばチーム全員AWS CloudFormationを使いこなすようになっておりました。途中バトンリレーが危ぶまれるところもあったりしましたが、無事に24日間を走り切る事が出来ました!(パチパチ~)

そこでこのエントリでは全24エントリを改めて一覧としてまとめ、CloudFormationの起動ボタンも一挙勢揃いさせてみました。CloudFormation起動させ放題、環境構築し放題です! *1

Developers.IO Advent Calendar 2013:
AWS CloudFormationビッグバンテンプレート一覧

Date Author Title&Link CloudFormation
12/01
(日)
miyamoto-daisuke #1 お手軽JMeterクラスター
- fullbok編 -

デモ用

本番用

12/02
(月)
mochizuki-masao #2 ワンクリックでお試し
- Selenium Server編 -

デモ用

本番用

12/03
(火)
shinyaa31 #3 素早く簡単に情報共有
- PukiWiki編 -

本番用

12/04
(水)
ootaki-ryuta #4 開発/本番の切替えをConditionsで実装!
- Deep Securityマネージャ編 -

本番用

12/05
(木)
ueki-kazuki #5 お手軽リソース監視
- Cacti編 -

デモ用

本番用

12/06
(金)
yokota-shinsuke #6 お手軽リソース監視
- Zabbix編 -

本番用

12/07
(土)
takekawa-tsutomu #7 s3fsでAmazon S3をファイルシステムとして扱う
- s3fs編 -

本番用

12/08
(日)
fukuda-tomonari #8 超高速でチャットサーバーを起動!
- ngIRCd編 -

本番用

12/09
(月)
watanabe-shuji #9 AWSで継続的インテグレーション
- Jenkins編 -

デモ用

本番用

12/10
(火)
akeri #10 えっ? ElasticSearchってAWSのサービスじゃなかったんですか!?
- ElasticSearch編 -

デモ用

本番用

12/11
(水)
mochizuki-masao #11 SerfでCDP実装
- HA-NAT編 -

デモ用

本番用

12/12
(木)
shinyaa31 #12 マス型エンターテイメントSNSを一発構築
- OpenPNE編 -

デモ用

本番用

12/13
(金)
miyamoto-daisuke #13 クローズド環境のGitHub欲しいよね!
- GitBucket編 -

本番用

12/14
(土)
ueki-kazuki #14 1クリックで毎日スナップショットを自動取得
- ソンナコトモアロウカト編 -

本番用

12/15
(日)
miyamoto-daisuke #15 ログをS3にひたすら溜めるんだ!
- fluentd編 -

デモ用

本番用

12/16
(月)
sumoke #16 お手軽ログ解析
- Kibana編 -

デモ用

12/17
(火)
watanabe-shuji #17 Multi AZでのMongoDB ReplSet
- MongoDB編 -

デモ用

本番用

12/18
(水)
miyamoto-daisuke #18 AP型NOSQLクラスターをAWSで
- Cassandra編 -

デモ用

本番用

12/19
(木)
miyamoto-daisuke #19 AWSで独自ドメインメール受信
- postfix編

デモ用

12/20
(金)
ootaki-ryuta #20 マルチリージョン構成を楽々構築!
- CloudFormation分割テンプレート編 -
github
12/21
(土)
mochizuki-masao #21 お手軽Githubクローンその2
- Gitlab編 -

本番用

12/22
(日)
takekawa-tsutomu #22 Amazon S3をFTP経由で利用
- s3fs発展編 -

本番用

12/23
(祝)
yokota-shinsuke #23 分散ファイルシステム
- GlusterFS編 -

本番用

12/24
(火)
yokota-satoshi #24 Tomcat7セッション永続化
- DynamoDB編 -

本番用

まとめ

一連のエントリを御覧になってAWS CloudFormationを使い始めてみよう...そう思った貴方!ぜひ以下のエントリを読む事から始めてみてください。

そして上記以外にも弊社ブログにはCloudFormationのエントリが盛り沢山!!AWS CloudFormationを使うとインフラ構築自体をスマートに効率良く進められたり、単純に楽出来たり、より一層扱う要素への理解を深める事が出来たりします。興味を持った方は是非是非、AWS CloudFormationを使い始めて見てください。

企画最後は、度重なる"暗躍"でアドベントカレンダー継続のピンチを救ってくれた都元ダイスケさんの総評で締め。

miyamoto-daisuke 本アドベントカレンダーの企画立案者、都元です。さて、CloudFormationビッグバンテンプレートと銘打って24本のテンプレートを乱発してまいりましたが、いかがでしたでしょうか。

CloudFormationは、AWS初級者(テンプレートを使う人)にとって、少々のパラメータの入力だけで1つの役割を果たすシステムを簡単に構築できるという大変敷居の低いサービスです。従って、名前は聞き慣れないかもしれませんが、AWSにあまり慣れていない人にこそ上手く利用して欲しいサービスだと思っています。

一方、AWS中級者の方は、これらを参考にして是非何かひとつテンプレートを書いてみてください。AWSの各プロダクトをCloudFormationの視点から捉えると、各プロダクトの構成要素(AutoScalingはAutoScalingGroupとLaunchConfigurationから成っている)とそのプロパティ(AutoScalingGroupはAZとMaxとMinと…から成っている)、相互関係(AutoScalingGroupがLaunchConfigurationを参照する)、が見えてくるので、各プロダクトをモデルとして理解できるようになる、という学習効果もあると思います。

また、AWS上級者、つまりガリガリとテンプレートを書く側の人たちにはそこそこの能力が求められます。cfn-initやWaitHandle等を 実用的に使いこなしているテンプレートに日本語の解説が付いた資料として、色々参考にして頂ければ幸いです。

最後に、各テンプレートはなるべく汎用的に、再利用しやすいこと、安定的に安心して利用できることを主眼に設計の指針を組みました。さらにこれらのテンプレートはGitHubに公開しています。それぞれのテンプレートをみんなでブラッシュアップできればと思っていますので、実際に使ってみてバグや改善点を見つけたら、是非issue作成やpull-request等のアクションを頂ければ幸いです。 実際、1本目のfullbokについては、既にpull-requestによる改善提案が行われています(近日中に新バージョンとしてリリース予定)。このreqは内輪からのものですが、広く世界中からの改善のご提案を、心よりお待ちしております。

メリークリスマス☆

脚注

  1. AWSアカウントの利用枠の範囲で適切にご利用ください。