
Kiro IDE の「Build AWS infrastructure with CDK and CloudFormation」Power を使ってAWS環境を構築してみた
こんにちは、なおにしです。
Kiro IDE で「Build AWS infrastructure with CDK and CloudFormation」Power を使用したAWS環境の構築を試してみましたのでご紹介します。
はじめに
2025年11月にKiroが一般提供(GA)されました。
GA と併せて、Amazon Q Developer CLI が Kiro CLI に統合されました。AWS マネジメントコンソール上でも、Amazon Q Developer と Kiro は同じ画面を共有するようになっています。

このため料金の請求についても、公式ドキュメントの料金ページにはクレジットカードの利用しか記載がありませんが、実際には Q Developer と同様にAWS アカウントでの支払いが可能になっています。

以下、「Kiro 導入ガイド:始める前に知っておくべきすべてのこと」からの引用です。
| 認証方式 | 対応する Kiro プラン | 支払い方法 |
|---|---|---|
| AWS IAM Identity Center | Pro / Pro+ / Power | AWS アカウント |
| Builder ID | Free/Pro/Pro+/Power | クレジットカード |
| GitHub | Free/Pro/Pro+/Power | クレジットカード |
| Free/Pro/Pro+/Power | クレジットカード |
Q Developer を利用されていた方は料金周りの面でもスムーズに Kiro への移行ができるようになっています。私の場合は Q Developer を手動でアップグレードするのではなく、Kiro 用に準備された別の IAM Identity Center による組織に移行したので、本記事の末尾に補足としてQ Developer の使用を停止した際の操作をまとめました。
というわけで Kiro を使って何か試そうとしていたところ、先日開催された AWS re:Invent 2025 で Kiro Powers が発表されました。
Kiro Powers については以下の弊社記事でも紹介されていますので併せてご参照ください。
本記事の公開時点で利用可能な Kiro Powers を眺めていると、Build AWS infrastructure with CDK and CloudFormation というAWSが提供する Power がありました。今回はこちらを実際に使ってみようと思います。

最新のドキュメント、ベストプラクティス、コードサンプルを活用し、CDK で Well-Architected な AWS インフラストラクチャを構築します。CloudFormation テンプレートの検証、リソース設定のセキュリティコンプライアンスの確認、デプロイメントのトラブルシューティングを行います。
「Build AWS infrastructure with CDK and CloudFormation」Power の中身
上記のDetailsから Github リポジトリにリンクが貼られているのですが、中身は以下の2ファイルのみです。
- POWER.md
- mcp.json
それぞれの役割については先述の Powers 自体の説明記事をご参照ください。実際にmcp.jsonを見ると以下のとおりでした。
{
"mcpServers": {
"awslabs.aws-iac-mcp-server": {
"command": "uvx",
"args": ["awslabs.aws-iac-mcp-server@latest"],
"env": {
"AWS_PROFILE": "your-named-profile",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": [
"read_iac_documentation_page",
"search_cdk_documentation",
"search_cdk_samples_and_constructs",
"cdk_best_practices",
"search_cloudformation_documentation"
]
}
}
}
aws-iac-mcp-serverについては知らなかったのですが、2025年11月末に追加された新しい MCP サーバのようでした。
以前からCloudFormation MCP サーバ はあったのですが、AWS IaC MCP サーバはリソースを作成するためというよりもベストプラクティスやコンプライアンスに基づいた CDK/CloudFormation のコードを作成するための用途になっているようです。
AWS CDK MCP サーバ というものもあったようですが、こちらが以下のとおり非推奨になってAWS IaC MCP サーバが後継のようです。
⚠️ DEPRECATION NOTICE: This server is deprecated and will be removed in a future release. Please use the AWS IaC MCP Server instead, which provides all CDK functionality along with additional Infrastructure as Code capabilities.
上記記事に記載のとおり、AWS IaC MCP サーバでは以下のような9つのツール群が提供されています。
- search_cdk_documentation
AWS CDK ナレッジベースで API、概念、実装ガイダンスを検索します。- search_cdk_samples_and_constructs
AWS Construct ライブラリから、事前に構築された AWS CDK コンストラクトとパターンを見つけます。- search_cloudformation_documentation
リソースタイプ、プロパティ、および組み込み関数について CloudFormation ドキュメントをクエリします。- read_iac_documentation_page
検索または提供された URL から返された CloudFormation および CDK の完全なドキュメント ページを取得して読み取ります。- cdk_best_practices
AWS CDK のベストプラクティスと設計原則の厳選されたコレクションにアクセスします。- validate_cloudformation_template
cfn-lint を使用して構文とスキーマの検証を実行し、デプロイメント前にエラーをキャッチします。- check_cloudformation_template_compliance
AWS Guard ルールと cfn-guard を使用して、テンプレートに対してセキュリティとコンプライアンスのチェックを実行します。- troubleshoot_cloudformation_deployment
統合された CloudTrail イベント分析機能を使用して、CloudFormation スタックのデプロイ失敗を分析します。このツールは、AWS 認証情報を使用してスタックのステータスを分析します。- get_cloudformation_pre_deploy_validation_instructions
変更セットの作成中にテンプレートを検証する、CloudFormation のデプロイ前検証機能の指示を返します。
それぞれのツールを柔軟に使いこなせるとすごいのですが、実際に活用するのであればCDKによる開発でのベストプラクティスと併せてそれぞれのツールの使い所を定義する必要があるかと思います。
その定義をしているのが POWER.md になります。したがって、「Build AWS infrastructure with CDK and CloudFormation」Power は AWS IaC MCP サーバとその最適な使い方をセットにしたものであると言えそうです。
というわけで、実際に「Build AWS infrastructure with CDK and CloudFormation」Power を Kiro IDE に追加して環境を構築してみます。
今回構築する環境は、こちらの記事と同じく以下の構成図を基に作成してみます。

