Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

cdk deploy

フォーカスモード
cdk deploy - AWS Cloud Development Kit (AWS CDK) v2

これは v2 AWS CDK デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

これは v2 AWS CDK デベロッパーガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS 環境に 1 つ以上の AWS CDK スタックをデプロイします。

デプロイ中、CDK CLI は AWS CloudFormation コンソールから観察できるものと同様の進行状況インジケータを出力します。

AWS 環境がブートストラップされていない場合、アセットがなく、合成されたテンプレートが 51,200 バイト未満のスタックのみが正常にデプロイされます。

使用方法

$ cdk deploy <arguments> <options>

引数

CDK スタック ID

デプロイするアプリからの CDK スタックのコンストラクト ID。

型: 文字列

必須: いいえ

オプション

すべての CDK CLI コマンドで動作するグローバルオプションのリストについては、「グローバルオプション」を参照してください。

--all BOOLEAN

CDK アプリにすべてのスタックをデプロイします。

デフォルト値: false

--asset-parallelism BOOLEAN

アセットを並行して構築および公開するかどうかを指定します。

--asset-prebuild BOOLEAN

最初のスタックをデプロイする前に、すべてのアセットを構築するかどうかを指定します。このオプションは、Docker 構築の失敗に役立ちます。

デフォルト値: true

--build-exclude, -E ARRAY

指定された ID でアセットを再構築しないでください。

このオプションは 1 つのコマンドで複数回指定できます。

デフォルト値: []

--change-set-name STRING

作成する AWS CloudFormation 変更セットの名前。

このオプションは --method='direct' と互換性がありません。

--concurrency NUMBER

スタック間の依存関係を考慮しながら、複数のスタックを並行してデプロイします。このオプションを使用してデプロイを高速化します。 AWS CloudFormation その他の AWS アカウント レート制限も考慮する必要があります。

実行する同時デプロイ (依存関係がある場合) の最大数を指定する数値を指定します。

デフォルト値: 1

--exclusively, -e BOOLEAN

要求されたスタックのみをデプロイし、依存関係を含めないでください。

--force, -f BOOLEAN

デプロイして既存のスタックを更新すると、CDK CLI はデプロイされたスタックのテンプレートおよびタグを、デプロイされるスタックと比較します。変更が検出されない場合、CDK CLI はデプロイをスキップします。

変更が検出されない場合でも、この動作を上書きしてスタックを常にデプロイするには、このオプションを使用します。

デフォルト値: false

--help, -h BOOLEAN

cdk deploy コマンドのコマンドリファレンス情報を表示します。

--hotswap BOOLEAN

開発を高速化するためのホットスワップデプロイ。可能な場合、このオプションはより高速なホットスワップデプロイの実行を試みます。例えば、CDK アプリで Lambda 関数のコードを変更した場合、CDK CLIは CloudFormation デプロイを実行するのではなく、サービス API を介してリソースを直接更新します。

CDK CLI がホットスワップをサポートしていない変更を検出した場合、それらの変更は無視されてメッセージが表示されます。完全な CloudFormation デプロイをフォールバックとして実行する場合、代わりに --hotswap-fallback を使用します。

CDK CLIは、現在の AWS 認証情報を使用して API コールを実行します。@aws-cdk/core:newStyleStackSynthesis 機能フラグが true に設定されている場合でも、ブートストラップスタックからロールを引き受けることはありません。これらのロールには、CloudFormation を使用せずに AWS リソースを直接更新するために必要なアクセス許可はありません。そのため、認証情報がホットスワップデプロイを実行しているスタックと同じスタック用であり AWS アカウント 、リソースを更新するために必要な IAM アクセス許可があることを確認してください。

