本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 1:建立並設定「Auto Scaling」群組
在此步驟中,您將建立包含單一 Amazon Linux、RHEL 或 Windows 伺服器亞馬 Amazon EC2 執行個體的 Auto Scaling 群組。在稍後的步驟中,您將指示 Amazon EC2 Auto Scaling 新增一個 Amazon EC2 執行個體,並 CodeDeploy 將您的修訂部署到該執行個體。
若要建立和設定 Auto Scaling 群組 (CLI)
-
呼叫命create-launch-template令以建立 Amazon EC2 啟動範本。
呼叫此命令之前,您需要適用於此教學課程之 AMI 的 ID,其由預留位置
image-id
代表。您還需要 Amazon EC2 執行個體 key pair 的名稱,才能存取 Amazon EC2 執行個體 (以預留位置鍵名稱
表示)。若要取得適用於此教學課程的 AMI 的 ID:
-
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,在 Instances (執行個體) 下,選擇 Instances (執行個體),然後選擇 Launch Instance (啟動執行個體)。
-
在「選擇 Amazon 機器映像」頁面的「快速啟動」選項卡上,請注意 Amazon Linux 2 AMI,紅帽企業 Linux 7.1,Ubuntu 服務器 14.04 LTS 或 Microsoft Windows 服務器 2012 R 2 旁邊的 AMI 的 ID。
注意
如果您有與之相容的 AMI 的自訂版本,請在此處選擇它 CodeDeploy,而不是瀏覽 [快速入門] 索引標籤。如需搭配使用自訂 AMI CodeDeploy 和 Amazon EC2 自 Auto Scaling 的相關資訊,請參閱將自訂 AMI 與 CodeDeploy Amazon EC2 自 Auto Scaling 搭配使用。
對於亞馬遜 EC2 執行個體金鑰組,請使用您的 Amazon EC2 執行個體 key pair 的名稱。
呼叫 create-launch-template 命令。
在本地 Linux、macOS 電腦或 Unix 機器上:
aws ec2 create-launch-template \ --launch-template-name CodeDeployDemo-AS-Launch-Template \ --launch-template-data file://config.json
該
config.json
文件的內容:{ "InstanceType":"t1.micro", "ImageId":"image-id", "IamInstanceProfile":{ "Name":"CodeDeployDemo-EC2-Instance-Profile" }, "KeyName":"key-name" }
在本機 Windows 電腦上:
aws ec2 create-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template --launch-template-data file://config.json
該
config.json
文件的內容:{ "InstanceType":"t1.micro", "ImageId":"image-id", "IamInstanceProfile":{ "Name":"CodeDeployDemo-EC2-Instance-Profile" }, "KeyName":"key-name" }
這些命令和
config.json
檔案會為您的 Auto CodeDeployDemo Scaling 群組建立名為-AS 啟動範本的 Amazon EC2 啟動範本,該範本將根據 t1.micro Amazon EC2 執行個體類型在以下步驟中建立。根據您的輸入ImageId
、和IamInstanceProfile
KeyName
,啟動範本還會指定 AMI ID、與啟動時傳遞給執行個體的 IAM 角色相關聯的執行個體設定檔名稱,以及連線至執行個體時要使用的 Amazon EC2 key pair。 -
-
呼叫指create-auto-scaling-group令以建立「Auto Scaling」群組。您需要在 [區域] 中列出的其中一個區域中的一個可用區域名稱以及中的端點 (以預留位置
可用性
區域表示)。AWS 一般參考注意
若要檢視區域中的可用區域的清單,請呼叫:
aws ec2 describe-availability-zones --region
region-name
例如,若要檢視美國西部 (奧勒岡) 區域的可用區域清單,請撥打:
aws ec2 describe-availability-zones --region us-west-2
有關區域名稱識別碼的清單,請參閱 依區域的資源套件時段名稱。
在本地 Linux、macOS 電腦或 Unix 機器上:
aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name CodeDeployDemo-AS-Group \ --launch-template CodeDeployDemo-AS-Launch-Template,Version='$Latest' \ --min-size 1 \ --max-size 1 \ --desired-capacity 1 \ --availability-zones
availability-zone
\ --tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true在本機 Windows 電腦上:
aws autoscaling create-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --launch-template LaunchTemplateName=CodeDeployDemo-AS-Launch-Template,Version="$Latest" --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones
availability-zone
--tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true這些命令會建立一個
CodeDeployDemo-AS-Group
根據名為的 Amazon EC2 啟動範本命名的自動擴展群組CodeDeployDemo-AS-Launch-Template
。此 Auto Scaling 群組只有一個 Amazon EC2 執行個體,並在指定的可用區域中建立。此「Auto Scaling 例」群組中的每個執行個體都會有標籤Name=CodeDeployDemo
。稍後安裝 CodeDeploy 代理程式時會使用此標籤。 -
針對
CodeDeployDemo-AS-Group
呼叫 describe-auto-scaling-groups 命令:aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query "AutoScalingGroups[0].Instances[*].[HealthStatus, LifecycleState]" --output text
在傳回值顯示
Healthy
和InService
之前不要繼續。 -
Auto Scaling 群組中的執行個體必須安裝 CodeDeploy 代理程式,才能在 CodeDeploy 部署中使用。透過 AWS Systems Manager 使用建立 Auto Scaling 群組時新增的標籤呼叫create-association命令,以安裝 CodeDeploy 代理程式。
aws ssm create-association \ --name AWS-ConfigureAWSPackage \ --targets Key=tag:Name,Values=CodeDeployDemo \ --parameters action=Install, name=AWSCodeDeployAgent \ --schedule-expression "cron(0 2 ? * SUN *)"
此命令會在系統管理員狀態管理員中建立關聯,該關聯會將 CodeDeploy 代理程式安裝在 Auto Scaling 群組中的所有執行個體上,然後嘗試在每個星期日早上 2:00 進行更新。如需 CodeDeploy 代理程式的詳細資訊,請參閱使用 CodeDeploy 代理程式。如需有關「Systems Manager 的詳細資訊,請參閱何謂 AWS Systems Manager。
若要建立和設定「Auto Scaling」群組 (控制台)
-
前往 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在全域導覽列中,確定已選取「區域」中列出的其中一個區域和中AWS 一般參考的端點。Amazon EC2 Auto Scaling 資源與您指定的區域相關聯,並且 CodeDeploy 僅在特定區域提供支援。
-
在導覽列的「執行個體」下,選擇「啟動範本」。
-
選擇 Create launch template (建立啟動範本)。
-
在「啟動範本名稱和描述」對話方塊中,對於 Launch 範本名稱,輸入
CodeDeployDemo-AS-Launch-Template
。保留其他欄位的預設值。 -
在 Amazon 機器映像(AMI)對話框中,單擊 AMI 下的下拉菜單,選擇適用於本教程的 AMI:
-
在 AMI 下拉列表的快速啟動選項卡上,選擇以下選項之一:Amazon Linux 2 AMI,紅帽企業 Linux 7.1,Ubuntu 服務器 14.04 LTS 或 Microsoft 視窗服務器 2012 R 2。
注意
如果您有與之相容的 AMI 的自訂版本,請在此處選擇它 CodeDeploy,而不是瀏覽 [快速入門] 索引標籤。如需搭配使用自訂 AMI CodeDeploy 和 Amazon EC2 自 Auto Scaling 的相關資訊,請參閱將自訂 AMI 與 CodeDeploy Amazon EC2 自 Auto Scaling 搭配使用。
-
-
在執行個體類型中,選取下拉式清單,然後選擇 t1.micro。您可以使用搜索欄更快地找到它。
-
在 [key pair (登入)] 對話方塊中,選取 [選擇現有金鑰配對]。在選取 key pair 下拉式清單中,選擇您在先前步驟中建立或使用的 Amazon EC2 執行個體 key pair。
-
在 [網路設定] 對話方塊中,選擇 [虛擬公用雲端 (VPC)]。
在 [安全性群組] 下拉式清單中,選擇您在教學課程的必要條件區段 (
CodeDeployDemo-AS-SG
) 中建立的安全性群組。 -
展開「進階詳細資料」對話方塊。在 IAM 執行個體設定檔下拉式清單中,在 IAM 執行個體設定檔下選取您先前建立的 IAM 角色 (
CodeDeployDemo-EC2-Instance-Profile
)。保留其餘的預設值。
-
選擇 Create launch template (建立啟動範本)。
-
在「後續步驟」對話方塊中,選擇「建立 Auto Scaling」群組。
-
在 [選擇啟動範本或組態] 頁面上,針對 [Auto Scaling] 群組名稱輸入
CodeDeployDemo-AS-Group
。 -
在 [啟動範本] 對話方塊中,應填入您的啟動範本 (
CodeDeployDemo-AS-Launch-Template
),如果沒有,請從下拉式功能表中選取它。保留預設值並選擇 [下一步]。 -
在 [選擇執行個體啟動選項] 頁面的 [網路] 區段中,對於 VPC,選擇預設 VPC。然後,針對可用區域和子網路,選擇預設子網路。如果您無法選擇預設值,則必須建立 VPC。如需詳細資訊,請參閱開始使用 Amazon VPC。
-
在 Instance type requirements (執行個體類型需求) 區段中,請使用預設設定來簡化此步驟。(請勿覆寫啟動範本。) 在本教程中,您將使用啟動範本中指定的執行個體類型,並且僅啟動隨需執行個體。
-
選擇 Next (下一頁) 前往 Configure advanced options (設定進階選項) 頁面。
-
保留預設值並選擇 [下一步]。
-
在 [設定群組大小和擴展原則] 頁面上,保持預設群組大小值 1。選擇下一步。
-
略過設定通知的步驟,然後選擇下一步。
-
在 [新增標記] 頁面上,新增稍後安裝 CodeDeploy 代理程式時要使用的標籤。選擇 Add tag (新增標籤)。
-
在 Key (金鑰) 中,輸入
Name
。 -
在 Value (值) 中輸入
CodeDeployDemo
。
選擇下一步。
-
-
在「檢閱」頁面上檢閱「Auto Scaling」群組資訊,然後選擇「建立 Auto Scaling」群組。
-
在導覽列中,選取「Auto Scaling 群組」後,選擇
CodeDeployDemo-AS-Group
,然後選擇「執行個體管理」索引標籤。直到的值InService出現在「生命週期」欄中,且「Health 全狀況」欄中顯示「狀況良好」的值之前,請勿繼續執行。 -
依照安裝 CodeDeploy 代理程式中的步驟並使用
Name=CodeDeployDemo
執行個體標籤來安裝 CodeDeploy 代理程式。