本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 4:部署您的 WordPress應用程式
現在您部署了上傳到 Amazon S3 的範例 WordPress 應用程式修訂版。您可以使用 AWS CLI 或 CodeDeploy 主控台部署修訂版本,並監控部署進度。成功部署應用程式修訂版之後,您要檢查結果。
使用 部署您的應用程式修訂版 CodeDeploy
使用 AWS CLI 或 主控台部署您的應用程式修訂版。
部署應用程式修訂版 (CLI)
-
部署需要部署群組。不過,在建立部署群組之前,您需要服務角色 ARN。服務角色是授予服務許可,以代表您行事IAM的角色。在此情況下,服務角色會 CodeDeploy 授予許可,以存取您的 Amazon EC2執行個體,以展開 (讀取) 其 Amazon EC2執行個體標籤。
您應該已經遵循建立服務角色 (CLI) 中的說明,來建立服務角色。若要取得服務角色ARN的 ,請參閱 取得服務角色 ARN (CLI) 。
-
現在您已擁有服務角色 ARN,請呼叫 create-deployment-group命令,使用名為 的 Amazon EC2標籤
CodeDeployDemo
和名為 的部署組態WordPress_DepGroup
,建立名為 的部署群組WordPress_App
,與名為 的應用程式建立關聯CodeDeployDefault.OneAtATime
:aws deploy create-deployment-group \ --application-name WordPress_App \ --deployment-group-name WordPress_DepGroup \ --deployment-config-name CodeDeployDefault.OneAtATime \ --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE \ --service-role-arn
serviceRoleARN
注意
此create-deployment-group命令支援建立觸發程序,導致將部署和執行個體中指定事件的 Amazon SNS通知傳送給主題訂閱者。此命令也支援自動復原部署和設定警示的選項,以在符合 Amazon CloudWatch 警示中的監控閾值時停止部署。本教學課程不包含這些動作的命令。
-
建立部署之前,部署群組中的執行個體必須安裝 CodeDeploy 代理程式。您可以使用 AWS Systems Manager 與下列命令,從命令列安裝代理程式:
aws ssm create-association \ --name AWS-ConfigureAWSPackage \ --targets Key=tag:Name,Values=CodeDeployDemo \ --parameters action=Install,name=AWSCodeDeployAgent \ --schedule-expression "cron(0 2 ? * SUN *)"
此命令會在 Systems Manager State Manager 中建立關聯,該關聯將安裝 CodeDeploy 代理程式,然後嘗試在每週日上午 2:00 進行更新。如需 CodeDeploy 客服人員的詳細資訊,請參閱使用 CodeDeploy 客服人員 。如需 Systems Manager 的詳細資訊,請參閱什麼是 AWS Systems Manager。
-
現在,請在名為
amzn-s3-demo-bucket
的儲存貯體中使用名為WordPressApp.zip
的應用程式修訂,呼叫 create-deployment 命令來建立與名為WordPress_App
之應用程式、名為CodeDeployDefault.OneAtATime
之部署組態和名為WordPress_DepGroup
之部署群組建立關聯的部署:aws deploy create-deployment \ --application-name WordPress_App \ --deployment-config-name CodeDeployDefault.OneAtATime \ --deployment-group-name WordPress_DepGroup \ --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=WordPressApp.zip
部署應用程式修訂 (主控台)
-
在使用 CodeDeploy 主控台部署應用程式修訂版之前,您需要服務角色 ARN。服務角色是授予服務許可,以代表您行事IAM的角色。在此情況下,服務角色會 CodeDeploy 授予許可,以存取您的 Amazon EC2執行個體,以展開 (讀取) 其 Amazon EC2執行個體標籤。
您應該已經遵循建立服務角色 (主控台) 中的說明,來建立服務角色。若要取得服務角色ARN的 ,請參閱 取得服務角色 ARN (主控台) 。
-
現在您已擁有 ARN,請使用 CodeDeploy 主控台來部署應用程式修訂版:
登入 AWS Management Console 並在 https://console.aws.amazon.com/codedeploy
開啟 CodeDeploy 主控台。 注意
使用您在 中設定的相同使用者登入入門 CodeDeploy。
在導覽窗格中,展開部署 ,然後選擇應用程式 。
-
在應用程式清單中,選擇 WordPress_App 。
-
在 Deployment groups (部署群組) 標籤中,選擇 Create deployment group (建立部署群組)。
-
在 Deployment group name (部署群組名稱) 中,輸入
WordPress_DepGroup
。 -
在 Deployment type (部署類型) 下,選擇 In-place deployment (就地部署)。
-
在環境組態 中,選取 Amazon EC2執行個體 。
-
在具有 的客服人員組態 AWS Systems Manager中,保留預設值。
-
在 Key (金鑰) 中,輸入
Name
。 -
在 Value (值) 中輸入
CodeDeployDemo
。注意
輸入 後
CodeDeployDemo
,1 應該會出現在相符執行個體下,以確認 CodeDeploy 找到相符的 Amazon EC2執行個體。 -
在部署組態 中,選擇 CodeDeployDefault。OneAtATime
-
在服務角色 ARN中,選擇服務角色 ARN,然後選擇建立部署群組 。
-
選擇 Create deployment (建立部署)。
-
在 Deployment group (部署群組) 中選擇
WordPress_DepGroup
。 -
在儲存庫類型 旁,選擇我的應用程式儲存在 Amazon S3 中。在修訂位置 中,輸入您先前上傳至 Amazon S3 的範例 WordPress 應用程式修訂版本的位置。取得位置:
在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/
。 -
在儲存貯體清單中,選擇 amzn-s3-demo-bucket (或您上傳應用程式修訂版的儲存貯體名稱)。
-
在物件清單中,選擇 WordPressApp.zip 。
-
在 Overview (概觀) 標籤上,將 Link (連結) 欄位的值複製至剪貼簿。
這看起來類似下述:
https://s3.amazonaws.com/amzn-s3-demo-bucket/WordPressApp.zip
-
返回 CodeDeploy 主控台,並在修訂位置 中貼上連結欄位值。
-
如果說明無法偵測到檔案類型的訊息出現在 File type (檔案類型) 清單中,請選擇 .zip。
-
(選用) 在 Deployment description (部署說明) 方塊中,輸入註解。
-
展開部署群組會覆寫 ,然後從部署組態 中選擇 CodeDeployDefault。OneAtATime
-
選擇 Start deployment (啟動部署)。新建立部署的相關資訊會顯示在 Deployments (部署) 頁面上。
監控和疑難排解您的部署
使用 AWS CLI 或 主控台來監控和疑難排解您的部署。
若要監控和疑難排解您的部署 (CLI)
-
針對名為
WordPress_App
的應用程式和名為WordPress_DepGroup
的部署群組呼叫 list-deployments 命令,來取得部署 ID:aws deploy list-deployments --application-name WordPress_App --deployment-group-name WordPress_DepGroup --query 'deployments' --output text
-
使用部署 ID,呼叫 get-deployment 命令:
aws deploy get-deployment --deployment-id
deploymentID
--query 'deploymentInfo.status' --output text -
此命令傳回部署的整體狀態。如果成功,值為
Succeeded
。如果整體狀態為
Failed
,您可以呼叫 list-deployment-instances和 等命令get-deployment-instance進行故障診斷。如需其他故障診斷選項,請參閱分析日誌檔案以調查執行個體的部署失敗。
監控和故障診斷部署 (主控台)
在 CodeDeploy 主控台的部署頁面上,您可以在狀態欄中監控部署的狀態。
若要取得部署的詳細資訊,特別是在 Status (狀態) 欄位中,有任何數值不是 Succeeded (成功) 的情況下,則可執行以下動作:
-
在 Deployments (部署) 資料表中,選擇部署的名稱。部署失敗後,會顯示失敗原因的訊息。
-
在 Instance activity (執行個體活動) 中,會顯示更多有關部署的資訊。部署失敗後,您可能可以判斷部署失敗的 Amazon EC2執行個體和步驟。
-
您可以使用View Instance Details中所述的這類技術,藉此執行其他疑難排解。您也可以分析 Amazon EC2執行個體上的部署日誌檔案。如需詳細資訊,請參閱分析日誌檔案以調查執行個體的部署失敗。
驗證您的部署
部署成功後,請確認您的 WordPress 安裝是否正常運作。使用 Amazon EC2執行個體的公有DNS地址,後面接著 /WordPress
,在 Web 瀏覽器中檢視您的網站。(若要取得公有DNS值,請在 Amazon EC2主控台中選擇 Amazon EC2執行個體,然後在描述索引標籤上尋找公有 DNS的值。)
例如,如果您 Amazon EC2執行個體的公有DNS地址為 ec2-01-234-567-890.compute-1.amazonaws.com
,您會使用下列 URL:
http://ec2-01-234-567-890.compute-1.amazonaws.com/WordPress
當您在瀏覽器中檢視網站時,您應該會看到類似下列內容的 WordPress 歡迎頁面:

如果您的 Amazon EC2執行個體沒有將HTTP傳入規則新增至其安全群組,則 WordPress 歡迎頁面不會出現。如果您看到訊息指出遠端伺服器沒有回應,請確定 Amazon EC2執行個體的安全群組具有傳入規則。如需詳細資訊,請參閱 新增允許 HTTP 流量傳入您的 Amazon Linux 或 RHEL 亞馬 Amazon EC2 執行個體的輸入規則。