IaC ジェネレーターを使用して既存のリソースからテンプレートを生成する
IaC ジェネレーター (Infrastructure as Code ジェネレーター) では、まだ CloudFormation の管理対象になっていないアカウントにプロビジョニングされた AWS リソースを使用してテンプレートを生成することができます。
IaC ジェネレーターの利点は次のとおりです。
-
CloudFormation 管理でアプリケーション全体を使用するか、AWS CDK アプリに移行します。
-
プロパティでリソースプロパティを記述することなくテンプレートを生成し、それを JSON または YAML 構文に変換します。
-
新しいアカウントかリージョンにリソースをレプリケートするときは、こちらのテンプレートを使用します。
IaC 生成プロセスは、以下のステップで構成されています。
-
リソースのスキャン – 最初のステップは、リソースのスキャンを開始することです。このスキャンは、リージョン全体で、30 日間続きます。この間、同じスキャンから複数のテンプレートを作成できます。
-
テンプレートの作成 – テンプレートを作成するには、次の 2 つのオプションがあります。
-
新しいテンプレートを最初から作成し、スキャンしたリソースと関連リソースをそこに追加します。
-
既存の CloudFormation スタックを開始点として使用して、スキャンされたリソースと関連リソースをそのテンプレートに追加します。
-
-
リソースのインポート – テンプレートを使用して、リソースを CloudFormation スタックとしてインポートするか、AWS CDK アプリに移行します。
IaC ジェネレーターの機能は、すべての商用リージョンで利用可能で、多くの一般的な AWS リソースタイプをサポートしています。詳細なリストについては、「リソースタイプのサポート」を参照してください
トピック
考慮事項
ユーザーは、読み取りアクセス許可を持つリソースに対して、CloudFormation レジストリに発行される AWS リソースの JSON または YAML テンプレートを生成できます。IaC ジェネレーターの機能のテンプレートは、リソースプロパティをプロパティごとに記述することなく、クラウドリソースを確実かつ迅速にモデル化します。
次の表は、IaC の生成機能に使用できるクォータの一覧です。
名前 | Value |
---|---|
1 回のアカウントスキャンで処理できるリソースの最大数 |
100000 |
1 日あたりのスキャン数 (リソースが 10,000 未満のアカウントの場合) |
3 |
1 日あたりのスキャン数 (リソースが 10,000 以上のアカウントの場合) |
1 |
アカウントあたりの同時に生成されるテンプレートの数 |
5 |
1 回のテンプレート生成で同時にモデル化されるリソースの数 |
5 |
1 つのテンプレートでモデル化できるリソースの合計数 |
500 |
生成されたテンプレートのアカウントあたりの最大数 |
1,000 |
重要
IaC ジェネレーターは、お使いのリージョンの Cloud Control API でサポートされているリソースのみをサポートします。詳細については、「Cloud Control API ユーザーガイド」の「リソースタイプが Cloud Control API をサポートしているかどうかの判断」を参照してください。
テンプレートの生成、管理、削除によく使用されるコマンド
IaC ジェネレーターの操作用によく使用されるコマンドには以下が含まれます。
-
start-resource-scan - AWS リージョンでアカウント内のリソースのスキャンを開始します。
-
describe-resource-scan - リソーススキャンの進行状況をモニタリングします。
-
list-resource-scans - AWS リージョン内のリソーススキャンを一覧表示します。
-
list-resource-scan-resources - リソーススキャン中に見つかったリソースを一覧表示します。
-
list-resource-scan-related-resources - スキャンしたリソースに関連するリソースを一覧表示します。
-
create-generated-template - スキャンされたリソースのセットから CloudFormation テンプレートを生成します。
-
update-generated-template - 生成されたテンプレートを更新します。
-
describe-generated-template - 生成されたテンプレートに関する情報を返します。
-
list-generated-templates - アカウントと現在のリージョンで生成されたすべてのテンプレートを一覧表示します。
-
delete-generated-template - 生成されたテンプレートを削除します。
テンプレートを AWS CDK に移行する
AWS Cloud Development Kit (AWS CDK) は、一般的なプログラミング言語を使って CloudFormation リソースを開発、管理、デプロイするときに使用できるオープンソースのソフトウェア開発フレームワークです。
AWS CDK CLI は、IaC ジェネレーターとの統合を提供します。CloudFormation テンプレートを変換し、ユーザーのリソースを含む新しい CDK アプリを作成するには、AWS CDK CLI cdk
migrate
コマンドを使用します。その後、AWS CDK を使用してリソースを管理し、CloudFormation にデプロイできます。
詳細については、「AWS Cloud Development Kit (AWS CDK) デベロッパーガイド」の「Migrate to AWS CDK」を参照してください。