現在、ホットスワップは次の変更でサポートされています。

  • Lambda 関数のコードアセット (Docker イメージおよびインラインコードを含む)、タグの変更、設定の変更 (説明変数および環境変数のみをサポート)。

  • Lambda バージョンおよびエイリアスの変更。

  • AWS Step Functions ステートマシンの定義変更。

  • Amazon ECS サービスのコンテナアセットの変更。

  • Amazon S3 バケットデプロイのウェブサイトアセットの変更。

  • AWS CodeBuild プロジェクトのソースと環境の変更。

  • AWS AppSync リゾルバーと関数の VTL マッピングテンプレートの変更。

  • APIsスキーマの変更 AWS AppSync GraphQL。

特定の CloudFormation 組み込み関数の使用は、ホットスワップデプロイの一部としてサポートされています。具体的には次のとおりです。

  • Ref

  • Fn::GetAtt – 部分的にのみサポートされています。サポートされているリソースおよび属性については、この実装を参照してください。

  • Fn::ImportValue

  • Fn::Join

  • Fn::Select

  • Fn::Split

  • Fn::Sub

このオプションは、ネストされたスタックとも互換性があります。

注記
  • このオプションは、デプロイを高速化するために CloudFormation スタックに意図的にドリフトを導入します。このため、開発目的にのみ使用してください。本番環境のデプロイにはこのオプションを使用しないでください。

  • このオプションは実験的と考えられており、今後は大幅な変更行われる場合があります。

  • 特定のパラメータのデフォルトは、ホットスワップパラメータとは異なる場合があります。例えば、Amazon ECS サービスの最小正常率は、現在 0 に設定されます。これが発生した場合、必要に応じてソースを確認してください。

デフォルト値: false

--hotswap-fallback BOOLEAN

このオプションは --hotswap に似ています。違いは、必要な変更が検出された場合、--hotswap-fallback は CloudFormation の完全なデプロイを実行するためにフォールバックすることです。

このオプションの詳細については、「--hotswap」を参照してください。

デフォルト値: false

--ignore-no-stacks BOOLEAN

CDK アプリにスタックが含まれていない場合でも、デプロイを実行してください。

このオプションは次のシナリオで役立ちます。devprod など、複数の環境を持つアプリある場合があります。開発を開始すると、本番環境アプリにリソースがないか、リソースがコメントアウトされている場合があります。アプリにスタックがないことを示すメッセージを含むデプロイエラーが発生します。--ignore-no-stacks を使用してこのエラーをバイパスします。

デフォルト値: false

--import-existing-resources BOOLEAN

既存のアンマネージド AWS CloudFormation リソースを からインポートします AWS アカウント。

このオプションを使用すると、同じアカウントの既存のアンマネージドリソースと同じカスタム名を持つ合成 AWS CloudFormation テンプレートのリソースがスタックにインポートされます。

このオプションを使用して、既存のリソースを新規または既存のスタックにインポートできます。

既存のリソースをインポートし、同じcdk deployコマンドで新しいリソースをデプロイできます。

カスタム名の詳細については、「 AWS CloudFormation ユーザーガイド」の「名前タイプ」を参照してください。

ImportExistingResources CloudFormation パラメータの詳細については、「 は AWS CloudFormation ChangeSets の新しいパラメータを使用してリソースのインポートを簡素化します。

このオプションの使用の詳細については、aws-cdk-cli GitHubリポジトリ「既存のリソースをインポートする」を参照してください。

--logs BOOLEAN

選択したスタック内のすべてのリソースによるすべてのイベントについて、標準出力 (stdout) で Amazon CloudWatch Logs を表示します。

このオプションは --watch とのみ互換性があります。

デフォルト値: true

--method, -m STRING

メソッドを設定してデプロイを実行します。

  • change-set – デフォルトのメソッド。CDK CLI はデプロイされる変更を使用して CloudFormation 変更セットを作成したら、デプロイを実行します。

  • direct – 変更セットを作成しないでください。代わりに、すぐに変更を適用してください。通常、変更セットを作成するよりもすばやく実行できますが、進行状況情報が失われます。

  • prepare-change-set – 変更セットを作成しますが、デプロイは実行しません。変更セットを検査する外部ツールがある場合、あるいは変更セットの承認プロセスがある場合に便利です。

