建立基礎設施 - AMS 進階應用程式開發人員指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立基礎設施

此程序使用高可用性雙層堆疊 CT,後面接著建立 S3 儲存體 CT。

在開始之前收集下列資料,可讓部署更快進行。

必要資料 HA 堆疊:

  • AutoScalingGroup

    • UserData:此值在本教學課程中提供。它包含用於設定 CodeDeploy 資源並啟動 CodeDeploy 代理程式的命令。

    • AMI-ID:此值決定 Auto Scaling 群組 (ASG) 將啟動的 EC2 執行個體作業系統。在您的帳戶中選取以「customer-」開頭的 AMI,並且是您想要的作業系統。在 AMS 主控台 VPCs -> VPCs詳細資訊頁面中尋找 AMI IDs。此逐步解說適用於設定為使用 Amazon Linux 或 RHEL AMI 的 ASGs。

  • 資料庫

    • 這些參數 DBEngine、En EngineVersionLicenseModel 應根據您的情況設定,但範例中顯示的值已經過測試。教學課程分別使用這些值:MySQL8.0.16general-public-license

    • 部署應用程式套件時,需要這些參數:DBNameMasterUserPasswordMasterUsername。教學課程分別使用這些值:wordpressDBp4ssw0rdadmin。請注意,DBName 只能包含英數字元。

    • 當您輸入 RDS 資料庫的 MasterUsername 時,它會以純文字顯示,因此請儘快登入資料庫,並變更密碼以確保您的安全。

    • 對於 RDSSubnetIds請使用兩個私有子網路。在每個項目之後按「Enter」一次輸入一個項目。使用 尋找子網路 IDs 如需 AMS SKMS API 參考,請參閱 AWS 成品主控台中的報告索引標籤。 操作 (CLI:list-subnet-summaries) 或 AMS 主控台 VPCs -> VPC 詳細資訊頁面。

  • LoadBalancer

    • 將此參數有設為 true,因為教學課程使用公有 ELB 子網路。

    • ELBSubnetIds:使用兩個公有子網路。在每個項目之後按「Enter」一次輸入一個項目。使用 尋找子網路 IDs 如需 AMS SKMS API 參考,請參閱 AWS 成品主控台中的報告索引標籤。 操作 (CLI:list-subnet-summaries) 或 AMS 主控台 VPCs -> VPC 詳細資訊頁面。

  • 應用程式ApplicationName 值會設定 CodeDeploy 應用程式名稱和 CodeDeploy 部署群組名稱。您可以使用它來部署應用程式。它在帳戶中必須是唯一的。若要檢查您的帳戶是否有 CodeDeploy 名稱,請參閱 CodeDeploy 主控台。此範例使用 WordPress,但如果您將使用該值,請確定它尚未使用。

  1. 啟動高可用性堆疊。

    1. 建立 RFC 頁面上,從清單中選取類別部署、子類別標準堆疊、項目高可用性雙層堆疊和操作建立

    2. 重要:選擇進階並如所示設定值。

      您只需輸入星號 (*) 選項的值,測試的值會顯示在範例中;您可以將不需要的空白選項保留空白。

    3. 對於 RFC 描述區段:

      Subject: WP-HA-2-Tier-RFC
    4. 資源資訊區段中,設定 AutoScalingGroup資料庫LoadBalancer應用程式標籤的參數。

      此外,「AppName」標籤金鑰的目的是讓您輕鬆地在 EC2 主控台中搜尋 ASG 執行個體;您可以呼叫此標籤金鑰「Name」或任何其他您想要的金鑰名稱。請注意,您最多可以新增 50 個標籤。

      UserData: #!/bin/bash REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') yum -y install ruby httpd chkconfig httpd on service httpd start touch /var/www/html/status cd /tmp curl -O https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install chmod +x ./install ./install auto chkconfig codedeploy-agent on service codedeploy-agent start AmiId: AMI-ID Description: WP-HA-2-Tier-Stack Database: LicenseModel: general-public-license (USE RADIO BUTTON) EngineVersion: 8.0.16 DBEngine: MySQL RDSSubnetIds: PRIVATE_AZ1 PRIVATE_AZ2 (ENTER ONE AT A TIME PRESSING "ENTER" AFTER EACH) MasterUserPassword: p4ssw0rd MasterUsername: admin DBName: wordpressDB LoadBalancer: Public: true (USE RADIO BUTTON) ELBSubnetIds: PUBLIC_AZ1 PUBLIC_AZ2 Application: ApplicationName: WordPress Tags: Name: WP-Rhel-Stack
    5. 完成後按一下提交

  2. 登入您建立的資料庫並變更密碼。

  3. 啟動 S3 儲存貯體堆疊。

    在開始之前收集下列資料,可讓部署更快進行。

    必要資料 S3 儲存貯體:

    • VPC-ID:此值決定 S3 儲存貯體的位置。使用 尋找具有 AMS SKMS API 參考的 VPC IDs,請參閱 AWS 成品主控台中的報告索引標籤。 操作 (CLI:list-vpc-summaries) 或 AMS 主控台 VPCs頁面中的報告索引標籤。

    • BucketName:此值會設定 S3 儲存貯體名稱,您可以使用它來上傳應用程式套件。它在帳戶區域必須是唯一的,且不能包含大寫字母。將您的帳戶 ID 包含在 BucketName 中不是必要項目,但之後更容易識別儲存貯體。若要查看帳戶中存在哪些 S3 儲存貯體名稱,請前往您帳戶的 Amazon S3 主控台。

    1. 建立 RFC 頁面上,從 RFC CT 挑選清單選取類別部署、子類別進階堆疊元件、項目 S3 儲存和操作建立

    2. 保留預設的基本選項,並如所示設定值。

      Subject: S3-Bucket-WP-HA-RFC Description: S3BucketForWordPressBundles BucketName: ACCOUNT_ID-BUCKET_NAME AccessControl: Private VpcId: VPC_ID Name: S3-Bucket-WP-HA-Stack TimeoutInMinutes: 60
    3. 完成後按一下提交。使用此變更類型部署的儲存貯體允許完整讀取/寫入存取整個帳戶。