やってみた
事前準備
グローバルステアリングファイルの作成
すぐに検証を始めたいところですが、Kiro IDE をインストールしてログインまでが完了した状態であれば、ステアリングファイルも特に設定していない状態かと思います。ステアリングファイルについては様々な記事で言及されているかと思うので説明は割愛しますが、公式ドキュメントは以下になります。
前述の状態で操作を始めると、Vibe モードで軽くチャットするくらいなら問題無いのですが、例えば Spec モードで作成されるドキュメントが英語になったり、Kiro IDE の特定のボタンを押下してプロンプトが実行された場合のチャット内容も英語になったりと、英語力のある方向けの仕様になります。
そこで、グローバルステアリングファイルを使って最初から日本語化しておきます。(Claude Code でいうところの CLAUDE.md に相当するファイルなので、英語で記載した方が処理効率が良いとか諸説あるかと思いますが、今回は日本語フレンドリー優先ということで)
ドキュメントに記載のとおり、グローバルステアリングファイルは全てのワークスペースに適用されます。格納場所は~/.kiro/steering/ですので、以下のとおりファイルを配置します。
---
inclusion: always
---
# グローバル言語設定
## 基本方針
- **すべての応答とコミュニケーションを日本語で行う**
- **コード生成時のコメントは日本語で記述**
- **エラーメッセージや説明も日本語で提供**
- ✅のような絵文字は使用不可
## 適用範囲
- チャット応答
- コード内コメント
- ドキュメント生成
- エラー説明
- リファクタリング提案
- デバッグ情報
## コード品質
- 変数名や関数名は英語(国際的な慣習に従う)
- コメントは日本語で詳細に説明
- README等のドキュメントは日本語で作成
## 例外
- 外部ライブラリのAPI呼び出し
- 標準的な技術用語(必要に応じて日本語で補足説明)
- 国際的なコーディング規約に従う部分
冒頭の---で囲まれた部分は Inclusion モードに関する記載です。alwaysを指定した場合は、Kiro との全てのやり取りで自動的に読み込まれます。なお、alwaysがデフォルトなので今回のケースであれば実際のところ明記する必要はないのですが、ドキュメントに記載のとおりfileMatchを指定することで特定のパターンに一致するファイルを扱う場合にのみ読み込ませる、といった制御も可能ですので、あえて明記しておく方が分かりやすいかと思います。
一般的なステアリングファイル戦略やベストプラクティスについてもドキュメントに記載があるので、併せてご参照ください。
日本語化については上記のファイルで対応しましたが、ついでに昨今では npm の実行が何かと不安なので、ステアリングファイル戦略に則ってsecurity-policies.mdを作成して雑ですが以下のように記述しておきます。
---
inclusion: always
---
# グローバルセキュリティ設定
- npm ではなくpnpm を使用する
- npx ではなくpnpx を使用する
Powers を追加する
Kiro IDE の左ペインからPowersを選択し、「Build AWS infrastructure with CDK and CloudFormation」をインストールします。

インストールはすぐに完了します。追加されたMCPサーバの設定はOpen powers configから確認可能です。