有効な値: change-setdirectprepare-change-set

デフォルト値: change-set

--notification-arns ARRAY

CloudFormation がスタック関連イベントについて通知する Amazon SNS トピックの ARN。

--outputs-file, -O STRING

デプロイからのスタック出力が書き込まれるパス。

デプロイ後、スタック出力は JSON 形式で指定された出力ファイルに書き込まれます。

このオプションは、プロジェクトの cdk.json ファイルまたはローカル開発マシンの ~/.cdk.jsonで設定できます。

{ "app": "npx ts-node bin/myproject.ts", // ... "outputsFile": "outputs.json" }

複数のスタックがデプロイされている場合、出力は同じ出力ファイルに書き込まれ、スタック名を表すキーで整理されます。

--parameters ARRAY

デプロイ中に追加のパラメータを CloudFormation に渡します。

このオプションは、STACK:KEY=VALUE の形式の配列を受け入れます。

  • STACK – パラメータを関連付けるスタックの名前。

  • KEY – スタックのパラメータの名前。

  • VALUE – デプロイ時に渡す値。

スタック名が指定されていない場合、あるいは * がスタック名として指定されている場合、パラメータはデプロイされるすべてのスタックに適用されます。スタックがパラメータを活用しない場合、デプロイは失敗します。

パラメータはネストされたスタックには伝達されません。ネストされたスタックにパラメータを渡すには、NestedStack コンストラクトを使用します。

デフォルト値: {}

--previous-parameters BOOLEAN

既存のパラメータに以前の値を使用します。

このオプションが false に設定されているとき、すべてのデプロイにすべてのパラメータを指定する必要があります。

デフォルト値: true

--progress STRING

CDK CLI がデプロイの進行状況を表示する方法を設定します。

  • bar – リソースのイベントが現在デプロイされている状態で、スタックデプロイイベントを進行状況バーとして表示します。

  • events – すべての CloudFormation イベントを含む完全な履歴を提供します。

このオプションは、プロジェクトの cdk.json ファイルまたはローカル開発マシンの ~/.cdk.json で設定することもできます。

{ "progress": "events" }

有効な値:barevents|

デフォルト値: bar

--require-approval STRING

手動承認が必要なセキュリティ上機密性の高い変更を指定します。

  • any-change – スタックへの変更に手動承認が必要です。

  • broadening – 変更に許可やセキュリティグループルールの拡大を伴う場合、手動承認が必要です。

  • never – 承認は必要ありません。

有効な値: any-changebroadeningnever

デフォルト値: broadening

--rollback | --no-rollback, -R

デプロイ中にリソースの作成または更新に失敗した場合、CDK CLI が戻る前にデプロイは最新の安定状態にロールバックします。その時点までに行われたすべての変更は元に戻されます。作成されたリソースは削除され、更新プログラムはロールバックされます。

--no-rollback を指定してこの動作をオフにします。リソースの作成または更新に失敗した場合、CDK CLI はその時点までに行われた変更をそのままにして戻ります。デプロイは失敗した一時停止状態になります。ここからはコードを更新し、デプロイを再試行できます。すばやく反復する開発環境に役立ちます。

--no-rollback で実行されたデプロイが失敗し、デプロイをロールバックすることを決定した場合、cdk rollback コマンドを使用できます。詳細については、「cdk rollback」を参照してください。

注記

--no-rollback では、リソースの置き換えの原因となるデプロイは常に失敗します。このオプション値は、新しいリソースを更新または作成するデプロイにのみ使用できます。

デフォルト値: --rollback

--toolkit-stack-name STRING

既存の CDK Toolkit スタックの名前。

デフォルトでは、cdk bootstrap は指定された AWS 環境に CDKToolkit という名前のスタックをデプロイします。このオプションを使用し、ブートストラップスタックに別の名前を指定します。

CDK CLI はこの値を使用してブートストラップスタックのバージョンを検証します。

--watch BOOLEAN

CDK プロジェクトファイルを継続的に監視し、変更が検出されると指定されたスタックを自動的にデプロイします。

このオプションはデフォルトで --hotswap を暗示します。

このオプションには同等の CDK CLI コマンドがあります。詳細については、「cdk watch」を参照してください。

MyStackName という名前のスタックのデプロイ

$ cdk deploy MyStackName --app='node bin/main.js'

アプリに複数のスタックのデプロイ

cdk list を使用してスタックを一覧表示します。

$ cdk list CdkHelloWorldStack CdkStack2 CdkStack3

すべてのスタックをデプロイするには、--all オプションを使用します。

$ cdk deploy --all

デプロイするスタックを選択するには、スタック名を引数として指定します。

$ cdk deploy CdkHelloWorldStack CdkStack3

パイプラインスタックのデプロイ

cdk list を使用してスタック名をパスとして表示し、パイプライン階層内の場所を示します。

$ cdk list PipelineStack PiplelineStack/Prod PipelineStack/Prod/MyService

--all オプションまたはワイルドカード * を使用し、すべてのスタックをデプロイします。上記のスタックの階層がある場合、--all および * は最上位のスタックのみに一致します。階層内のすべてのスタックを一致させるには、** を使用します。

これらのパターンを組み合わせることができます。次の内容は、Prod ステージ内のすべてのスタックをデプロイします。

$ cdk deploy PipelineStack/Prod/**

デプロイ時にパラメータを渡す

CDK スタックでパラメータを定義します。次の内容は、Amazon SNS トピックに TopicNameParam という名前のパラメータを作成する例です。

new sns.Topic(this, 'TopicParameter', { topicName: new cdk.CfnParameter(this, 'TopicNameParam').value.toString() });

parameterized のパラメータ値を指定するには、次の内容を実行します。

$ cdk deploy --parameters "MyStackName:TopicNameParam=parameterized"

--force オプションを使用してパラメータ値を上書きできます。次の内容は、以前のデプロイからトピック名を上書きする例です。

$ cdk deploy --parameters "MyStackName:TopicNameParam=parameterName" --force

デプロイ後にスタック出力のファイル書き込み

CDK スタックファイルに出力を定義します。次の内容は、関数 ARN 用に出力を作成する例です。

const fn = new lambda.Function(this, "fn", { handler: "index.handler", code: lambda.Code.fromInline(`exports.handler = \${handler.toString()}`), runtime: lambda.Runtime.NODEJS_LATEST }); new cdk.CfnOutput(this, 'FunctionArn', { value: fn.functionArn, });

スタックをデプロイし、出力を outputs.json に書き込みます。

$ cdk deploy --outputs-file outputs.json

次の内容は、デプロイ後の outputs.json の例です。

{ "MyStack": { "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:MyStack-fn5FF616E3-G632ITHSP5HK" } }

この例では、 キーCfnOutputFunctionArn インスタンスの論理 IDに対応します。

次の内容は、複数のスタックがデプロイされたとき、デプロイ後の outputs.json 例です。

{ "MyStack": { "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:MyStack-fn5FF616E3-G632ITHSP5HK" }, "AnotherStack": { "VPCId": "vpc-z0mg270fee16693f" } }

デプロイ方法の変更

変更セットを使用せずに迅速にデプロイするには、--method='direct' を使用します。

$ cdk deploy --method='direct'

変更セットを作成してもデプロイしない場合、--method='prepare-change-set' を使用します。デフォルトでは、cdk-deploy-change-set という名前の変更セットが作成されます。この名前が付いた以前の変更セットが存在する場合、上書きされます。変更が検出されない場合でも、空の変更セットが作成されます。

変更セットに名前を付けることもできます。以下に例を示します。

$ cdk deploy --method='prepare-change-set' --change-set-name='MyChangeSetName'

このページの内容

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.