AWS開発でいつまでもコンソール画面からポチポチやるわけにはいかず、構成をテンプレート化し、いつでも同じ環境をサックとやれるようにAWS CloudFormationを使うわけですが、このAWS CloudFormation思った以上に難しいです!
だいたいググって出てくる情報はコンソールからの説明だったり、公式ドキュメントはわけわからん単語のオンパレードでひたすらググって、ググってみたいな日が続きます。
そんな中、僕が見つけたCloudFormationを楽に作る方法を紹介します。
初めからCloudFormationのドキュメントを見て作るのではなく、初めはコンソール画面から使って期待通りの動きをするものを一度、作ってしまった方が理解が早いです。
一番わかりやすいAWS::IAM::Role
で試していきます。
コンソールのIAMからロールへと移動し、ポリーシーのシュミレートを選択。
このポリシーシュミレーターは作成したポリシーが正しく動くのかを予め確かめることができるので、便利です。
ここで、ポリシーをチェックしたら、今度は、これをYAMLに直します。使うのはaws-cfn-template-flipです。
aws-cfn-template-flipはCloudFormationのテンプレートをJSONとYAMLに変換してくれる優れものです。CloudFormationのテンプレートはYAMLの方が見やすいのですが、ポリシーのシュミレートではJSON形式なので、これを使って直していきます。
% pip install cfn-flip
% cfn-flip test.json test.yml
先ほど作ったYAMLを参考にすればCloudFormationも作りやすくなると思います。