翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECS Anywhere を で設定してオンプレミスのコンテナアプリケーションを管理する AWS CDK
作成者: Rahul Sharad Gaikwad (AWS)
コードリポジトリ: amazon-ecs-anywhere-cdk-samples | 環境:PoC またはパイロット | テクノロジー: モダナイゼーション、コンテナとマイクロサービス DevOps、ハイブリッドクラウド、インフラストラクチャ |
ワークロード:その他すべてのワークロード | AWS サービス: AWS CDK、Amazon ECS、AWSアイデンティティとアクセス管理 |
[概要]
Amazon ECS Anywhere
このパターンは、AWSCloud Development Kit (AWS CDK)
前提条件と制限
前提条件
アクティブ AWS アカウント。
AWS コマンドラインインターフェイス (AWS CLI) がインストールされ、設定されています。(AWSCLIドキュメントの「 のインストール、更新、アンインストールAWSCLI」を参照してください。)
AWS CDK ツールキット、インストールおよび設定済み。(AWSCDKドキュメントの AWS CDK Toolkit を参照し、 手順に従ってバージョン 2 をグローバルにインストールします)。
ノードパッケージマネージャー (npm)、 AWSCDKの 用にインストールおよび設定されています TypeScript。(npm ドキュメントの「Node.js と npm のダウンロードとインストール
」を参照してください。)
機能制限
制限と考慮事項については、Amazon ドキュメントの「外部インスタンス (Amazon ECS Anywhere)」を参照してください。 ECS
製品バージョン
AWS CDK ツールキットバージョン 2
npm バージョン 7.20.3 以降
Node.js バージョン 16.6.1 以降
アーキテクチャ
ターゲットテクノロジースタック
AWS CloudFormation
AWS CDK
Amazon ECS Anywhere
AWS Identity and Access Management (IAM)
ターゲット アーキテクチャ
次の図は、このパターンで実装されている TypeScriptAWSCDKと を使用した ECS Anywhere セットアップの高レベルのシステムアーキテクチャを示しています。
AWS CDK スタックをデプロイすると、 に CloudFormation スタックが作成されますAWS。
CloudFormation スタックは Amazon ECSクラスターと関連AWSリソースをプロビジョニングします。
Amazon ECSクラスターに外部インスタンスを登録するには、仮想マシン (SSMVM) に AWS Systems Manager Agent ( エージェント) をインストールし、VM を AWS Systems Manager マネージドインスタンスとして登録する必要があります。
また、Amazon ECSコンテナエージェントと Docker を VM にインストールして、Amazon ECSクラスターに外部インスタンスとして登録する必要があります。
外部インスタンスが Amazon ECSクラスターに登録および設定されると、VM で複数のコンテナを実行できます。これは外部インスタンスとして登録されます。
自動化とスケール
このパターンで提供されるGitHub リポジトリ
ツール
AWS Cloud Development Kit (AWS CDK) は、コードで AWS Cloud インフラストラクチャを定義およびプロビジョニングするのに役立つソフトウェア開発フレームワークです。
AWS コマンドラインインターフェイス (AWS CLI) は、コマンドラインシェル内のコマンドを使用してAWSサービスとやり取りするのに役立つオープンソースツールです。
コード
このパターンのソースコードは GitHub、Amazon ECS Anywhere CDK サンプル
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
AWS CDK バージョンを確認します。 | 次のコマンドを実行して、 AWS CDK Toolkit のバージョンを確認します。
このパターンにはAWSCDKバージョン 2 が必要です。以前のバージョンの がある場合はAWSCDK、AWSCDKドキュメントの指示に従って更新します。 | DevOps エンジニア |
AWS 認証情報を設定します。 | 認証情報を設定するには、
| DevOps エンジニア |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS CDK コードリポジトリをクローンします。 | コマンドを使用して、このパターンの GitHub コードリポジトリをクローンします。
| DevOps エンジニア |
環境を起動します。 | 使用するアカウントとAWSリージョンにAWS CloudFormation テンプレートをデプロイするには、次のコマンドを実行します。
詳細については、AWSCDKドキュメントの「Bootstrapping」を参照してください。 | DevOps エンジニア |
タスク | 説明 | 必要なスキル |
---|---|---|
パッケージの依存関係をインストールし、 TypeScript ファイルをコンパイルします。 | パッケージの依存関係をインストールし、次のコマンドを実行して TypeScript ファイルをコンパイルします。
これらのコマンドは、すべてのパッケージをサンプルリポジトリからインストールします。 重要:パッケージが見つからないというエラーが表示される場合は、以下のいずれかのコマンドを使用してください。
—または—
詳細については、npm のドキュメントの「npm ci | DevOps エンジニア |
プロジェクトをビルドします。 | プロジェクト コードをビルドするには、次のコマンドを実行します。
プロジェクトの構築とデプロイの詳細については、AWSCDKドキュメントの最初のAWSCDKアプリケーションを参照してください。 | DevOps エンジニア |
プロジェクトをデプロイします。 | プロジェクトコードをデプロイするには、コマンドを実行します。
| DevOps エンジニア |
スタックの作成と出力を検証します。 | https://console.aws.amazon.com/cloudformation | DevOps エンジニア |
タスク | 説明 | 必要なスキル |
---|---|---|
Vagrant を使用して VM を設定します。 | デモンストレーションの目的で、HashiCorp Vagrant | DevOps エンジニア |
VM を外部インスタンスとして登録します。 | 1. 2. VM を AWS Systems Manager に登録し、外部インスタンスをアクティブ化するために使用できるアクティベーションコードと ID を作成します。このコマンドからの出力に、
3. アクティベーション ID とコード値を出力します。
4. オンプレミスのサーバーまたは仮想マシン (VM) で、インストールスクリプトをダウンロードします。
5. オンプレミス サーバーまたは VM でインストール スクリプトを実行します。
VM のセットアップと登録の詳細については、Amazon ECSドキュメントの「外部インスタンスをクラスターに登録する | DevOps エンジニア |
ECS Anywhere と外部 VM のステータスを確認します。 | 仮想ボックスが Amazon ECSコントロールプレーンに接続され、実行されているかどうかを確認するには、次のコマンドを使用します。
| DevOps エンジニア |
タスク | 説明 | 必要なスキル |
---|---|---|
リソースをクリーンアップして削除する。 | このパターンを確認したら、追加料金が発生しないように、作成したリソースを削除する必要があります。クリーンアップするには、以下のコマンドを実行します。
| DevOps エンジニア |