mcp.jsonが開かれて、該当箇所は以下のとおりです。AWS_PROFILEについては任意に設定します。
"powers": {
"mcpServers": {
"power-aws-infrastructure-as-code-awslabs.aws-iac-mcp-server": {
"command": "uvx",
"args": [
"awslabs.aws-iac-mcp-server@latest"
],
"env": {
"AWS_PROFILE": "your-named-profile",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false
}
}
}
UI からも Power による MCP サーバが追加されていることが分かります。また、事前に作成したステアリングファイルも読み込まれています。なお、今回は既に登録していたその他の MCP サーバについては Disable にしています。

Hooks を追加する
せっかく CDK/CloudFormation で環境を構築するので、出来上がったテンプレートに基づいたパラメータシートを作成するように Hooks を設定してみます。

以下のプロンプトを実行しました。
エージェントがタスクを終えて、CDK/CloudFormationのコードが出力されたら、コードに基づいてインフラストラクチャパラメータシート(docs/parameters-sheet.md)を更新してください。
パラメータシートは以下の形式で保存してください:
1. リソースごとにMarkdownの表形式で整理
2. 各リソースの表には以下の列を含める:
- パラメータ名
- 値
- 説明
- ステータス(実装済み/未実装)
3. リソースカテゴリ別にセクション分け(VPC、EC2、RDS等)
4. 実装状況と完了済みコンポーネントの情報を最新の状態に同期
すると自動で以下のとおり Hook が作成されました。

Event にはAgent Stopが選択されています。このフックトリガーは2025年12月18日のアップデートで追加されたばかりの機能なので、併せて挙動を確認しようと思います。
Power のオンボーディングを実行する
Power のTry Powerボタンを押すことで、Power で定義されたオンボーディングを実行することができます。

ボタンを押下すると、以下のようにプロンプトが実行されます。プロンプトが英語のため、前述のステアリングファイルで日本語設定を行っていないと、以降の応答や成果物が全て英語になります。

CDKでS3バケットを作成するデモが開始されました。Power がきちんと使用されています。

色々と試行錯誤しながら進めていってくれています。security-policies.mdも読み込んでいるため、最初からnpmではなくpnpmを使ってくれているのも良いですね。

完走しました。自動でセキュリティとコンプライアンスのチェックもしてくれています。

エージェントの応答が完了後、先ほど設定していた Hook が自動的に実行されました。

作成されたパラメータシートは以下のとおりです。本記事自体の章立てと干渉するようなので見出し(#)は削除しています。
パラメータシート
インフラストラクチャパラメータシート
プロジェクト概要
- プロジェクト名: my-cdk-app
- CDKバージョン: 2.23.0
- 対象リージョン: ap-northeast-1
- 最終更新日: 2025-12-25
実装状況サマリー
| カテゴリ | 実装済みリソース数 | 未実装リソース数 | 完了率 |
|---|---|---|---|
| ストレージ (S3) | 2 | 0 | 100% |
| IAM | 1 | 0 | 100% |
| Lambda | 1 | 0 | 100% |
| 合計 | 4 | 0 | 100% |
S3 (Simple Storage Service)
SecureS3Bucket (基本セキュリティバケット)
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| リソース名 | SecureS3Bucket9141DB16 | CDKが生成する論理ID | 実装済み |
| 暗号化アルゴリズム | AES256 | S3マネージドキーによる暗号化 | 実装済み |
| SSL強制 | true | HTTPS接続のみを許可 | 実装済み |
| パブリックアクセスブロック | 全て有効 | すべてのパブリックアクセスを禁止 | 実装済み |
| バージョニング | 有効 | オブジェクトのバージョン管理 | 実装済み |
| ライフサイクルルール1 | 30日後削除 | 古いバージョンの自動削除 | 実装済み |
| ライフサイクルルール2 | 7日後削除 | 不完全なマルチパートアップロードの削除 | 実装済み |
| 削除ポリシー | Delete | デモ用設定(本番では Retain 推奨) | 実装済み |
| 自動オブジェクト削除 | 有効 | スタック削除時にオブジェクトも削除 | 実装済み |
KMSEncryptedBucket (KMS暗号化バケット)
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| リソース名 | KMSEncryptedBucketB558B9D6 | CDKが生成する論理ID | 実装済み |
| 暗号化アルゴリズム | aws:kms | KMSマネージドキーによる暗号化 | 実装済み |
| SSL強制 | true | HTTPS接続のみを許可 | 実装済み |
| パブリックアクセスブロック | 全て有効 | すべてのパブリックアクセスを禁止 | 実装済み |
| バージョニング | 有効 | オブジェクトのバージョン管理 | 実装済み |
| 削除ポリシー | Delete | デモ用設定(本番では Retain 推奨) | 実装済み |
| 自動オブジェクト削除 | 有効 | スタック削除時にオブジェクトも削除 | 実装済み |
IAM (Identity and Access Management)
CustomS3AutoDeleteObjectsCustomResourceProviderRole
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| リソース名 | CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092 | CDKが生成する論理ID | 実装済み |
| サービスプリンシパル | lambda.amazonaws.com | Lambda関数が引き受け可能 | 実装済み |
| マネージドポリシー | AWSLambdaBasicExecutionRole | 基本的なLambda実行権限 | 実装済み |
| 用途 | S3オブジェクト自動削除 | カスタムリソース用のIAMロール | 実装済み |
Lambda
CustomS3AutoDeleteObjectsCustomResourceProviderHandler
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| リソース名 | CustomS3AutoDeleteObjectsCustomResourceProviderHandler9D90184F | CDKが生成する論理ID | 実装済み |
| ランタイム | nodejs12.x | 非推奨: nodejs22.x への更新が必要 | 実装済み(要更新) |
| メモリサイズ | 128 MB | Lambda関数のメモリ割り当て | 実装済み |
| タイムアウト | 900秒 | 最大実行時間(15分) | 実装済み |
| ハンドラー | entrypoint.handler | エントリーポイント関数 | 実装済み |
| 用途 | S3オブジェクト削除 | スタック削除時のオブジェクト自動削除 | 実装済み |
バケットポリシー
SecureS3BucketPolicy
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| リソース名 | SecureS3BucketPolicy63772037 | CDKが生成する論理ID | 実装済み |
| SSL強制ポリシー | 有効 | 非SSL接続を拒否 | 実装済み |
| カスタムリソース権限 | 有効 | 自動削除用の権限付与 | 実装済み |
KMSEncryptedBucketPolicy
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| リソース名 | KMSEncryptedBucketPolicy2B07488E | CDKが生成する論理ID | 実装済み |
| SSL強制ポリシー | 有効 | 非SSL接続を拒否 | 実装済み |
| カスタムリソース権限 | 有効 | 自動削除用の権限付与 | 実装済み |
CloudFormation出力
| 出力名 | 説明 | 値の参照先 | ステータス |
|---|---|---|---|
| SecureS3BucketName | セキュアなS3バケットの名前 | SecureS3Bucket9141DB16 | 実装済み |
| KMSEncryptedBucketName | KMS暗号化されたS3バケットの名前 | KMSEncryptedBucketB558B9D6 | 実装済み |
検証結果
構文検証 (cfn-lint)
| 検証項目 | 結果 | 詳細 | 対応状況 |
|---|---|---|---|
| 全体的な構文 | 警告あり | 1エラー、2警告 | 要対応 |
| Lambda ランタイム | エラー | nodejs12.x は非推奨 | 要更新 |
| 不要な依存関係 | 警告 | DependsOn の重複 | 軽微 |
| 未使用パラメータ | 警告 | BootstrapVersion | 軽微 |
セキュリティコンプライアンス (cfn-guard)
| 検証項目 | 結果 | 詳細 | 対応状況 |
|---|---|---|---|
| オブジェクトロック | 違反 | ObjectLockEnabled 未設定 | 要検討 |
| アクセスログ | 違反 | LoggingConfiguration 未設定 | 要検討 |
| パブリックACL | 違反 | 追加のACL制限が必要 | 要検討 |
| レプリケーション | 違反 | ReplicationConfiguration 未設定 | 要検討 |
推奨改善事項
高優先度
- Lambda ランタイム更新
- nodejs12.x → nodejs22.x への更新
- セキュリティとパフォーマンスの向上
中優先度
- セキュリティ強化(オプション)
- S3 オブジェクトロックの有効化(コンプライアンス要件による)
- アクセスログの設定(監査要件による)
- クロスリージョンレプリケーション(災害復旧要件による)
低優先度
- コード最適化
- 不要な DependsOn の削除
- 未使用パラメータの整理
本番環境への適用時の注意事項
-
削除ポリシーの変更
removalPolicy: cdk.RemovalPolicy.DESTROY→cdk.RemovalPolicy.RETAINautoDeleteObjects: true→false
-
環境固有の設定
- アカウントIDとリージョンの明示的指定
- 環境別のタグ付け戦略
-
モニタリングとアラート
- CloudWatch メトリクスの設定
- S3 イベント通知の設定
更新履歴
| 日付 | 更新内容 | 更新者 |
|---|---|---|
| 2025-12-25 | 初版作成、CDKプロジェクト分析結果を反映 | システム |
オンボーディングだけで期待どおりの動作を確認できたので検証は止めようかと思いましたが、せっかくなので続けます。
構成図を基にしたタスクリストの作成
オンボーディングを実行するとデモで使ったファイル群が残ってしまうので、作成されたファイル群は削除した上で続けます。まず、Spec モードで先述の構成図を読み込ませて指示を出します。

正確に構成図の内容を読み取ってくれました。スペック(要件定義書)の名前のサジェストもしてくれているので、aws-web-infrastructureで進めることにします。

作成された要件定義書の内容については割愛して設計フェーズに進みます。

必要に応じてベストプラクティスを Web サーチツールで調査しつつ、設計書が作成されました。特にプロンプトで指示をしてはいませんでしたが、設計書の冒頭に CDK(TypeScript)を使用することが明記されています。このままタスク作成のフェーズに進みます。

ちなみに設計書内に記載されていたMermaidによる図は以下のとおりです。さすがに改善の余地がありますが、それらしい構成図にはなっています。
タスクリストが作成されました。今回はオプションタスクを維持(高速MVP)を選択します。

構成図を適当に渡しただけで、ここまで整理してくれました。

なお、改めて全体を確認すると EC2 に Auto Scaling Group が適用されていたので、そこだけ不要という形でプロンプトを実行して修正しました。
タスクの実行(CDK作成)
それでは、タスクリストのStart taskを実行して実装を開始します。

タスク2を実行している様子を眺めていたのですが、どうやら Power が呼び出されていませんでした。

Power はコンテキストから必要に応じて呼び出されるということになっており、VPC関連のCDKを作成しているタイミングで呼び出されないのはどういう理由なのか分かりませんが、今回は Power を積極的に活用したいので、ステアリングファイルimplementation.mdを作成して以下のように Power を活用するように定義します。ついでに、先ほどのオンボーディングでのデモで改善点として Node.js の古いバージョンを使用していることが挙げられていましたので、基本的に新しいバージョンを使用するように明記します。
---
inclusion: always
---
# グローバル実装設定
## 基本方針
- AWS、CDK、CloudFormation、インフラ関連のタスクでは必ずaws-infrastructure-as-code Powerを活用してください
- Lambda等で使用するNode.jsのバージョンは`22.x`とする。古いバージョン`18.x`等は使用不可
タスク2を実行する前にバックアップを取っていたので、改めて上記のステアリングファイルが存在する状態で再度タスク2を実行します。

最初から Power を使うようになりました。詳細な出力内容は割愛しますが、Power を使う方がスムーズに実装できていました。ただ、タスク完了後にパラメータシートを作成する Hook が実行されませんでした。なぜだろう... とりあえず残りのタスクリストを進めました。
そしてここからが長くて、各タスクでテストが実行されるので1つのタスクで5分〜10分近くかかり、途中テストがクリアできなくなったので一度テストを最初からするようにプロンプトで促したりして、結局2時間近く格闘していました。。
ですが最終的にはデプロイまで完了し、Vibe モードで改めてコードとデプロイ結果を確認するようにプロンプトを実行したタイミングで Hook も実行されました。挙動だけを見ると、Spec モードでは呼び出されず、Vibe モードであれば呼び出されるようです。この挙動どおりであれば、Spec モードで実装が完了した後、Vibe モードでデプロイを指示するという流れが良さそうです。

ALB経由でのEC2アクセスも問題なさそうです。

EC2 からのDBアクセスも可能でした。

出力されたパラメータシートは以下のとおりです。本記事自体の章立てと干渉するようなので見出し(#)は削除しています。
パラメータシート
インフラストラクチャパラメータシート
概要
AWS Web Infrastructure プロジェクトのインフラストラクチャパラメータ一覧です。
最終更新日: 2025-12-25
プロジェクト構成: 従来型Webアプリケーション(ALB + EC2 + RDS)+ CDKセキュリティ機能
CDKバージョン: 2.215.0
実装状況: 100% 完了(全コンポーネント統合済み)
VPC設定
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| VPC CIDR | 10.0.0.0/16 | VPCのCIDRブロック | 実装済み |
| 最大AZ数 | 2 | 使用するアベイラビリティゾーン数 | 実装済み |
| NAT Gateway数 | 1 | 開発環境用NAT Gateway数(コスト最適化) | 実装済み |
| アベイラビリティゾーン | ap-northeast-1a, ap-northeast-1c | 使用するAZ | 実装済み |
| パブリックサブネット1 | 10.0.0.0/24 | AZ-1aのパブリックサブネット | 実装済み |
| パブリックサブネット2 | 10.0.1.0/24 | AZ-1cのパブリックサブネット | 実装済み |
| プライベートサブネット1 | 10.0.2.0/24 | AZ-1aのプライベートサブネット(Egress付き) | 実装済み |
| プライベートサブネット2 | 10.0.3.0/24 | AZ-1cのプライベートサブネット(Egress付き) | 実装済み |
| 分離サブネット1 | 10.0.4.0/24 | AZ-1aの分離サブネット(DB用) | 実装済み |
| 分離サブネット2 | 10.0.5.0/24 | AZ-1cの分離サブネット(DB用) | 実装済み |
| VPCフローログ | 有効 | 全トラフィックタイプの記録 | 実装済み |
| インターネットゲートウェイ | 有効 | パブリックサブネット用 | 実装済み |
セキュリティグループ設定
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| ALBセキュリティグループ | SecurityGroupsConstructAlbSecurityGroup334CDB3B | ALB用セキュリティグループ | 実装済み |
| EC2セキュリティグループ | SecurityGroupsConstructEc2SecurityGroup7F299E09 | EC2インスタンス用セキュリティグループ | 実装済み |
| RDSセキュリティグループ | SecurityGroupsConstructRdsSecurityGroup4635CD21 | RDSデータベース用セキュリティグループ | 実装済み |
| HTTP許可ポート | 80 | ALBでのHTTPトラフィック許可 | 実装済み |
| HTTPS許可ポート | 443 | ALBでのHTTPSトラフィック許可 | 実装済み |
| PostgreSQLポート | 5432 | RDSデータベースアクセスポート | 実装済み |
| セキュリティグループ間通信 | 有効 | ALB→EC2、EC2→RDS間の通信許可 | 実装済み |
Application Load Balancer (ALB)
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| ALBタイプ | application | アプリケーションロードバランサー | 実装済み |
| インターネット向け | 有効 | パブリックアクセス可能 | 実装済み |
| ターゲットグループ名 | web-servers | Webサーバー用ターゲットグループ | 実装済み |
| ターゲットタイプ | instance | EC2インスタンス直接登録 | 実装済み |
| ヘルスチェックパス | /health | ヘルスチェック用エンドポイント | 実装済み |
| ヘルスチェック間隔 | 60秒 | 開発環境用の長めの間隔 | 実装済み |
| 正常閾値 | 2 | 正常判定に必要な連続成功回数 | 実装済み |
| 異常閾値 | 5 | 異常判定に必要な連続失敗回数 | 実装済み |
| HTTPリスナー | ポート80 | HTTP通信用リスナー | 実装済み |
| スティッキーセッション | 無効 | セッション固定なし | 実装済み |
EC2インスタンス
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| インスタンスタイプ | t3.micro | 開発環境用小型インスタンス | 実装済み |
| インスタンス数 | 2 | 各AZに1台ずつ配置 | 実装済み |
| AMI | Amazon Linux 2023 | 最新のAmazon Linux AMI | 実装済み |
| EBS最適化 | 有効 | ストレージ性能最適化 | 実装済み |
| 詳細モニタリング | 有効 | CloudWatchでの詳細監視 | 実装済み |
| パブリックIP | 無効 | プライベートサブネット配置 | 実装済み |
| IAMロール | 有効 | EC2用IAMロール自動作成 | 実装済み |
| ユーザーデータ | Apache設定 | Webサーバー自動セットアップ | 実装済み |
| セキュリティグループ | EC2専用SG | ALBからの通信のみ許可 | 実装済み |
| 開発環境用ツール | htop, vim | 開発・デバッグ用ツール | 実装済み |
RDSデータベース
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| データベースエンジン | PostgreSQL | オープンソースRDBMS | 実装済み |
| エンジンバージョン | 15.14 | PostgreSQL最新安定版 | 実装済み |
| インスタンスクラス | db.t3.micro | 開発環境用小型インスタンス | 実装済み |
| データベース名 | webapp_dev | アプリケーション用DB | 実装済み |
| マスターユーザー名 | dbadmin | データベース管理者 | 実装済み |
| 認証情報管理 | AWS Secrets Manager | パスワード自動生成・管理 | 実装済み |
| シークレット名 | dev-rds-credentials | 認証情報シークレット | 実装済み |
| Multi-AZ | 無効 | 開発環境のためシングルAZ | 実装済み |
| 割り当てストレージ | 20GB | 開発環境用最小ストレージ | 実装済み |
| ストレージタイプ | gp2 | 汎用SSDストレージ | 実装済み |
| ストレージ暗号化 | 有効 | データ保護のため暗号化 | 実装済み |
| 自動バックアップ | 7日間 | 開発環境用バックアップ保持 | 実装済み |
| 削除保護 | 無効 | 開発環境のため無効 | 実装済み |
| 拡張モニタリング | 60秒間隔 | RDS詳細監視 | 実装済み |
| サブネットグループ | dev-db-subnet-group | 分離サブネット用 | 実装済み |
モニタリング・ログ設定
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| VPCフローログ | /aws/vpc/flowlogs/dev | VPCトラフィック記録 | 実装済み |
| フローログ保持期間 | 30日 | CloudWatchログ保持 | 実装済み |
| フローログトラフィック | ALL | 全トラフィックタイプ記録 | 実装済み |
| フローログ有効化(dev) | 無効 | 開発環境はコスト削減のため無効 | 実装済み |
| フローログ有効化(staging/prod) | 有効 | ステージング・本番環境で有効 | 実装済み |
| SNSトピック名 | dev-dev-infrastructure-alerts | アラート通知用トピック | 実装済み |
| 通知先メールアドレス | dev-team@example.com | 開発チーム通知先 | 実装済み |
| ALBアクセスログ(dev) | 無効 | 開発環境のためコスト削減 | 実装済み |
| ALBアクセスログ(staging/prod) | 有効 | ステージング・本番環境で有効 | 実装済み |
| ALBアクセスログ保持期間 | 90日 | S3ライフサイクルルール | 実装済み |
CloudWatchアラーム
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| 高応答時間アラーム | dev-ALB-HighResponseTime | ALB応答時間監視(閾値: 1秒) | 実装済み |
| 高エラー率アラーム | dev-ALB-HighErrorRate | ALB 5XXエラー監視(閾値: 10件) | 実装済み |
| 非正常ホストアラーム | dev-ALB-UnhealthyHosts | 非正常ターゲット監視(閾値: 1台) | 実装済み |
| 高CPU使用率アラーム | dev-HighCPUUtilization | EC2 CPU使用率監視(閾値: 90%) | 実装済み |
| アラーム評価期間 | 2-3期間 | アラーム判定に必要な期間数 | 実装済み |
| メトリクス期間 | 5分 | CloudWatchメトリクス集計間隔 | 実装済み |
| SNS通知 | 有効 | 全アラームでSNS通知設定 | 実装済み |
Lambda設定
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| CDK自動作成Lambda関数 | |||
| 関数名 | AwsWebInfrastructure-dev-CustomVpcRestrictDefaultS-* | VPCデフォルトSG制限用カスタムリソース | 実装済み |
| ランタイム | Node.js 18.x | CDK内部で使用される標準ランタイム | 実装済み |
| 用途 | VPCデフォルトセキュリティグループ制限 | セキュリティベストプラクティス実装 | 実装済み |
| 実行タイミング | デプロイ時のみ | VPC作成・更新時に実行 | 実装済み |
| 将来拡張用Lambda設定 | |||
| ランタイム | Node.js 22.x | 将来のアプリケーション用最新版(24.x未対応のためCDK利用可能最新版) | 設定のみ |
| タイムアウト | 30秒 | 関数実行タイムアウト | 設定のみ |
| メモリサイズ(dev) | 256MB | 開発環境用メモリ | 設定のみ |
| メモリサイズ(staging) | 512MB | ステージング環境用メモリ | 設定のみ |
| メモリサイズ(prod) | 1024MB | 本番環境用メモリ | 設定のみ |
| 環境変数 | NODE_ENV, LOG_LEVEL | 環境別設定変数 | 設定のみ |
| ランタイム検証 | 有効 | 古いランタイム使用禁止 | 実装済み |
| アプリケーション用Lambda関数 | 未実装 | 実際のアプリケーション用関数は未作成 | 未実装 |
注意:
- 実装済み: CDKが自動作成するカスタムリソース用Lambda関数(VPCデフォルトセキュリティグループ制限機能)
- 設定のみ: 将来のアプリケーション拡張に備えた設定(実際の関数は未作成)
- ランタイム: Node.js 24.xが理想だが、CDKで利用可能な最新版22.xを使用
- 現在のスタックは従来のWebアプリケーション構成(ALB + EC2 + RDS)
環境別設定詳細
開発環境(dev)
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| EC2インスタンスタイプ | t3.micro | 最小サイズでコスト最適化 | 実装済み |
| EC2インスタンス数 | 1-2台 | 最小構成 | 実装済み |
| RDSインスタンスクラス | db.t3.micro | 最小サイズ | 実装済み |
| RDS Multi-AZ | 無効 | シングルAZでコスト削減 | 実装済み |
| RDSバックアップ保持 | 7日間 | 短期バックアップ | 実装済み |
| RDSストレージ | 20GB | 最小ストレージ | 実装済み |
| NAT Gateway数 | 1台 | コスト削減のため1台のみ | 実装済み |
| VPCフローログ | 無効 | コスト削減のため無効 | 実装済み |
| ALBアクセスログ | 無効 | コスト削減のため無効 | 実装済み |
| ヘルスチェック間隔 | 60秒 | 長めの間隔 | 実装済み |
| CPU使用率アラーム閾値 | 90% | 高めの閾値 | 実装済み |
| アラーム評価期間 | 3期間 | 長めの評価期間 | 実装済み |
ステージング環境(staging)
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| EC2インスタンスタイプ | t3.small | 中程度のサイズ | 設定のみ |
| EC2インスタンス数 | 2-4台 | 本番に近い構成 | 設定のみ |
| RDSインスタンスクラス | db.t3.small | 中程度のサイズ | 設定のみ |
| RDS Multi-AZ | 有効 | 高可用性構成 | 設定のみ |
| RDSバックアップ保持 | 14日間 | 中期バックアップ | 設定のみ |
| RDSストレージ | 50GB | 中程度のストレージ | 設定のみ |
| NAT Gateway数 | 2台 | 各AZに配置 | 設定のみ |
| VPCフローログ | 有効 | セキュリティ監視 | 設定のみ |
| ALBアクセスログ | 有効 | アクセス分析 | 設定のみ |
| ヘルスチェック間隔 | 30秒 | 中程度の間隔 | 設定のみ |
| CPU使用率アラーム閾値 | 85% | 中程度の閾値 | 設定のみ |
| アラーム評価期間 | 2期間 | 標準的な評価期間 | 設定のみ |
本番環境(prod)
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| EC2インスタンスタイプ | t3.medium | 高性能サイズ | 設定のみ |
| EC2インスタンス数 | 2-10台 | スケーラブル構成 | 設定のみ |
| RDSインスタンスクラス | db.r5.large | 高性能インスタンス | 設定のみ |
| RDS Multi-AZ | 有効 | 高可用性必須 | 設定のみ |
| RDSバックアップ保持 | 30日間 | 長期バックアップ | 設定のみ |
| RDSストレージ | 100GB | 大容量ストレージ | 設定のみ |
| NAT Gateway数 | 2台 | 各AZに配置 | 設定のみ |
| VPCフローログ | 有効 | セキュリティ監視必須 | 設定のみ |
| ALBアクセスログ | 有効 | アクセス分析必須 | 設定のみ |
| ヘルスチェック間隔 | 15秒 | 短い間隔で高速検知 | 設定のみ |
| CPU使用率アラーム閾値 | 80% | 低めの閾値で早期検知 | 設定のみ |
| アラーム評価期間 | 2期間 | 迅速な対応 | 設定のみ |
| 削除保護 | 有効 | 誤削除防止 | 設定のみ |
| 追加アラーム | メモリ使用率、応答時間 | 包括的監視 | 設定のみ |
環境設定
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| 環境名 | dev | デプロイ環境識別子 | 実装済み |
| リージョン | ap-northeast-1 | 東京リージョン | 実装済み |
| アベイラビリティゾーン | ap-northeast-1a, ap-northeast-1c | 使用するAZ(合成結果で確認済み) | 実装済み |
| スタック名 | AwsWebInfrastructure-dev | CloudFormationスタック | 実装済み |
| CDKバージョン | 2.215.0 | 使用CDKライブラリバージョン | 実装済み |
| TypeScript設定 | ES Modules | モジュールシステム(ESNext) | 実装済み |
| パッケージマネージャー | pnpm | 高速パッケージ管理 | 実装済み |
| インフラストラクチャ状態 | INTEGRATED | 全コンポーネント統合完了 | 実装済み |
| デプロイ済みコンポーネント | VPC,SecurityGroups,ALB,EC2,RDS,Monitoring | 全コンポーネント実装完了 | 実装済み |
| 環境別設定管理 | EnvironmentConfig クラス | 環境別パラメータ自動切り替え | 実装済み |
| 設定ファイル | lib/utils/environment-config.ts | 環境別設定の一元管理 | 実装済み |
| モジュールシステム | ES Modules | 最新のJavaScript標準 | 実装済み |
| テストランナー | Jest (ESM対応) | ES Modules対応テスト環境 | 実装済み |
| CDK合成確認 | 成功 | CloudFormationテンプレート生成確認済み | 実装済み |
| 出力値確認 | 25個 | 全出力値がCloudFormationテンプレートに含まれる | 実装済み |
セキュリティ・コンプライアンス
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| S3暗号化検証 | 有効 | S3バケット暗号化必須チェック | 実装済み |
| S3パブリックアクセス検証 | 有効 | パブリックアクセスブロック必須 | 実装済み |
| RDS暗号化検証 | 有効 | RDSストレージ暗号化必須 | 実装済み |
| RDS Multi-AZ検証 | 環境別 | 本番環境でMulti-AZ必須 | 実装済み |
| セキュリティグループ検証 | 有効 | 過度な開放ルール禁止 | 実装済み |
| VPCフローログ検証 | 有効 | ステージング・本番で必須 | 実装済み |
| ログ保持期間検証 | 有効 | 環境別適切な保持期間 | 実装済み |
| ALBアクセスログ検証 | 有効 | ステージング・本番で推奨 | 実装済み |
| リソースタグ検証 | 有効 | 必須タグの存在確認 | 実装済み |
| Lambda ランタイム検証 | 有効 | 古いランタイム使用禁止 | 実装済み |
| 環境設定検証 | 有効 | 環境別適切なリソースサイズ | 実装済み |
| VPCデフォルトSG制限 | 有効 | デフォルトセキュリティグループ制限 | 実装済み |
| デプロイメント前検証 | 有効 | SynthesisValidation による事前チェック | 実装済み |
タグ設定
| パラメータ名 | 値 | 説明 | ステータス |
|---|---|---|---|
| Project | aws-web-infrastructure | プロジェクト識別子 | 実装済み |
| Environment | dev/staging/prod | 環境識別子(環境別自動設定) | 実装済み |
| Owner | DevOps Team | リソース所有者(設定可能) | 実装済み |
| CostCenter | Engineering | コストセンター(設定可能) | 実装済み |
| CreatedBy | AWS CDK | 作成方法 | 実装済み |
| CreatedDate | 自動生成 | 作成日(実行時自動設定) | 実装済み |
| Component | 各リソース別 | コンポーネント識別 | 実装済み |
| AvailabilityZone | AZ別 | 配置AZ情報 | 実装済み |
| タグ管理 | EnvironmentConfig | 環境別タグ自動適用 | 実装済み |
出力値(CloudFormation Outputs)
ネットワーク関連出力
| 出力名 | 説明 | エクスポート名 | ステータス |
|---|---|---|---|
| VpcId | VPCのID | AwsWebInfrastructure-dev-VpcId | 実装済み |
| VpcCidr | VPCのCIDRブロック | AwsWebInfrastructure-dev-VpcCidr | 実装済み |
| AvailabilityZones | 使用AZ一覧 | AwsWebInfrastructure-dev-AvailabilityZones | 実装済み |
| PublicSubnetIds | パブリックサブネットID一覧 | AwsWebInfrastructure-dev-PublicSubnetIds | 実装済み |
| PrivateSubnetIds | プライベートサブネットID一覧 | AwsWebInfrastructure-dev-PrivateSubnetIds | 実装済み |
| IsolatedSubnetIds | 分離サブネットID一覧 | AwsWebInfrastructure-dev-IsolatedSubnetIds | 実装済み |
セキュリティグループ関連出力
| 出力名 | 説明 | エクスポート名 | ステータス |
|---|---|---|---|
| AlbSecurityGroupId | ALB用セキュリティグループID | AwsWebInfrastructure-dev-AlbSecurityGroupId | 実装済み |
| Ec2SecurityGroupId | EC2用セキュリティグループID | AwsWebInfrastructure-dev-Ec2SecurityGroupId | 実装済み |
| RdsSecurityGroupId | RDS用セキュリティグループID | AwsWebInfrastructure-dev-RdsSecurityGroupId | 実装済み |
ALB関連出力
| 出力名 | 説明 | エクスポート名 | ステータス |
|---|---|---|---|
| LoadBalancerDNS | ALBのDNS名 | AwsWebInfrastructure-dev-LoadBalancerDNS | 実装済み |
| LoadBalancerArn | ALBのARN | AwsWebInfrastructure-dev-LoadBalancerArn | 実装済み |
| LoadBalancerUrl | ALBアクセスURL | AwsWebInfrastructure-dev-LoadBalancerUrl | 実装済み |
| TargetGroupArns | ターゲットグループARN一覧 | AwsWebInfrastructure-dev-TargetGroupArns | 実装済み |
EC2関連出力
| 出力名 | 説明 | エクスポート名 | ステータス |
|---|---|---|---|
| Ec2InstanceIds | EC2インスタンスID一覧 | AwsWebInfrastructure-dev-Ec2InstanceIds | 実装済み |
| Ec2PrivateIps | EC2プライベートIP一覧 | AwsWebInfrastructure-dev-Ec2PrivateIps | 実装済み |
| Ec2InstanceCount | EC2インスタンス数 | AwsWebInfrastructure-dev-Ec2InstanceCount | 実装済み |
RDS関連出力
| 出力名 | 説明 | エクスポート名 | ステータス |
|---|---|---|---|
| DatabaseEndpoint | RDSエンドポイント | AwsWebInfrastructure-dev-DatabaseEndpoint | 実装済み |
| DatabasePort | RDSポート | AwsWebInfrastructure-dev-DatabasePort | 実装済み |
| DatabaseName | データベース名 | AwsWebInfrastructure-dev-DatabaseName | 実装済み |
| DatabaseSecretArn | DB認証情報シークレット | AwsWebInfrastructure-dev-DatabaseSecretArn | 実装済み |
| DatabaseConnectionString | DB接続文字列テンプレート | AwsWebInfrastructure-dev-DatabaseConnectionString | 実装済み |
モニタリング関連出力
| 出力名 | 説明 | エクスポート名 | ステータス |
|---|---|---|---|
| VpcFlowLogGroupName | VPCフローログ名 | AwsWebInfrastructure-dev-VpcFlowLogGroupName | 実装済み |
| AlbAccessLogsBucketName | ALBアクセスログバケット名 | AwsWebInfrastructure-dev-AlbAccessLogsBucketName | 実装済み |
| SnsTopicArns | SNSトピックARN一覧 | AwsWebInfrastructure-dev-SnsTopicArns | 実装済み |
| CloudWatchAlarmNames | CloudWatchアラーム名一覧 | AwsWebInfrastructure-dev-CloudWatchAlarmNames | 実装済み |
環境・統合情報出力
| 出力名 | 説明 | エクスポート名 | ステータス |
|---|---|---|---|
| Environment | デプロイ環境 | AwsWebInfrastructure-dev-Environment | 実装済み |
| Region | デプロイリージョン | AwsWebInfrastructure-dev-Region | 実装済み |
| StackName | CloudFormationスタック名 | AwsWebInfrastructure-dev-StackName | 実装済み |
| InfrastructureStatus | インフラ統合状態 | AwsWebInfrastructure-dev-InfrastructureStatus | 実装済み |
| ComponentsDeployed | デプロイ済みコンポーネント | AwsWebInfrastructure-dev-ComponentsDeployed | 実装済み |
テスト・品質保証
| テスト項目 | 結果 | 説明 | ステータス |
|---|---|---|---|
| 単体テスト | 37/37 成功 | 全コンポーネントのテスト | 完了 |
| VPC設定テスト | 成功 | CIDR、サブネット、NAT Gateway | 完了 |
| セキュリティグループテスト | 成功 | 3つのSG作成と設定 | 完了 |
| ALB設定テスト | 成功 | ロードバランサー、ターゲットグループ | 完了 |
| EC2設定テスト | 成功 | インスタンス作成、IAMロール | 完了 |
| RDS設定テスト | 成功 | データベース、シークレット | 完了 |
| モニタリングテスト | 成功 | CloudWatch、SNS、アラーム | 完了 |
| 出力値テスト | 成功 | 全出力値の存在確認 | 完了 |
| CDK合成テスト | 成功 | CloudFormationテンプレート生成 | 完了 |
| セキュリティ検証 | 成功 | 12のセキュリティAspect適用 | 完了 |
| 環境別設定テスト | 成功 | dev/staging/prod設定検証 | 完了 |
| デプロイメント前検証 | 成功 | SynthesisValidation実行 | 完了 |
実装状況サマリー
全体進捗: 100% 完了(全コンポーネント統合済み、ES Modules対応完了)
実装完了コンポーネント
- VPCとネットワーク: 完全実装済み(6サブネット、NAT Gateway、IGW、デフォルトSG制限)
- セキュリティグループ: 完全実装済み(ALB、EC2、RDS用の3つのセキュリティグループ)
- Application Load Balancer: 完全実装済み(HTTP、ターゲットグループ、自動ターゲット登録)
- EC2インスタンス: 完全実装済み(2インスタンス、IAMロール、自動ターゲット登録)
- RDSデータベース: 完全実装済み(PostgreSQL、暗号化、シークレット管理)
- モニタリング・ログ: 完全実装済み(CloudWatch、SNS、4アラーム、環境別設定)
- セキュリティ・コンプライアンス: 完全実装済み(12検証Aspect、デプロイメント前検証)
- Lambda関数: CDK自動作成済み(VPCセキュリティ用カスタムリソース)
- 環境パラメータ化: 完全実装済み(dev/staging/prod対応、EnvironmentConfig)
- テスト・品質保証: 完全実装済み(37テスト成功、包括的検証)
- ES Modules対応: 完全実装済み(最新JavaScript標準、CDK合成確認済み)
設定のみ(将来拡張用)
- アプリケーション用Lambda: 設定準備済み(実際の関数は未作成、Node.js 22.x設定)
アーキテクチャ概要
構成: 従来型Webアプリケーション(ALB + EC2 + RDS)+ CDKセキュリティ機能
環境対応: 開発・ステージング・本番環境の自動切り替え
セキュリティ: 12のセキュリティAspect、デプロイメント前検証、VPCデフォルトSG制限
モジュールシステム: ES Modules(最新JavaScript標準)
Lambda関数の詳細
- 実装済み:
AwsWebInfrastructure-dev-CustomVpcRestrictDefaultS-*(VPCデフォルトセキュリティグループ制限用) - 設定済み: アプリケーション用Lambda関数設定(Node.js 22.x、環境別メモリサイズ)
- 注意: Node.js 24.xが理想だが、CDKで利用可能な最新版22.xを使用
環境別設定
- 開発環境: コスト最適化(t3.micro、シングルAZ、ログ無効化)
- ステージング環境: 本番準拠(t3.small、Multi-AZ、ログ有効化)
- 本番環境: 高性能・高可用性(t3.medium、Multi-AZ、包括的監視)
推定月額コスト
- 開発環境: 約$50-80(t3.microインスタンス、最小構成)
- ステージング環境: 約$150-200(中程度構成)
- 本番環境: 約$400-600(高性能・高可用性構成)
管理・運用
- 設定管理:
lib/utils/environment-config.tsによる一元管理 - テスト: 37の包括的テストケース
- 検証: デプロイメント前検証、セキュリティAspect
- 監視: CloudWatch、SNS、環境別アラーム設定
- モジュールシステム: ES Modules対応完了
技術仕様確認済み
- CloudFormationテンプレート: 正常生成確認済み
- リソース数: 約80個のAWSリソース定義
- 出力値: 25個の出力値定義
- アベイラビリティゾーン: ap-northeast-1a, ap-northeast-1c使用確認済み
- ES Modules: CDK合成・実行確認済み
このドキュメントはCDK合成結果とコード分析に基づいて更新されています。最新の情報については pnpm run synth の出力を確認してください。
補足:Q Developer Pro のアンサブスクライブ
こちらの方法で設定していた IAM Identity Center 経由のQ Developer Pro をアンサブスクライブします。
ログイン状況の確認とログアウト
Kiro CLI のUIから確認およびログアウトする場合はPreferencesで操作します。

なお、コマンドでも以下のように確認できます。
$ kiro-cli user whoami
Logged in with IAM Identity Center (https://d-1234567890.awsapps.com/start)
Profile:
QDevProfile-us-east-1-cm-naonishi
arn:aws:codewhisperer:us-east-1:123456789012:profile/XXXXXXXXXX12
サブスクリプションの解除
AWS マネジメントコンソールから Q Developer を選択し(既に Kiro と統合されているので表示は Kiroになる)、サブスクリプションを解除します。

ステータスがキャンセル済みに変わります。

続いて、IAM Identity Center を開き、念のため既存のセッションを終了しておきます。


アプリケーションの割り当てを表示すると、先ほどサブスクリプションのステータスはキャンセル済みに変わりましたがまだ登録が残っていることが分かります。

Kiro の画面に戻り、セッティングからプロフィールを削除します。

なお、KiroのタブとQ Developerのタブがあり、それぞれの設定を確認できます。Q Developer ではログの記録を有効化していたので、後ほど S3 バケット に格納されているプロンプトのログ等が、プロフィール削除によって消えないかも確認してみます。


IAM Identity Center の画面に戻ると、アプリケーションから表示が消えました。

設定していた各種ログは S3 バケットに問題なく残っていました。

まとめ
Power のオンボーディングでは感動しましたが、実際にWeb3層アーキテクチャくらいのシステムを作成しようとすると、考慮事項やテスト内容も増えてなかなかスムーズにはいきませんでした。
こちらの記事でも教訓として記載されていますが、本来は「何を作りたいか」を定義した上で、仕様をレビューしながら進めていくものなので、今回のように薄いステアリングファイルだけ準備して仕様のレビューもせずに進めていれば当たり前の結果なのかもしれません。
一方で、Powers によって特にプロンプトで指示しなくてもベストプラクティスに沿った設計&テストを実行してくれるので、あまり経験の無いサービスを用いてシステムを構築するような際にも活用できそうです。例えば、従来どおりパラメータシートを作ってから実装するやり方ではなく、対象サービスを絞った上でまず Kiro にざっくり実装とパラメータシート作成をしてもらう方法です。その後、任意のパラメータに再設計して再実装するというやり方も、慣れれば効率的にできるかもしれないと思いました。
本記事がどなたかのお役に立てれば幸いです。







