

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

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

# CDK Toolkit Library を使用してプログラムによるアクションを実行する
<a name="toolkit-library"></a>

## CDK Toolkit Library を理解する
<a name="toolkit-library-intro"></a>

CDK Toolkit Library を使用すると、CLI コマンドを使用する代わりに、コードを使用して CDK のプログラムによるアクションを実行できます。このライブラリを使用して、カスタムツールの作成、特殊な CLI アプリケーションの構築、開発ワークフローへの CDK 機能の統合を行うことができます。

 **プログラムによる制御でインフラストラクチャのライフサイクルを管理する**   
CDK Toolkit Library には、次の CDK アクション用のプログラムによるインターフェイスが用意されています。  
+  **合成** - AWS CloudFormation テンプレートとデプロイアーティファクトを生成します。
+  **デプロイ** - CloudFormation テンプレートを使用してインフラストラクチャをプロビジョニングまたは更新します。
+  **リファクタリング** - コンストラクトの名前変更やスタック間の移動など、CDK コードのリファクタリング時にデプロイされたリソースを保持します。
+  **リスト** - スタックとその依存関係に関する情報を表示します。
+  **ウォッチ** - CDK アプリのローカルの変更をモニタリングします。
+  **ロールバック** - スタックを最後の安定状態に戻します。
+  **破棄** - CDK スタックと関連付けられたリソースを削除します。

 **インフラストラクチャ管理を強化およびカスタマイズする**   
+  **コードによって制御する** - インフラストラクチャ管理をアプリケーションに直接統合し、レスポンシブデプロイパイプラインを構築します。
+  **クラウドアセンブリを管理する** - デプロイ前にインフラストラクチャ定義を作成、検査、変換します。
+  **デプロイをカスタマイズする** - 要件に合わせてパラメータ、ロールバック動作、モニタリングを設定します。
+  **リファクタリング中にリソースを保持する** - CDK コードをリファクタリングするときにリソースを自動的に検出して保持します。
+  **エラーを正確に処理する** - 詳細な診断情報を使用して構造化されたエラー処理を実装します。
+  **通信をカスタマイズする** - カスタム進行状況インジケータを設定し、`IoHost` 実装を通じてログを記録します。
+  **AWS と接続する** - プロファイル、リージョン、認証フローをプログラムで設定します。

## CDK Toolkit Library を使用するタイミングの選択
<a name="toolkit-library-intro-when"></a>

CDK Toolkit Library は、以下を行う必要がある場合に特に役立ちます。
+ CI/CD パイプラインの一部としてインフラストラクチャのデプロイを自動化します。
+ 組織のニーズに合わせたカスタムデプロイツールを構築します。
+ CDK アクションを既存のアプリケーションまたはプラットフォームに統合します。
+ カスタム検証または承認ステップを使用して、特殊なデプロイワークフローを作成します。
+ 複数の環境全体で高度なインフラストラクチャ管理パターンを実装します。
+ リファクタリングオペレーションを自動化して、CDK コードをリファクタリングするときにリソースを保持します。

## CDK Toolkit Library の使用
<a name="toolkit-library-intro-example"></a>

次の例は、CDK Toolkit Library を使用してシンプルな S3 バケットを作成してデプロイする方法を示しています。

```
// Import required packages
import { Toolkit } from '@aws-cdk/toolkit-lib';
import { App, Stack } from 'aws-cdk-lib';
import * as s3 from 'aws-cdk-lib/aws-s3';

// Create and configure the CDK Toolkit
const toolkit = new Toolkit();

// Create a cloud assembly source with an inline app
const cloudAssemblySource = await toolkit.fromAssemblyBuilder(async () => {
   const app = new App();
   const stack = new Stack(app, 'SimpleStorageStack');

   // Create an S3 bucket in the stack
   new s3.Bucket(stack, 'MyFirstBucket', {
      versioned: true
   });

   return app.synth();
});

// Deploy the stack
await toolkit.deploy(cloudAssemblySource);
```

 **次のステップ**   
+  **デプロイを自動化する** - デプロイをプログラムによってトリガーし、デプロイ前後のステップを追加します。
+  **システムと統合する** - CI/CD ワークフロー、カスタムツール、モニタリングソリューションに接続します。
+  **デプロイの詳細を制御する** - スタック選択とマルチ環境デプロイのきめ細かなオプションを設定します。
+  **信頼性を強化する** - 本番環境対応のエラー処理とデプロイの進行状況の追跡を実装します。
+  **リファクタリングを自動化する** - CDK コードのリファクタリング時にリソースを検出して保存します。

## 次のステップ
<a name="toolkit-library-intro-next"></a>

CDK Toolkit Library の使用を開始するには、「[CDK Toolkit Library の使用を開始する](toolkit-library-gs.md)」を参照してください。

## 詳細
<a name="toolkit-library-intro-learn"></a>

Toolkit Library の詳細については、次の内容を参照してください。
+  *@aws-cdk/toolkit-lib* `npm` パッケージの [ReadMe](https://www.npmjs.com/package/@aws-cdk/toolkit-lib)。
+  [AWS CDK Toolkit Library API リファレンス](https://docs.aws.amazon.com/cdk/api/toolkit-lib/)。