aws-serverless-deployment について
AWS Serverless Deploymentは、SAMまたはCDKを使ったAWSのサーバーレスアプリケーションの構築とデプロイを支援するスキルです。プロジェクト設定、インフラ定義、デプロイワークフロー、CI/CDを扱い、既定ではCDKとTypeScriptを使用します。
主な機能
- 01SAMとCDKのプロジェクト設定
- 02インフラテンプレートとコンストラクト
- 03デプロイワークフローとCI/CDパイプライン
- 04SAMとCDKの併用ガイド
- 05SAMテンプレートの自動検証フック
活用シーン
- 01AWSサーバーレスプロジェクトの初期設定
- 02SAMテンプレートやCDKコンストラクトの作成・確認
- 03デプロイワークフローやCI/CDパイプラインの設定
- 04SAMからCDKへの移行計画
MCP 対応
このスキルはAWS Serverless MCP Serverを使って、プロジェクト作成、インフラコード生成、デプロイを行います。書き込み権限は既定で有効で、機密データへのアクセスには追加設定が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ awslabs/ agent-plugins --skill aws-serverless-deploymentインストール後、Claude Code で/aws-serverless-deploymentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/cdk-lambda-constructs.mdcdk-project-setup.mdcdk-serverless-patterns.mdsam-cdk-coexistence.mdsam-project-setup.md詳細
AWS サーバーレスデプロイ
SAM または CDK を使用して、AWS にサーバーレスアプリケーションをデプロイします。このスキルでは、プロジェクトのひな形作成、IaC テンプレート、CDK コンストラクトとパターン、デプロイワークフロー、CI/CD パイプライン、SAM と CDK の併用について説明します。
Lambda の実行時の動作、イベントソース、オーケストレーション、オブザーバビリティ、最適化については、aws-lambda スキルを参照してください。
参照ファイルを読み込むタイミング
ユーザーが取り組んでいる内容に応じて、適切な参照ファイルを読み込んでください。
- SAM プロジェクトのセットアップ、テンプレート、デプロイワークフロー、ローカルテスト、またはコンテナイメージ -> references/sam-project-setup.mdを参照してください
- CDK プロジェクトのセットアップ、コンストラクト、CDK のテスト、またはCDK パイプライン -> references/cdk-project-setup.mdを参照してください
- CDK Lambda コンストラクト、NodejsFunction、PythonFunction、またはCDK Function -> references/cdk-lambda-constructs.mdを参照してください
- CDK サーバーレスパターン、API Gateway CDK、Function URL CDK、EventBridge CDK、DynamoDB CDK、またはSQS CDK -> references/cdk-serverless-patterns.mdを参照してください
- SAM と CDK の併用、SAM から CDK への移行、またはCDK での sam build の使用 -> references/sam-cdk-coexistence.mdを参照してください
ベストプラクティス
SAM
- 推奨:ユースケースに適したテンプレートで
sam_initを使用します - 推奨:
Globalsセクションでタイムアウト、メモリ、ランタイム、トレースのグローバルなデフォルト値を設定します - 推奨:複数環境へのデプロイには、環境ごとのセクションを
samconfig.tomlで使用します - 推奨:ネイティブ依存関係を使用する場合は、
sam build --use-containerを使用します - 非推奨:リソース設定を理解せずに、インターネット上のテンプレートをコピーして貼り付けること
- 非推奨:テンプレートにリソース ARN やアカウント ID をハードコードすること。
!Ref、!GetAtt、!Subを使用します
CDK
- 推奨:TypeScript を使用します。型チェックにより、AWS API の呼び出し前の合成時にエラーを検出できます
- 推奨:L1 や生の IAM ステートメントより、L2 コンストラクトと
grant*メソッドを優先します - 推奨:ステートフルリソースとステートレスリソースを別々のスタックに分け、ステートフルなスタックでは終了保護を有効にします
- 推奨:
cdk.context.jsonをバージョン管理にコミットします。VPC/AZ の検索結果をキャッシュし、決定的な合成を可能にします - 推奨:
aws-cdk-lib/assertionsを使用してユニットテストを作成します。ステートフルリソースの論理 ID をアサートし、意図しない置換を検出します - 推奨:デプロイのたびに、CI で
cdk diffを実行して変更を確認します - 非推奨:アカウント ID やリージョン文字列をハードコードすること。
this.accountとthis.regionを使用します - 非推奨:本番環境でパイプラインを使わずに
cdk deployを直接使用すること - 非推奨:
cdk bootstrapを省略すること。CDK ツールキットスタックがないとデプロイに失敗します
設定
AWS CLI のセットアップ
このスキルを使用するには、ホストマシンで AWS 認証情報が設定されている必要があります。
アクセスを確認する:aws sts get-caller-identity を実行して、認証情報が有効であることを確認します
SAM CLI のセットアップ
確認する:sam --version を実行します
コンテナランタイムのセットアップ
- Docker 互換のコンテナランタイムをインストールする:
sam_local_invokeとコンテナベースのビルドに必要です - 確認する:
docker --versionやfinch --versionなど、適切なコマンドを使用します
AWS Serverless MCP Server
書き込みアクセスはデフォルトで有効です。 プラグインの .mcp.json には --allow-write が設定されているため、MCP サーバーはユーザーに代わってプロジェクトを作成し、IaC を生成し、デプロイできます。
Lambda や API Gateway のログなどの機密データへのアクセスは、デフォルトでは有効になっていません。アクセスを許可するには、.mcp.json に --allow-sensitive-data-access を追加してください。
SAM テンプレートの検証フック
このプラグインには、template.yaml または template.yml を編集するたびに sam validate を自動的に実行する PostToolUse フックが含まれています。検証に失敗すると、エラーがシステムメッセージとして返されるため、すぐに修正できます。このフックを使用するには、SAM CLI と jq がインストールされている必要があります。どちらかがインストールされていない場合は、システムメッセージを表示して検証をスキップします。ユーザーは /hooks から無効にできます。
確認:jq --version を実行します
IaC フレームワークの選択
デフォルト:CDK
上書き構文:
- "use CloudFormation" → YAML テンプレートを生成します
- "use SAM" → YAML テンプレートを生成します
指定がない場合は、必ず CDK を使用します
CDK の言語選択
デフォルト:TypeScript
上書き構文:
- "use Python" → Python コードを生成します
- "use JavaScript" → JavaScript コードを生成します
指定がない場合は、必ず TypeScript を使用します
エラー発生時の対応
Serverless MCP サーバーを利用できない場合
- ユーザーに通知します:「AWS Serverless MCP が応答していません」
- 「MCP のサポートなしで続行しますか?」と尋ねます
- ユーザーの確認なしに続行してはいけません