AWS CloudFormation IaC generatorを試してみた。

2024.03.28

概要

IaC generator は CloudFormation の機能であり、CloudFormation スタックで管理されていないアカウント内のリソースの CloudFormation テンプレートと AWS CDK アプリを生成するために使用できます。CloudFormation テンプレートは、JSON と YAML の 2 つの形式で生成されます。この記事では CloudFormation が管理していない VPC の CloudFormation スタックの生成を試してみました。

CloudFormation スタックまたは CDK アプリを作成する手順:

  • アカウント内のリソースをスキャンします。
  • リソースを選択して CloudFormation テンプレートを作成します。
  • リソースをスタックまたは CDK アプリにインポートします。

 

やってみた

アカウントをスキャンする

  • CloudFormation コンソールで IaC generator を選択しておきます。
  • [Start a new scan] を選択して、アカウント内のリソースのスキャンします。

 

  • スキャンが完了すると、スキャンのステータスが完了に変わり、テンプレートの作成を開始できます。

 

テンプレートを作成する

  • [Create template] を選択し、テンプレートの名前を入力します。
  • [Deletion policy], [Update replace policy] として [Retain] を選択しておきます。[Retain] または [Delete] を選択できます。

 

  • スキャンされたリソースのリストからリソース [VPC] を選択しておきます。CloudFormation によって管理されていないリソースのみを選択できます。

 

  • 前のステップで選択したリソースに関連付けられたリソースのリストが取得されます。デフォルトではすべてのリソースが選択されていますが、テンプレートで必要なリソースのみを選択できます。これでテンプレートが作成されます。

 

CloudFormation スタックを作成する

  • 前の手順で作成したテンプレートを開きます。

 

  • テンプレートをダウンロードでき、表示されたコマンドを実行して CDK アプリケーションを生成することもできます。

 

  • [Template definition]タブで [Import a stack] を選択しておきます。スタックの名前を入力し、CloudFormation スタックを作成しておきます。

 

  • スタックが作成されると、ステータスが [IMPORT_COMPLETE] に変わります。これで、選択したすべてのリソースがスタックにインポートされました。要件に応じて CDK アプリケーションを作成することもできます。

 

まとめ

IaC generator は、コードを書かずに数分以内に AWS リソースを Infrastructure as Code (IaC) にインポートするのに役立ちます。

Refrence: 

既存のリソースのテンプレートを生成

AWS CloudFormation IaC Generator