本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 設定 Amazon ECS Anywhere 來管理內部部署容器應用程式 AWS CDK
由 Rahul Sharad Gaikwad 醫生建立 (AWS)
程式碼儲存庫:amazon-ecs-anywhere-cdk-樣本 | 環境:PoC 或試行 | 技術:現代化;容器與微服務 DevOps;混合雲端;基礎設施 |
工作負載:所有其他工作負載 | AWS 服務:AWSCDK;AmazonECS;AWSIdentity and Access Management |
Summary
Amazon ECS Anywhere
此模式示範使用AWS雲端開發套件 (AWS CDK)
先決條件和限制
先決條件
作用中的 AWS 帳戶。
AWS 命令列介面 (AWS CLI),已安裝並設定。(請參閱 AWS CLI 文件AWS中的安裝、更新和解除安裝 CLI 。)
AWS CDK 工具組,已安裝和設定。(請參閱AWSCDK文件中的工具AWSCDK組,並遵循指示在全球安裝第 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)
目標架構
下圖說明 TypeScript使用此模式實作的 AWS CDK 搭配 使用 ECS Anywhere 設定的高階系統架構。
部署AWSCDK堆疊時,它會在 上建立 CloudFormation 堆疊AWS。
CloudFormation 堆疊會佈建 Amazon ECS叢集和相關AWS資源。
若要向 Amazon ECS叢集註冊外部執行個體,您必須在虛擬機器 (SSMVM) 上安裝 AWS Systems Manager Agent ( Agent),並將 VM 註冊為 AWS Systems Manager 受管執行個體。
您還必須在 VM 上安裝 Amazon ECS容器代理程式和 Docker,才能向 Amazon ECS叢集註冊為外部執行個體。
使用 Amazon ECS叢集註冊並設定外部執行個體時,它可以在您的 VM 上執行多個容器,其已註冊為外部執行個體。
自動化和擴展
此模式提供的GitHub 儲存庫
工具
AWS Cloud Development Kit (AWS CDK) 是一種軟體開發架構,可協助您定義和佈建程式碼中的 AWS Cloud 基礎設施。
AWS 命令列介面 (AWS CLI) 是一種開放原始碼工具,可協助您透過命令列 Shell 中的命令與 AWS服務互動。
Code
此模式的原始程式碼可在 GitHubAmazon ECS Anywhere CDK範例
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
驗證AWSCDK版本。 | 執行下列命令來驗證 AWS CDK Toolkit 的版本:
此模式需要AWSCDK版本 2。如果您有較早版本的 AWS CDK,請依照AWSCDK文件中的指示進行更新。 | DevOps 工程師 |
設定AWS憑證。 | 若要設定憑證,請執行
| DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
複製AWSCDK程式碼儲存庫。 | 使用 命令複製此模式的 GitHub 程式碼儲存庫:
| DevOps 工程師 |
啟動環境。 | 若要將AWS CloudFormation 範本部署到您要使用的帳戶和AWS區域,請執行下列命令:
如需詳細資訊,請參閱 AWS CDK 文件中的啟動。 | DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
安裝套件相依性並編譯 TypeScript 檔案。 | 安裝套件相依性,並執行下列命令編譯 TypeScript 檔案:
這些命令會從範例儲存庫安裝所有套件。 重要 :如果您收到有關遺失套件的任何錯誤,請使用下列其中一個命令:
—或—
如需詳細資訊,請參閱 npm 文件中的 npm ci | DevOps 工程師 |
建置專案。 | 若要建置專案程式碼,請執行 命令:
如需有關建置和部署專案的詳細資訊,請參閱 AWS CDK 文件中的您的第一個AWSCDK應用程式。 | DevOps 工程師 |
部署專案。 | 若要部署專案程式碼,請執行 命令:
| DevOps 工程師 |
驗證堆疊建立和輸出。 | 在 https://console.aws.amazon.com/cloudformation | DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
使用 Vagrant 設定您的 VM。 | 為了示範目的,您可以使用 HashiCorp Vagrant | DevOps 工程師 |
將 VM 註冊為外部執行個體。 | 1. 使用 2. 建立啟用碼和 ID,您可以使用它向 AWS Systems Manager 註冊 VM,以及啟用外部執行個體。此命令的輸出包含
3. 匯出啟用 ID 和程式碼值:
4. 將安裝指令碼下載到您的內部部署伺服器或 VM:
5. 在內部部署伺服器或 VM 上執行安裝指令碼:
如需設定和註冊 VM 的詳細資訊,請參閱 Amazon ECS 文件中的將外部執行個體註冊至叢集 | DevOps 工程師 |
驗證 ECS Anywhere 和外部 VM 的狀態。 | 若要驗證您的虛擬盒是否已連線至 Amazon ECS控制平面並正在執行,請使用下列命令:
| DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
清除和刪除資源。 | 完成此模式之後,您應該移除您建立的資源,以避免產生任何進一步的費用。若要清除,請執行 命令:
| DevOps 工程師 |