AWS IaC ジェネレーターをマネジメントコンソールで試してみる

AWS IaC ジェネレーター

先日、崇拝するクラスメソッドさんのブログで以下のような記事が出ていた。

既存リソースからCloudFormation テンプレートを作れるのはたしかに便利そう…と思いながらマネジメントコンソールをポチポチしていたら、GUIでもできるようになっている様子。(2024/2/2 23時現在)

これは純正Former2がきたか..?!
と言ってみたいところではあるものの、当方まともにFormer2を使ったことがなく…

ひとまずどんなもんか、備忘がてらIaCジェネレーターをマネジメントコンソールで触ってみる。(APIでの使用は前述のクラメソさんブログがとってもわかりやすいので)

ドキュメントとしては以下で充足しそう。

触っていく

事前準備

まず、事前にリソース作成。ざっくりとVPC周りとEC2を作成。

  • VPC

    • Subnet × 2

    • RouteTable × 2

    • VPC Endpoint(S3 Gateway)

  • EC2 

  • SecurityGroup

IaCジェネレーターを触ってみる

次にIaCジェネレーターのページを開く。

IaCジェネレータのページ

CloudFormationのページを開くと、左側に "IaC ジェネレーター"が。
ページを開くと、「何はともあれ既存リソースのスキャンをしてね」という様子なので、ひとまずリソーススキャンをしてみる。

スキャン完了時

スキャン完了まで時間が多少かかったが、無事終了。
スキャンされたテンプレートは30日間までIaC ジェネレーターのリソースとして使える様子。(未検証だが、再度スキャンすればよさそう?)

ここから[テンプレートを作成]でテンプレートを作ってみる。

前提で作成したEC2を指定。

すると、"ここらへんも必要なんじゃないの?"と関連するリソースを抽出してくれる。
ありがたいので、指定してそのまま次へ。

作成対象の全容が表示されるので、問題なければテンプレート作成。

割とすぐできた。

ただ、テンプレートをざっとみていると、例えばSubnetのところではVpcIdをベタでテンプレート内に書いてしまっていたりするので、サクッと使い回すのはちょっと難しいかもしれない?

また
"Some optional properties were not included in the template. You can download the template and edit it to add the optional properties if they are relevant for your resources."
の記載については、いくつかのプロパティをテンプレートに含めることができなかったので、必要に応じて自分の一度テンプレートをダウンロードして修正した上で再度テンプレートをインポートしてね、ということらしい。
詳細はこちらのドキュメント。


最後に

とはいえ、多少修正すれば問題なく使用できる精度だと思うので、雑多に作ったリソースをIaCテンプレート化したいんだ…!
といったときの導入としてはわりといいなという感触。

また、YAML<->JSONで切り替え表示ができるうえ、CDKテンプレートとしてもダウンロードできる。
CDK入門しないと、とn年間ずっとぼやいている私にとっては嬉しい限りである。
(2/3 2:50 再度触ってみると、そもそもエクスポートはされず、コマンドが表示されているだけだった。結局は自分でやらないといけないので、入門不可避。)

既存リソースをIaC化したいときはひたすらリソースの情報とCloudFormaitonドキュメントを交互ににらめっこしていたので、今後はこちらも有効活用していきたい限り。
(加えて、この際Former2にも入門してみたい)

この記事が気に入ったらサポートをしてみませんか?