[アップデート] AWS CloudFormation の IaC ジェネレーターがマネジメントコンソールでも使えるようになってました

2024.02.03

いわさです。

昨日、CloudFormation の API を使って既存リソースからテンプレートを生成出来るようになったアップデートを紹介しました。

なかなか熱いアップデートだなと思いつつ、欲を言えば Former2 みたいに GUI で、マネジメントコンソールから出来たら完成だな。とみんな思ったと思いますが、さっき出来るようになったみたいです。

CloudFormation 公式ドキュメントの更新履歴の RSS、みなさん購読してると思いますが、先程更新の通知が来ていましたね。

昨日紹介した CloudFormation IaC ジェネレーターに関する公式ドキュメントページが用意されていました。

読んでみると、なんとマネジメントコンソールでも出来るようなことが書いてあります。
早速マネジメントコンソールを確認しにいってみることに。ちなみに昨日のブログを執筆した時点ではマネジメントコンソール上には何も反映されていなかったことを確認しています。

IaC ジェネレーターのメニューが追加されていた

なんと IaC ジェネレーターのメニューが新しく追加されています。うおー。

確認してみると昨日作成したテンプレートや、その後 AWS CLI から実施していたスキャンコマンドの結果が反映されています。
スキャンの開始やテンプレート作成がこの画面から行えそうなので、どうやら昨日 AWS CLI で操作出来ていたことは既にマネジメントコンソールで実現出来るようになったようです。すごい。

生成済みのテンプレートを確認してみる

昨日作成したテンプレートを選択し確認してみましょう。
テンプレートの定義タブからテンプレート内容を確認出来ますね。ここからダウンロードやコピー、スタックへのインポートが出来るようです。

「スタックへのインポート」操作を行おうとすると普段のスタック作成画面と似た画面に遷移しました。
既に選択したテンプレートが読み込み済みです。このままスタック作成が可能です。

CLI での操作と同じくテンプレートは JSON と YAML で切り替えが可能になっています。

テンプレートリソースタブは、テンプレートに含まれているリソースが列挙されていますね。
これは確認しやすくて非常に良いですね。

AWS CDK の作成機能は...なかった

気になるのは公式ドキュメントの更新履歴にあった「AWS CDK」という記述とこの AWS CDK タブです。
AWS CLI では CloudFormation の生成機能でしたが、もしかして CDK アプリのエクスポートが出来たりするのか。

確認してみるとcdk migrateのコマンドが紹介されているだけでした。

テンプレート作成機能がとても良い

テンプレート生成機能がかなり良かったので見て欲しいです。
昨日 AWS CLI から実施した際には識別子やデータタイプの指定などで、ちょっと大変そうな印象でしたが、そのあたりの課題が全部解決されていました。

テンプレートの作成を開始するとまずは基本事項を入力します。
テンプレートの名前と削除ポリシー、置換ポリシーを指定します。

そして、昨日の記事の最後に少し記載していたのですがアップデートではテンプレート生成以外に、リソースをスキャンするコマンドも追加されていました。
スキャン後にリソース情報を取得することが出来ます。
その機能を使って、マネジメントコンソール上でスキャンの実施と、スキャン後に列挙されたリソースからテンプレート生成対象を選択することが出来ます。すごいぞ。

なお、スキャンに関してはこの画面あるいは IaC ジェネレーターのトップ画面から実行が可能です。

ひとつ注意点がありまして、1 日あたりにスキャン可能な回数が制限されています。

最新情報は冒頭の公式ドキュメントをご確認頂きたいのですが、本日時点ではリソースが 10,000 未満のアカウントであれば 1 日 3 回まで、10,000 以上のリソースを持つアカウントについては 1 回までとなっています。
昨日スキャン API を実施した際に「これは結構なスロットリング書けないとやばそうだな」とは確かに思ってましたが、しっかり制御されてますね。

今回は昨日作成した EC2 インスタンスを選択してみます。

Former2 だとリソースのカテゴリごとに分けられていて見やすかったと思いますが、あれ導入してほしいですね。リソースタイプに慣れていないとどうやって検索したら良いか少し悩むかもしれません。
あとでフィードバックしておきましょう。

ここからまた凄いのですが、次のページに遷移すると関連リソースも一緒に選択することが出来ます。
EC2 の場合は VPC やセキュリティグループ、ボリュームアタッチや ENI などが関連リソースとして挙げられていました。
一方でインスタンスプロファイルなど、見当たらないリソースもあるので、関連リソースが足りているかどうかは自分でも確認したほうが良いですね。

その後テンプレートが生成されます。
作成されたテンプレートのリソースを確認してみると、関連リソースとして選択したものも一緒に作成されていました。

なお、作成されたテンプレートでは Ref は使われておらず、関連リソースは識別子がハードコーディングされている状態でした。
適宜これをベースに管理しやすい形に修正すると良いですね。

さいごに

本日は AWS CloudFormation の IaC ジェネレーターがマネジメントコンソールでも使えるようになっていたので確認してみました。

いやぁ「Former2 みたいなものが公式で出る日も近いですね」なんて言ってましたがその日の夜には出ていて驚きました。
「関連リソースもまとめて取得したい、それぞれリソース識別子の指定をしたくない」など昨日思っていたのですが、そのあたりの課題がまとめて解決されていてとても良いです。

なお、サポートされているリソースについても次のページに記載されています。
確認してみるとかなりのリソースタイプがサポートされていますね。実践投入していってみようかなと思います。

2024.02.06 追記

公式のアナウンスも出ました!