CloudFormationのテンプレート管理に、GitHubを利用する方は多いと思います。GitHubのバージョン管理やCIワークフローはパワフルなので、システムごとのテンプレート運用には効果的です。
しかし新しいシステムに別案件のテンプレートを流用したいと思った時、案件毎に分かれたリポジトリを探るのは結構大変です。記憶を頼りにリポジトリを開いていく作業は場当たり的で無駄が多いし、やっと見つけてカスタマイズを済ませた後、より最適なテンプレートが別にあったことに気づいたりすると、本当にげんなりします。
よって今回はCloudFormationテンプレートの流用性を向上させるために、それらを見通しよく整理する方法をご紹介します。
#1. ForkMe!にテンプレートをアップロードする
テンプレートの整理に、クラウドの設計監理に特化したForkMe!(フォークミー)というツールを使います。JSON/YAMLファイルのインポートに対応しているので、手元のテンプレートをとりあえずどんどんアップロードして、それらを一覧化することができます。またその名が示す通り設計をフォーク(複製)するためのツールなので、テンプレートの流用を考えている方にとって便利な機能が色々あります。
###1-1) まずはここから会員登録します。無料です。
###1-2) 「新しい設計」ボタンをクリックします。
###1-3) 手元のCloudFormationテンプレートをアップロードします。
アップロードエリアにドラッグ&ドロップするか、「アップロード」ボタンを押してCloudFormationテンプレートを投入します。タイトルを決めたら「作成」ボタンを押して、次へ進みましょう。
- なおスマートフォンではこの操作ができないので、PCで開いてください
- 壊れたJSON/YAMLファイルはアップできません。
- 日本語を除くファイル名が同じ場合はどちらか一方だけがアップされます。例えば「ファイル1.json」と「テスト1.json」はどちらも「1.json」なので、両方はアップできません。
- 最大10ファイルまで選択できるので、1つの設計を複数のテンプレートに分割している場合は一括でアップロードできます。
###1-4) 保存します。
色々表示されますが、まずは気にせず保存ボタンを押し、アップロードを完了させましょう。なお意図的に公開するか閲覧者を招待しない限り、設計は常に**「非公開」**です。あなた以外は閲覧できません。
以上でテンプレートが登録されました。
#2. ForkMe!にアップしたテンプレート集を活用する
一覧ボタンを押すと、先ほどの設計が表示されます。まずはお手元のテンプレートをアップしてあなただけのテンプレート集をつくりましょう。テンプレートが一覧化されることで、大分見通しがよくなると思います。
再利用したい場合には「ForkMe!」ボタンを押すだけで、その設計に含まれるテンプレート一式がフォーク(複製)され、編集を始めることができます。
なおアップロードされたテンプレートは以下のような機能が使えるようになるので、詳しくはマニュアルを見てください。
- テンプレートに含まれるAWSリソースの一覧化と、概算コストの見積もり
- テンプレートの編集(JSONまたはYAML)
- テンプレートの構文チェック(JSON形式のみ)
- テンプレートの静的解析
- フォーク(複製)
- ダウンロード
- 権限設定(共同編集者の招待、公開/非公開)
#3. 最後に
まずはお手元のCloudFormationテンプレートをアップロードしてみてください!
次回はForkMe!を使って、テンプレートの探しやすさをもう一段レベルアップさせる方法をご紹介します。
#4. 参考
CloudFormationのテンプレートを速攻で探しやすく整理する(2)
ForkMe!について https://reindeer.tech/ja/index.html#forkme
ForkMe!会員登録ページ https://forkme.cloud/ja/signup/
ForkMe!トップページ https://forkme.cloud/ja/
ForkMe!マニュアル https://docs.reindeer.tech/forkme_ja.html
クラウドデザイン仕様 https://docs.reindeer.tech/index_ja.html