

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# ワークフローを使用した AWS CDK アプリケーションのデプロイ
<a name="cdk-dep-action"></a>

このセクションでは、ワークフローを使用して AWS Cloud Development Kit (AWS CDK) アプリを AWS アカウントにデプロイする方法について説明します。これを行うには、**[AWS CDK デプロイ]** アクションをワークフローに追加する必要があります。**AWS CDK デプロイ**アクションは、アプリケーションを合成してデプロイします AWS Cloud Development Kit (AWS CDK) AWS。アプリが にすでに存在する場合 AWS、アクションは必要に応じてアプリを更新します。

を使用したアプリの記述に関する一般的な情報については AWS CDK、[「 とは」を参照してください AWS CDK。](https://docs.aws.amazon.com/cdk/v2/guide/home.html) *AWS Cloud Development Kit (AWS CDK) 「 デベロッパーガイド*」の「�

**Topics**
+ [AWS CDK 「デプロイ」アクションを使用するタイミング](#cdk-dep-action-when-to-use)
+ [AWS CDK 「デプロイ」アクションの仕組み](#cdk-dep-action-how-it-works)
+ [AWS CDK 「デプロイ」アクションで使用される CDK CLI バージョン](#cdk-dep-action-cdk-version)
+ [AWS CDK 「デプロイ」アクションで使用されるランタイムイメージ](#cdk-dep-action-runtime)
+ [アクションはいくつのスタックをデプロイできますか?](#cdk-dep-action-how-many-stacks)
+ [例: AWS CDK アプリケーションのデプロイ](cdk-dep-action-example-workflow.md)
+ [AWS CDK 「デプロイ」アクションの追加](cdk-dep-action-add.md)
+ [「AWS CDK デプロイ」変数](cdk-dep-action-variables.md)
+ [「AWS CDK デプロイ」アクション YAML](cdk-dep-action-ref.md)

## AWS CDK 「デプロイ」アクションを使用するタイミング
<a name="cdk-dep-action-when-to-use"></a>

を使用してアプリケーションを開発し AWS CDK、自動継続的インテグレーションと配信 (CI/CD) ワークフローの一部として自動的にデプロイする場合は、このアクションを使用します。たとえば、誰かが AWS CDK アプリソースに関連するプルリクエストをマージするたびに、 AWS CDK アプリを自動的にデプロイできます。

## AWS CDK 「デプロイ」アクションの仕組み
<a name="cdk-dep-action-how-it-works"></a>

「**AWS CDK デプロイ**」は次のように機能します。

1. 実行時に、 アクションのバージョン 1.0.12 以前を指定した場合、アクションは最新の CDK CLI (Tookit とも呼ばれます) AWS CDK を CodeCatalyst [ランタイム環境イメージ](#cdk-dep-action-runtime)にダウンロードします。

   バージョン 1.0.13 以降を指定した場合、アクションは [特定のバージョン](#cdk-dep-action-cdk-version) の CDK CLI にバンドルされるため、ダウンロードは行われません。

1. アクションは CDK CLI を使用して `cdk deploy` コマンドを実行します。このコマンドは、 AWS CDK アプリケーションを合成してデプロイします AWS。このコマンドの詳細については、「*AWS Cloud Development Kit (AWS CDK) デベロッパーガイド*」の「[AWS CDK ツールキット (cdk コマンド)](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html)」を参照してください。

## AWS CDK 「デプロイ」アクションで使用される CDK CLI バージョン
<a name="cdk-dep-action-cdk-version"></a>

次の表は、**[AWS CDK デプロイ]** アクションのさまざまなバージョンでデフォルトで使用されている CDK CLI のバージョンを示しています。

**注記**  
デフォルトを上書きできる場合があります。詳細については、「[「AWS CDK デプロイ」アクション YAML](cdk-dep-action-ref.md)」の「[CdkCliVersion](cdk-dep-action-ref.md#cdk.dep.cdk.cli.version)」を参照してください。


| 「AWS CDK デプロイ」アクションバージョン | AWS CDK CLI バージョン | 
| --- | --- | 
|  1.0.0～1.0.12  |  最新  | 
|  1.10.13 以降  |  2.99.1  | 

## AWS CDK 「デプロイ」アクションで使用されるランタイムイメージ
<a name="cdk-dep-action-runtime"></a>

次の表は、CodeCatalyst が **[AWS CDK デプロイ]** アクションのさまざまなバージョンを実行するために使用するランタイム環境イメージを示しています。イメージには、プリインストールされたさまざまなツールのセットが含まれています。詳細については、「[アクティブなイメージ](build-images.md#build-curated-images)」を参照してください。

**注記**  
2024 年 3 月のイメージで利用可能な最新のツールを利用するには、**[AWS CDK デプロイ]** アクションをバージョン 2.x にアップグレードすることをお勧めします。アクションをアップグレードするには、ワークフロー定義ファイルの `Identifier` プロパティを `aws/cdk-deploy@v2` に設定します。詳細については、「[「AWS CDK デプロイ」アクション YAML](cdk-dep-action-ref.md)」を参照してください。


| 「AWS CDK デプロイ」アクションバージョン | ランタイム環境イメージ | 
| --- | --- | 
|  1.x  |  2022 年 11 月のイメージ  | 
|  2.x  |  2024 年 3 月のイメージ  | 

## アクションはいくつのスタックをデプロイできますか?
<a name="cdk-dep-action-how-many-stacks"></a>

**[AWS CDK デプロイ]** は 1 つのスタックのみをデプロイできます。 AWS CDK アプリが複数のスタックで構成されている場合は、ネストされたスタックを持つ親スタックを作成し、このアクションを使用して親をデプロイする必要があります。

# 例: AWS CDK アプリケーションのデプロイ
<a name="cdk-dep-action-example-workflow"></a>

次のワークフローの例には、**[AWS CDK デプロイ]** アクションと **[AWS CDK ブートストラップ]** アクションが含まれています。ワークフローは、連続して実行される次の構成要素で構成されます。
+ **トリガー** – ソースリポジトリに変更をプッシュすると、このトリガーによってワークフローが自動的に開始されます。このリポジトリには AWS CDK アプリが含まれています。トリガーについての詳細は、「[トリガーを使用したワークフロー実行の自動的な開始](workflows-add-trigger.md)」を参照してください。
+ **AWS CDK ブートストラップ**アクション (`CDKBootstrap`) – トリガー時に、アクションは`CDKToolkit`ブートストラップスタックを にデプロイします AWS。`CDKToolkit` スタックが環境内に既に存在する場合、必要に応じてアップグレードされます。それ以外の場合、何も発生せず、アクションは成功としてマークされます。
+ **AWS CDK デプロイ**アクション (`AWS CDK Deploy`) – **AWS CDK ブートストラップ**アクションが完了すると、**AWS CDK デプロイ**アクションは AWS CDK アプリケーションコードを CloudFormation テンプレートに合成し、テンプレートで定義されたスタックを にデプロイします AWS。

**注記**  
次のワークフロー例は説明を目的としており、追加の設定なしでは機能しません。

**注記**  
次の YAML コードでは、必要に応じて `Connections:` セクションを省略できます。これらのセクションを省略する場合は、環境の **[デフォルト IAM ロールフィールドで指定されたロール]** に、**[AWS CDK ブートストラップ]** アクションと **[AWS CDK デプロイ]** アクションに必要なアクセス許可と信頼ポリシーが含まれていることを確認する必要があります。デフォルトの IAM ロールを使用して環境を設定する方法の詳細については、「[環境を作成する](deploy-environments-creating-environment.md)」を参照してください。**[AWS CDK ブートストラップ]** アクションと **[AWS CDK デプロイ]** アクションに必要なアクセス許可と信頼ポリシーの詳細については、 [「AWS CDK ブートストラップ」アクション YAML](cdk-boot-action-ref.md) および [「AWS CDK デプロイ」アクション YAML](cdk-dep-action-ref.md) の `Role` プロパティの説明を参照してください。

```
Name: codecatalyst-cdk-deploy-workflow
SchemaVersion: 1.0

Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  CDKBootstrap:
    Identifier: aws/cdk-bootstrap@v2
    Inputs:
      Sources:
        - WorkflowSource
    Environment:
      Name: codecatalyst-cdk-deploy-environment
      Connections:
        - Name: codecatalyst-account-connection
          Role: codecatalyst-cdk-bootstrap-role
    Configuration:
      Region: us-west-2
        
  CDKDeploy:
    Identifier: aws/cdk-deploy@v2
    DependsOn: 
      - CDKBootstrap
    Environment:
      Name: codecatalyst-cdk-deploy-environment
      Connections:
        - Name: codecatalyst-account-connection
          Role: codecatalyst-cdk-deploy-role
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      StackName: my-app-stack
      Region: us-west-2
```

# AWS CDK 「デプロイ」アクションの追加
<a name="cdk-dep-action-add"></a>

 次の手順を使用して、**[AWS CDK デプロイ]** アクションをワークフローに追加します。

**[開始する前に]**

ワークフローに **[AWS CDK デプロイ]** アクションを追加する前に、次のタスクを完了します。

1. ** AWS CDK アプリの準備をします**。v1 または AWS CDK v2 を使用して、 でサポートされている任意のプログラミング言語で AWS CDK アプリを記述できます AWS CDK。 AWS CDK アプリファイルが次の場所で利用可能であることを確認します。
   + CodeCatalyst [[ソースリポジトリ]](source.md)、または 
   + 別のワークフローアクションによって生成された CodeCatalyst [出力アーティファクト](workflows-working-artifacts.md) 

1. ** AWS 環境をブートストラップします**。ブートストラップするには、次の操作を行います。
   + 「*AWS Cloud Development Kit (AWS CDK) デベロッパーガイド*」の「[ブートストラップをする方法](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html#bootstrapping-howto)」で説明されている方法のいずれかを使用します。
   + **[AWS CDK ブートストラップ]** アクションを使用します。このアクションは、**[AWS CDK デプロイ]** と同じワークフロー、または別のワークフローに追加できます。必要なリソースが配置されるように、**[AWS CDK デプロイ]** アクションを実行する前に、ブートストラップアクションが少なくとも 1 回実行されていることを確認してください。**AWS CDK ブートストラップアクションの詳細については、**「」を参照してください[ワークフローを使用して AWS CDK アプリをブートストラップする](cdk-boot-action.md)。

     ジョブのブックマークの詳細については、「*AWS Cloud Development Kit (AWS CDK) デベロッパーガイド*」 の「[ジョブ ブックマーク](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html)」を参照してください。

------
#### [ Visual ]

**ビジュアルエディタを使用してAWS CDK 「デプロイ」アクションを追加するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトを選択します。

1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

1. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

1. **[編集]** を選択します。

1. **[ビジュアル]** を選択します。

1. 左上で **[\$1 アクション]** を選択してアクションカタログを開きます。

1. ドロップダウンリストから、**[Amazon CodeCatalyst]** を選択します。

1. **[AWS CDK デプロイ]** アクションを検索し、次のいずれかを実行します。
   + プラス記号 (**\$1**) を選択してワークフロー図にアクションを追加し、設定ペインを開きます。

     または
   + **[AWS CDK デプロイ]** を選択します。[アクションの詳細] ダイアログボックスが表示されます。このダイアログボックスでは、次の操作を行います。
     + (オプション) **[ダウンロード]** を選択して、[アクションのソースコードを表示](workflows-view-source.md#workflows-view-source.title)します。
     + **[ワークフローに追加]** を選択して、ワークフロー図にアクションを追加し、設定ペインを開きます。

1. **[入力]** タブと **[設定]** タブで、必要に応じてフィールドに入力します。各フィールドの説明については、「[「AWS CDK デプロイ」アクション YAML](cdk-dep-action-ref.md)」を参照してください。このリファレンスでは、各フィールド (および対応する YAML プロパティ値) について、YAML エディタとビジュアルエディタの両方で表示される詳細情報を提供しています。

1. (オプション) **[検証]** を選択して、コミットする前にワークフローの YAML コードを検証します。

1. **[コミット]** を選択し、コミットメッセージを入力し、再度 **[コミット]** を選択します。
**注記**  
**[AWS CDK デプロイ]** アクションが `npm install` エラーで失敗した場合、エラーを修正する方法については、「[「npm install」エラーを解決するにはどうすればよいですか?](troubleshooting-workflows.md#troubleshooting-workflows-npm)」を参照してください。

------
#### [ YAML ]

**YAML エディタを使用してAWS CDK 「デプロイ」アクションを追加するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトを選択します。

1. ナビゲーションペインで **[CI/CD]**、**[ワークフロー]** の順に選択します。

1. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

1. **[編集]** を選択します。

1. **[YAML]** を選択します。

1. 左上で **[\$1 アクション]** を選択してアクションカタログを開きます。

1. ドロップダウンリストから、**[Amazon CodeCatalyst]** を選択します。

1. **[AWS CDK デプロイ]** アクションを検索し、次のいずれかを実行します。
   + プラス記号 (**\$1**) を選択してワークフロー図にアクションを追加し、設定ペインを開きます。

     または
   + **[AWS CDK デプロイ]** を選択します。[アクションの詳細] ダイアログボックスが表示されます。このダイアログボックスでは、次の操作を行います。
     + (オプション) **[ダウンロード]** を選択して、[アクションのソースコードを表示](workflows-view-source.md#workflows-view-source.title)します。
     + **[ワークフローに追加]** を選択して、ワークフロー図にアクションを追加し、設定ペインを開きます。

1. 必要に応じて、YAML コードのプロパティを変更します。使用可能な各プロパティの説明は、「[「AWS CDK デプロイ」アクション YAML](cdk-dep-action-ref.md)」に記載されています。

1. (オプション) **[検証]** を選択して、ワークフローの YAML コードをコミットする前に検証します。

1. **[コミット]** を選択し、コミットメッセージを入力し、再度 **[コミット]** を選択します。
**注記**  
**[AWS CDK デプロイ]** アクションが `npm install` エラーで失敗した場合、エラーを修正する方法については、「[「npm install」エラーを解決するにはどうすればよいですか?](troubleshooting-workflows.md#troubleshooting-workflows-npm)」を参照してください。

------

# 「AWS CDK デプロイ」変数
<a name="cdk-dep-action-variables"></a>

**[AWS CDK デプロイ]** アクションは、実行時に次の変数を生成して設定します。これらは*事前定義済み変数*と呼ばれます。

ワークフローでこれらの変数を参照する方法については、「[事前定義済み変数の使用](workflows-using-predefined-variables.md)」を参照してください


| キー | 値 | 
| --- | --- | 
|  stack-id  |  ワークフローの実行中に にデプロイされた AWS CDK アプリケーションスタックの Amazon リソースネーム (ARN)。 例: `arn:aws:cloudformation:us-west-2:111122223333:stack/codecatalyst-cdk-app-stack/6aad4380-100a-11ec-a10a-03b8a84d40df`  | 
|  deployment-platform  |  デプロイプラットフォームの名前。 `AWS:CloudFormation` にハードコードされています。  | 
|  リージョン  |  ワークフローの実行中に にデプロイ AWS リージョン された のリージョンコード。 例: `us-west-2`  | 
|  SKIP-DEPLOYMENT  |  の値は、ワークフローの実行中に AWS CDK アプリケーションスタックのデプロイがスキップされた`true`ことを示します。前回のデプロイ以降にスタックに変更がない場合、スタックのデプロイはスキップされます。 この変数は、値が `true` の場合にのみ生成されます。 `true` にハードコードされています。  | 
|  *CloudFormation variables*  |  前述の変数を生成するだけでなく、**[AWS CDK デプロイ]** アクションでは、*[CloudFormation]* 出力変数を後続の *[ワークフロー]* アクションで使用するワークフロー変数として公開します。デフォルトでは、このアクションは検出した最初の 4 つ (またはそれ以下の) CloudFormation 変数のみを公開します。どのアクションが公開されているかを確認するには、**[AWS CDK デプロイ]** アクションを 1 回実行し、実行の詳細ページの **[変数]** タブを確認します。**[変数]** タブに一覧表示されている変数が目的の変数でない場合は、YAML `CfnOutputVariables` プロパティを使用して異なる変数を設定できます。詳細については、「[「AWS CDK デプロイ」アクション YAML](cdk-dep-action-ref.md)」の「[CfnOutputVariables](cdk-dep-action-ref.md#cdk.dep.cfn.out) プロパティの説明」をご参照ください。  | 

# 「AWS CDK デプロイ」アクション YAML
<a name="cdk-dep-action-ref"></a>

**[AWS CDK デプロイ]** アクションの YAML 定義を次に示します。このアクションの使用方法については、「[ワークフローを使用した AWS CDK アプリケーションのデプロイ](cdk-dep-action.md)」を参照してください。

このアクション定義は、より広範なワークフロー定義ファイル内のセクションとして存在します。ファイルの詳細については、「[ワークフロー YAML 定義](workflow-reference.md)」を参照してください。

**注記**  
後続の YAML プロパティのほとんどには、対応する UI 要素がビジュアルエディタにあります。UI 要素を検索するには、**[Ctrl\$1F]** を使用します。要素は、関連付けられた YAML プロパティとともに一覧表示されます。

```
# The workflow definition starts here.
# See 最上位プロパティ for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:

# The action definition starts here.   
  CDKDeploy\$1nn: 
    Identifier: aws/cdk-deploy@v2
    DependsOn:
      - CDKBootstrap
    Compute:  
      Type: EC2 | Lambda
      Fleet: fleet-name
    Timeout: timeout-minutes
    Inputs:
      # Specify a source or an artifact, but not both.
      Sources:
        - source-name-1
      Artifacts:
        - artifact-name
    Outputs:
      Artifacts:
        - Name: cdk_artifact
          Files: 
            - "cdk.out/**/*"
    Environment:
      Name: environment-name
      Connections:
        - Name: account-connection-name
          Role: iam-role-name
    Configuration:
      StackName: my-cdk-stack
      Region: us-west-2
      Tags: '{"key1": "value1", "key2": "value2"}'
      Context: '{"key1": "value1", "key2": "value2"}'
      CdkCliVersion: version
      CdkRootPath: directory-containing-cdk.json-file
      CfnOutputVariables: '["CnfOutputKey1","CfnOutputKey2","CfnOutputKey3"]'
      CloudAssemblyRootPath: path-to-cdk.out
```

## CDKDeploy
<a name="cdk.dep.name"></a>

(必須)

アクションの名前を指定します。すべてのアクション名は、ワークフロー内で一意である必要があります。アクション名で使用できるのは、英数字 (a～z、A～Z、0～9)、ハイフン (-)、アンダースコア (\$1) のみです。スペースは使用できません。引用符を使用して、アクション名の特殊文字とスペースを有効にすることはできません。

デフォルト: `CDKDeploy_nn`。

対応する UI: [設定] タブ/**[アクション名]**

## Identifier
<a name="cdk.dep.identifier"></a>

(*CDKDeploy*/**Identifier**)

(必須)

アクションを識別します。バージョンを変更したい場合でない限り、このプロパティを変更しないでください。詳細については、「[使用するアクションバージョンの指定](workflows-action-versions.md)」を参照してください。

**注記**  
`aws/cdk-deploy@v2` を指定すると、Node.js 18 などの新しいツールを含む [2024 年](build-images.md#build.default-image) 3 月の画像でアクションが実行されます。`aws/cdk-deploy@v1` を指定すると、Node.js 16 などの古いツールを含む [2022 年 11 月のイメージ](build-images.md#build.previous-image)でアクションが実行されます。

デフォルト: `aws/cdk-deploy@v2`。

対応する UI: ワークフロー図/CDKDeploy\$1nn/**aws/cdk-deploy@v2** ラベル

## DependsOn
<a name="cdk.dep.dependson"></a>

(*CDKDeploy*/**DependsOn**)

(オプション)

このアクションを実行するために正常に実行する必要があるアクション、アクショングループを指定します。次のような **[AWS CDK ブートストラップ]** アクションを `DependsOn` プロパティで指定することをお勧めします。

```
CDKDeploy:
  Identifier: aws/cdk-deploy@v2
  DependsOn:
    - CDKBootstrap
```

**注記**  
[ブートストラップ](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html)は、 AWS CDK アプリケーションをデプロイするための必須の前提条件です。ワークフローに **[AWS CDK ブートストラップ]**アクションを含めない場合は、[AWS CDK デプロイアクション] を実行する前に、 AWS CDK ブートストラップスタックをデプロイする別の方法を見つける必要があります。詳細については、「[ワークフローを使用した AWS CDK アプリケーションのデプロイ](cdk-dep-action.md)」の [AWS CDK 「デプロイ」アクションの追加](cdk-dep-action-add.md) を参照してください。

「DependsOn」機能の詳細については、「[アクションの順序付け](workflows-depends-on.md)」を参照してください。

対応する UI: [入力] タブ/**[依存 - オプション]**

## Compute
<a name="cdk.dep.computename"></a>

(*CDKDeploy*/**Compute**)

(オプション)

ワークフローアクションの実行に使用されるコンピューティングエンジンです。コンピューティングはワークフローレベルまたはアクションレベルで指定できますが、両方を指定することはできません。ワークフローレベルで指定すると、コンピューティング設定はワークフローで定義されたすべてのアクションに適用されます。ワークフローレベルでは、同じインスタンスで複数のアクションを実行することもできます。詳細については、「[アクション間でのコンピューティングの共有する](compute-sharing.md)」を参照してください。

対応する UI: *[なし]*

## Type
<a name="cdk.dep.computetype"></a>

(*CDKDeploy*/Compute/**Type**)

([Compute](#cdk.dep.computename) が含まれている場合は必須)

コンピューティングエンジンのタイプです。次のいずれかの値を使用できます。
+ **EC2** (ビジュアルエディタ) または `EC2` (YAML エディタ)

  アクション実行時の柔軟性を目的として最適化されています。
+ **Lambda** (ビジュアルエディタ) または `Lambda` (YAML エディタ)

  アクションの起動速度を最適化しました。

コンピューティングタイプの詳細については、「[コンピューティングタイプ](workflows-working-compute.md#compute.types)」を参照してください。

対応する UI: [設定] タブ/[高度な設定 - オプション]/**[コンピューティングタイプ]**

## Fleet
<a name="cdk.dep.computefleet"></a>

(*CDKDeploy*/Compute/**Fleet**)

(オプション)

ワークフローまたはワークフローアクションを実行するマシンまたはフリートを指定します。オンデマンドフリートでは、アクションが開始すると、ワークフローは必要なリソースをプロビジョニングし、アクションが完了するとマシンは破棄されます。オンデマンドフリートの例: `Linux.x86-64.Large`、`Linux.x86-64.XLarge`。オンデマンドフリートの詳細については、「[オンデマンドフリートのプロパティ](workflows-working-compute.md#compute.on-demand)」を参照してください。

プロビジョニングされたフリートでは、ワークフローアクションを実行するように専用マシンのセットを設定します。これらのマシンはアイドル状態のままで、アクションをすぐに処理できます。プロビジョニングされたフリートの詳細については、「[プロビジョニングされたフリートのプロパティ](workflows-working-compute.md#compute.provisioned-fleets)」を参照してください。

`Fleet` を省略した場合、デフォルトは `Linux.x86-64.Large` です。

対応する UI: [設定] タブ/[高度な設定 - オプション]/**[コンピューティングフリート]**

## Timeout
<a name="cdk.dep.timeout"></a>

(*CDKDeploy*/**Timeout**)

(必須)

CodeCatalyst がアクションを終了するまでにアクションを実行できる時間を分単位 (YAML エディタ) または時間分単位 (ビジュアルエディタ) で指定します。最小値は 5 分で、最大値は [CodeCatalyst のワークフローのクォータ](workflows-quotas.md) で記述されています。デフォルトのタイムアウトは、最大タイムアウトと同じです。

対応する UI: [設定] タブ/**[タイムアウト - オプション]**

## Inputs
<a name="cdk.dep.inputs"></a>

(*CDKDeploy*/**Inputs**)

(オプション)

`Inputs` セクションでは、ワークフローの実行中に `CDKDeploy` に必要なデータを定義します。

**注記**  
**[AWS CDK デプロイ]** アクションごとに 1 つの入力 (ソースまたはアーティファクト) のみが許可されます。

対応する UI: **[入力]** タブ

## Sources
<a name="cdk.dep.inputs.sources"></a>

(*CDKDeploy*/Inputs/**Sources**)

(デプロイする AWS CDK アプリがソースリポジトリに保存されている場合に必須)

 AWS CDK アプリがソースリポジトリに保存されている場合は、そのソースリポジトリのラベルを指定します。**[AWS CDK デプロイ]** アクションは、デプロイプロセスを開始する前に、このリポジトリ内のアプリケーションを合成します。現在サポートされているラベルは、`WorkflowSource` のみです。

 AWS CDK アプリがソースリポジトリに含まれていない場合は、別のアクションによって生成されたアーティファクトに存在する必要があります。

sources の詳細については、「[ワークフローへのソースリポジトリの接続](workflows-sources.md)」を参照してください。

対応する UI: 入力タブ/**ソース - オプション**

## Artifacts - input
<a name="cdk.dep.inputs.artifacts"></a>

(*CDKDeploy*/Inputs/**Artifacts**)

(デプロイする AWS CDK アプリケーションが前のアクションの[出力アーティファクト](workflows-working-artifacts-output.md)に保存されている場合に必須)

前のアクションによって生成されたアーティファクトに AWS CDK アプリが含まれている場合は、ここでそのアーティファクトを指定します。**[AWS CDK デプロイ]** アクションは、デプロイプロセスを開始する前に、指定されたアーティファクト内のアプリケーションを CloudFormation テンプレートに合成します。 AWS CDK アプリがアーティファクトに含まれていない場合は、ソースリポジトリに存在する必要があります。

アーティファクトの詳細 (例を含む) については、「[アクション間でのアーティファクトとファイルの共有](workflows-working-artifacts.md)」を参照してください。

対応する UI: 入力タブ/**アーティファクト - オプション**

## Outputs
<a name="cdk.dep.outputs"></a>

(*CDKDeploy*/**Outputs**)

(オプション)

ワークフローの実行中にアクションによって出力されるデータを定義します。

対応する UI: **[出力]** タブ

## Artifacts - output
<a name="cdk.dep.outputs.artifacts"></a>

(*CDKDeploy*/Outputs/**Artifacts**

(オプション)

アクションによって生成されたアーティファクトを指定します。このアーティファクトは、他のアクションの入力として参照できます。

アーティファクトの詳細 (例を含む) については、「[アクション間でのアーティファクトとファイルの共有](workflows-working-artifacts.md)」を参照してください。

対応する UI: [出力] タブ/**[アーティファクト]**

## Name
<a name="cdk.dep.outputs.artifacts.name"></a>

(*CDKDeploy*/Outputs/Artifacts/**Name**)

([Artifacts - output](#cdk.dep.outputs.artifacts) が含まれている場合は必須)

実行時に**AWS CDK デプロイ**アクションによって合成される CloudFormation テンプレートを含むアーティファクトの名前を指定します。デフォルト値は `cdk_artifact` です。アーティファクトを指定しない場合、アクションはテンプレートを合成しますが、アーティファクトには保存されません。テストまたはトラブルシューティングの目的で、合成されたテンプレートをアーティファクトに保存して、その記録を保持することを検討してください。

対応する UI: [出力] タブ/[アーティファクト]/[アーティファクトを追加]/**[ビルドアーティファクト名]**

## Files
<a name="cdk.dep.outputs.artifacts.files"></a>

(*CDKDeploy*/Outputs/Artifacts/**Files**)

([Artifacts - output](#cdk.dep.outputs.artifacts) が含まれている場合は必須)

アーティファクトに含めるファイルを指定します。 AWS CDK アプリの合成された CloudFormation テンプレートを含める`"cdk.out/**/*"`には、 を指定する必要があります。

**注記**  
`cdk.out` は、合成されたファイルが保存されるデフォルトのディレクトリです。`cdk.json` ファイルで `cdk.out` 以外の出力ディレクトリを指定した場合は、`cdk.out` の代わりに、ここでそのディレクトリを指定します。

対応する UI: [出力] タブ/[アーティファクト]/[アーティファクトを追加]/**[ビルドで生成されるファイル]**

## Environment
<a name="cdk.dep.environment"></a>

(*CDKDeploy*/**Environment**)

(必須)

アクションで使用する CodeCatalyst 環境を指定します。アクションは、選択した環境で指定された AWS アカウント およびオプションの Amazon VPC に接続します。アクションは、環境で指定されたデフォルトの IAM ロールを使用して に接続し AWS アカウント、[Amazon VPC 接続](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html)で指定された IAM ロールを使用して Amazon VPC に接続します。

**注記**  
デフォルトの IAM ロールにアクションに必要なアクセス許可がない場合は、別のロールを使用するようにアクションを設定できます。詳細については、「[アクションの IAM ロールの変更](deploy-environments-switch-role.md)」を参照してください。

環境タグ付けの詳細については、「[AWS アカウント と VPCs へのデプロイ](deploy-environments.md)」と「[環境を作成する](deploy-environments-creating-environment.md)」を参照してください。

対応する UI: [設定] タブ/**[環境]**

## Name
<a name="cdk.dep.environment.name"></a>

(*CDKDeploy*/Environment/**Name**)

([Environment](#cdk.dep.environment) が含まれている場合は必須)

アクションに関連付ける既存の環境の名前を指定します。

対応する UI: [設定] タブ/**[環境]**

## Connections
<a name="cdk.dep.environment.connections"></a>

(*CDKDeploy*/Environment/**Connections**)

(新しいバージョンのアクションでは任意。古いバージョンでは必須)

アクションに関連付けるアカウント接続を指定します。`Environment` で最大 1 つのアカウント接続を指定できます。

アカウント接続を指定しない場合:
+ アクションは、CodeCatalyst コンソールの環境で指定された AWS アカウント 接続とデフォルトの IAM ロールを使用します。アカウント接続とデフォルトの IAM ロールを環境に追加する方法については、「[環境を作成する](deploy-environments-creating-environment.md)」を参照してください。
+ デフォルトの IAM ロールには、アクションに必要なポリシーとアクセス許可が含まれている必要があります。これらのポリシーとアクセス許可を確認するには、アクションの YAML 定義ドキュメントの **[ロール]** プロパティの説明を参照してください。

アカウント接続の詳細については、「[接続された AWS リソースへのアクセスを許可する AWS アカウント](ipa-connect-account.md)」を参照してください。アカウント接続を環境に追加する方法については、「[環境を作成する](deploy-environments-creating-environment.md)」を参照してください。

対応する UI: アクションのバージョンに応じて、次のいずれか。
+ (新しいバージョン) [設定] タブ/[環境]/[*my-environment* の内容]/3 つのドットメニュー/**[ロールを切り替える]**
+ (旧バージョン) [設定] タブ/「環境/アカウント/ロール」/**[AWS アカウント接続]**

## Name
<a name="cdk.dep.environment.connections.name"></a>

(*CDKDeploy*/Environment/Connections/**Name**)

([Connections](#cdk.dep.environment.connections) が含まれている場合は必須)

アカウント接続の名前を指定します。

対応する UI: アクションのバージョンに応じて、次のいずれか。
+ (新しいバージョン) [設定] タブ/[環境]/[*my-environment* の内容]/3 つのドットメニュー/**[ロールを切り替える]**
+ (旧バージョン) [設定] タブ/「環境/アカウント/ロール」/**[AWS アカウント接続]**

## Role
<a name="cdk.dep.environment.connections.role"></a>

(*CDKDeploy*/Environment/Connections/**Role**)

([Connections](#cdk.dep.environment.connections) が含まれている場合は必須)

アカウント接続の名前を指定します。

**AWS CDK デプロイ**アクションが AWS CDK アプリケーションスタックにアクセスして AWS デプロイするために使用する IAM ロールの名前を指定します。[ロールを CodeCatalyst スペース に追加](ipa-connect-account-addroles.md)し、ロールに次のポリシーが含まれていることを確認します。

IAM ロールを指定しない場合、アクションは CodeCatalyst コンソールの [[環境]](deploy-environments.md) に記載されているデフォルトの IAM ロールを使用します。環境でデフォルトのロールを使用する場合は、次のポリシーがあることを確認してください。
+ 以下のアクセス許可ポリシー:
**警告**  
アクセス許可は、次のポリシーに示すアクセス許可に制限します。範囲の広いアクセス許可を持つロールを使用すると、セキュリティリスクが発生する可能性があります。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "cloudformation:DescribeStackEvents",
                  "cloudformation:DescribeChangeSet",
                  "cloudformation:DescribeStacks",
                  "cloudformation:ListStackResources"
              ],
              "Resource": "*"
          },
          {
              "Sid": "VisualEditor1",
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::111122223333:role/cdk-*"
          }
      ]
  }
  ```

------
+ 次のカスタム信頼ポリシー:

**注記**  
必要に応じて、このアクションで `CodeCatalystWorkflowDevelopmentRole-spaceName` ロールを使用できます。このロールの詳細については、「[アカウントとスペース用の **CodeCatalystWorkflowDevelopmentRole-*spaceName*** ロールを作成する](ipa-iam-roles.md#ipa-iam-roles-service-create)」を参照してください。`CodeCatalystWorkflowDevelopmentRole-spaceName` ロールにはフルアクセス許可があり、セキュリティ上のリスクをもたらす可能性があることを理解してください。このロールは、セキュリティが懸念されないチュートリアルやシナリオでのみ使用することをお勧めします。

対応する UI: アクションのバージョンに応じて、次のいずれか。
+ (新しいバージョン) [設定] タブ/[環境]/[*my-environment* の内容]/3 つのドットメニュー/**[ロールを切り替える]**
+ (旧バージョン) [設定] タブ/「環境/アカウント/ロール」/**[ロール]**

## Configuration
<a name="cdk.dep.configuration"></a>

(*CDKDeploy*/**Configuration**)

(必須)

アクションの設定プロパティを定義できるセクション。

対応する UI: **[設定]** タブ

## StackName
<a name="cdk.dep.stack.name"></a>

(*CDKDeploy*/Configuration/**StackName**)

(必須)

 AWS CDK アプリの `bin` ディレクトリのエントリポイントファイルに表示される AWS CDK アプリスタックの名前。次の例は、TypeScript エントリポイントファイルの内容を示し、スタック名は*赤い斜体*で強調表示されています。エントリポイントファイルが別の言語の場合、似ています。

```
import * as cdk from 'aws-cdk-lib';
import { CdkWorksopTypescriptStack } from '../lib/cdk_workshop_typescript-stack';

const app = new cdk.App();
new CdkWorkshopTypescriptStack(app, 'CdkWorkshopTypescriptStack');
```

指定できるスタックは 1 つだけです。

**ヒント**  
複数のスタックがある場合は、ネストされたスタックを使用して親スタックを作成できます。その後、このアクションで親スタックを指定して、すべてのスタックをデプロイできます。

対応する UI: [設定] タブ/**[スタック名]**

## Region
<a name="cdk.dep.region"></a>

(*CDKDeploy*/Configuration/**Region**)

(オプション)

 AWS CDK アプリケーションスタックをデプロイする AWS リージョン を指定します。リージョンコードの一覧については、「[リージョンエンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes)」を参照してください。

リージョンを指定しない場合、**AWS CDK デプロイ**アクションは AWS CDK コードで指定されたリージョンにデプロイされます。詳細については、「*AWS Cloud Development Kit (AWS CDK) デベロッパーガイド*」の「[環境枠](https://docs.aws.amazon.com/cdk/v2/guide/environments.html)」を参照してください。

対応する UI: [設定] タブ/**[リージョン]**

## Tags
<a name="cdk.dep.tags"></a>

(*CDKDeploy*/Configuration/**Tags**)

(オプション)

 AWS CDK アプリケーションスタックの AWS リソースに適用するタグを指定します。タグは、スタック自体とスタック内の個々のリソースに適用されます。タグ付けの詳細については、「*AWS Cloud Development Kit (AWS CDK) デベロッパーガイド*」の「[タグ付け](https://docs.aws.amazon.com/cdk/v2/guide/tagging.html)」を参照してください。

対応する UI: [設定] タブ/[高度な設定 - オプション]/**[タグ]**

## Context
<a name="cdk.dep.context"></a>

(*CDKDeploy*/Configuration/**Context**)

(オプション)

 AWS CDK アプリケーションスタックに関連付けるコンテキストをキーと値のペアの形式で指定します。コンテキストの詳細については、「*AWS Cloud Development Kit (AWS CDK) デベロッパーガイド*」の「[ランタイムコンテキスト](https://docs.aws.amazon.com/cdk/v2/guide/context.html)」を参照してください。

対応する UI: [設定] タブ/[高度な設定 - オプション]/**[コンテキスト]**

## CdkCliVersion
<a name="cdk.dep.cdk.cli.version"></a>

(*CDKDeploy*/Configuration/**CdkCliVersion**)

(オプション)

このプロパティは、**[AWS CDK デプロイ]** アクションのバージョン 1.0.13 以降、および **[AWS CDK ブートストラップ]** アクションのバージョン 1.0.8 以降で使用できます。

次のいずれかを指定します。
+ このアクションで使用する AWS Cloud Development Kit (AWS CDK) コマンドラインインターフェイス (CLI) のフルバージョン (ツールキットとも呼ばれ AWS CDK ます）。例えば、`2.102.1` などです。アプリケーションのビルドとデプロイ時に一貫性と安定性を確保するため、フルバージョンを指定することを検討してください。

  または
+ `latest`。CDK CLI の最新の機能と修正を活用するには、`latest` を指定することを検討してください。

アクションは、指定されたバージョンの CLI (または最新バージョン) AWS CDK を CodeCatalyst [ビルドイメージ](build-images.md)にダウンロードし、このバージョンを使用して CDK アプリケーションのデプロイまたは環境のブートストラップ AWS に必要なコマンドを実行します。

使用できるサポートされている CDK CLI バージョンの一覧については、[[AWS CDK バージョン]](https://docs.aws.amazon.com/cdk/api/versions.html) を参照してください。

このプロパティを省略すると、アクションは次のいずれかのトピックで説明されているデフォルトの AWS CDK CLI バージョンを使用します。
+ [AWS CDK 「デプロイ」アクションで使用される CDK CLI バージョン](cdk-dep-action.md#cdk-dep-action-cdk-version) 
+ [AWS CDK 「ブートストラップ」アクションで使用される CDK CLI バージョン](cdk-boot-action.md#cdk-boot-action-cdk-version)

対応する UI: 設定タブ/**AWS CDK CLI バージョン**

## CdkRootPath
<a name="cdk.dep.cdk.root.path"></a>

(*CDKDeploy*/Configuration/**CdkRootPath**)

(オプション)

 AWS CDK プロジェクトの `cdk.json` ファイルを含むディレクトリへのパス。**[AWS CDK デプロイ]** アクションはこのフォルダから実行され、アクションによって作成された出力はこのディレクトリに追加されます。指定しない場合、**AWS CDK デプロイ**アクションは`cdk.json`ファイルが AWS CDK プロジェクトのルートにあることを前提としています。

対応する UI: [設定] タブ/**cdk.json が存在するディレクトリ**

## CfnOutputVariables
<a name="cdk.dep.cfn.out"></a>

(*CDKDeploy*/Configuration/**CfnOutputVariables**)

(オプション)

ワークフロー出力変数として公開する AWS CDK アプリケーションコード内の`CfnOutput`コンストラクトを指定します。その後、ワークフロー内の後続のアクションでワークフロー出力変数を参照できます。CodeCatalyst における変数の詳細については、「[ワークフローでの変数の使用](workflows-working-with-variables.md)」を参照してください。

たとえば、 AWS CDK アプリケーションコードは次のようになります。

```
import { Duration, Stack, StackProps, CfnOutput, RemovalPolicy} from 'aws-cdk-lib';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
import * as s3 from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';
import * as cdk from 'aws-cdk-lib';
export class HelloCdkStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);
    const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
      removalPolicy: RemovalPolicy.DESTROY,
    });
    new CfnOutput(this, 'bucketName', {
      value: bucket.bucketName,
      description: 'The name of the s3 bucket',
      exportName: 'amzn-s3-demo-bucket',
    });
    const table = new dynamodb.Table(this, 'todos-table', {
      partitionKey: {name: 'todoId', type: dynamodb.AttributeType.NUMBER},
      billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
      removalPolicy: RemovalPolicy.DESTROY,
    })
    new CfnOutput(this, 'tableName', {
      value: table.tableName,
      description: 'The name of the dynamodb table',
      exportName: 'myDynamoDbTable',
    });
    ...
  }
}
```

...`CfnOutputVariables` プロパティは次のようになります。

```
Configuration:
  ...
  CfnOutputVariables: '["bucketName","tableName"]'
```

...その後、アクションは次のワークフロー出力変数を生成します。


| キー | 値 | 
| --- | --- | 
|  bucketName  |  `bucket.bucketName`  | 
|  tableName  |  `table.tableName`  | 

その後、後続のアクションで `bucketName` 変数と `tableName` 変数を参照できます。後続のアクションでワークフロー出力変数を参照する方法については、「[事前定義済み変数の参照](workflows-working-with-variables-reference-output-vars.md)」を参照してください。

`CfnOutputVariables` プロパティに `CfnOutput` コンストラクトを指定しない場合、アクションはワークフロー出力変数として検出される最初の 4 つ (またはそれ以下) の CloudFormation 出力変数を公開します。詳細については、「[「AWS CDK デプロイ」変数](cdk-dep-action-variables.md)」を参照してください。

**ヒント**  
アクションが生成するすべての CloudFormation 出力変数の一覧を取得するには、**[AWS CDK デプロイ]** アクションを含むワークフローを 1 回実行し、アクションの **[ログ]** タブを確認します。ログには、 AWS CDK アプリに関連付けられているすべての CloudFormation 出力変数のリストが含まれます。すべての CloudFormation 変数が何であるかがわかったら、`CfnOutputVariables` プロパティを使用してワークフロー出力変数に変換する変数を指定できます。

 CloudFormation 出力変数の詳細については、 *AWS Cloud Development Kit (AWS CDK) API リファレンス*の クラス CfnOutput (コンストラクト) で`CfnOutput`利用可能な コンストラクトのドキュメントを参照してください。 [ CfnOutput ](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.CfnOutput.html) 

対応する UI: 設定タブ/**CloudFormation 出力変数**

## CloudAssemblyRootPath
<a name="cdk.dep.cloud"></a>

(*CDKDeploy*/Configuration/**CloudAssemblyRootPath**)

(オプション)

 AWS CDK アプリのスタックを ( `cdk synth`オペレーションを使用して) クラウドアセンブリに既に合成している場合は、クラウドアセンブリディレクトリのルートパス () を指定します`cdk.out`。指定されたクラウドアセンブリディレクトリにある CloudFormation テンプレートは、 `cdk deploy --app` コマンド AWS アカウント を使用してデプロイアクションによって に**AWS CDK デプロイ**されます。`--app` オプションが存在する場合、`cdk synth` オペレーションは実行されません。

クラウドアセンブリディレクトリを指定しない場合、**[AWS CDK デプロイ]** アクションは `--app` オプションなしで `cdk deploy` コマンドを実行します。`--app` オプションがない場合、`cdk deploy`オペレーションは (`cdk synth`) を合成し、 AWS CDK アプリを にデプロイします AWS アカウント。

**AWS CDK 「デプロイ」アクションが実行時に合成できるときに、既存の合成されたクラウドアセンブリを指定するのはなぜですか?**

既存の合成されたクラウドアセンブリを指定して、次のことを行えます。
+ **「デプロイ」アクションを実行するたびに、まったく同じリソースセットがAWS CDK デプロイされていることを確認します。**

  クラウドアセンブリを指定しない場合、**[AWS CDK デプロイ]** アクションは実行時期に応じて異なるファイルを合成してデプロイできます。例えば、**[AWS CDK デプロイ]** アクションは、テストステージ中に 1 つの依存関係のセット、および本番ステージ中に別の依存関係のセット (それらの依存関係がステージ間で変更された場合) を使用してクラウドアセンブリを合成する場合があります。テスト対象とデプロイ対象との正確なパリティを保証するには、一度合成してから、**[Path to cloud assembly directory]** フィールド (ビジュアルエディタ) または `CloudAssemblyRootPath` プロパティ (YAML エディタ) を使用して、既に合成済みのクラウドアセンブリを指定することをお勧めします。
+ ** AWS CDK アプリで非標準パッケージマネージャーとツールを使用する**

  `synth` オペレーション中、**[AWS CDK デプロイ]** アクションは npm や pip などの標準ツールを使用してアプリを実行しようとします。アクションがこれらのツールを使用してアプリを正常に実行できない場合、合成は行われず、アクションは失敗します。この問題を回避するには、アプリの `cdk.json` ファイルで AWS CDK アプリを正常に実行するために必要な正確なコマンドを指定し、**AWS CDK デプロイ**アクションを含まないメソッドを使用してアプリを合成します。クラウドアセンブリが生成されたら、**[AWS CDK デプロイ]** アクションの **[クラウドアセンブリディレクトリへのパス]** フィールド (ビジュアルエディタ) または `CloudAssemblyRootPath` プロパティ (YAML エディタ) で指定できます。

 AWS CDK アプリをインストールして実行するためのコマンドを含めるように `cdk.json` ファイルを設定する方法については、[「アプリコマンドの指定](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-app-command)」を参照してください。

`cdk deploy` および `cdk synth` コマンド、ならびに `--app` オプションの詳細については、「*AWS Cloud Development Kit (AWS CDK) デベロッパーガイド*」の「[スタックのデプロイ](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-deploy)」、「[スタックの合成](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-synth)」、「[合成のスキップ](https://docs.aws.amazon.com/cdk/v2/guide/cli.html#cli-deploy-nosynth)」を参照してください。

クラウドアセンブリの詳細については、「*AWS Cloud Development Kit (AWS CDK) API リファレンス*」の「[クラウドアセンブリ](https://docs.aws.amazon.com/cdk/api/v2/docs/cloud-assembly-schema-readme.html)」を参照してください。

対応する UI: [設定] タブ/**クラウドアセンブリディレクトリへのパス**