创建基础架构 - AMS 高级应用程序开发者指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建基础架构

此过程使用高可用性双层堆栈 CT,然后使用 Create S3 存储 CT。

在开始之前收集以下数据可以加快部署速度。

必需的数据有堆栈:

  • AutoScalingGroup:

    • UserData:本教程中提供了此值。它包括为其设置资源 CodeDeploy 和启动 CodeDeploy 代理的命令。

    • AMI-ID:此值决定了您的 Auto Scaling 组 (ASG) 将启动的 EC2 实例的操作系统。在您的账户中选择一个以 “customer-” 开头且具有所需操作系统的 AMI。 IDs 在 AMS 控制台 VPCs -> VPCs 详情页面中查找 AMI。本演练适用于 ASGs 配置为使用亚马逊 Linux 或 RHEL AMI。

  • 数据库

    • 尽管示例中显示的值已经过测试,但这些参数EngineVersion、、和LicenseModel应根据您的情况进行设置。DBEngine本教程分别使用以下值:MySQL8.0.16general-public-license

    • 部署应用程序包时需要MasterUsername这些参数DBNameMasterUserPassword、、和。本教程分别使用以下值:wordpressDBp4ssw0rdadmin。请注意, DBName 只能包含字母数字字符。

    • 当您输入 RDS 数据库时,它将以明文形式显示,因此请尽快登录数据库并更改密码以确保您的安全。MasterUsername

    • 对于 RDSSubnetID,请使用两个私有子网。每次输入一个,然后按 “Enter”。 IDs 使用 AMS SKMS API 参考查找子网,请参阅 AWS Artifact 控制台中的报告选项卡。操作 (CLI: list-subnet-summaries) 或 AMS 控制台-> VPCs VPC 详细信息页面。

  • LoadBalancer:

    • 将此参数 Public 设置为 true,因为本教程使用公有 ELB 子网。

    • ELBSubnetID:使用两个公有子网。每次输入一个,然后按 “Enter”。 IDs 使用 AMS SKMS API 参考查找子网,请参阅 AWS Artifact 控制台中的报告选项卡。操作 (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 实例;您可以将此标签密钥称为 “名称” 或任何其他您想要的密钥名称。请注意,您最多可以添加 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 存储桶将位于何处。 IDs 使用有关 AMS SKMS API 参考查找 VPC,请参阅 AWS Artifact 控制台中的报告选项卡。操作 (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. 完成后单击 “提交”。使用此更改类型部署的存储桶允许对整个账户进行完全 read/write 访问权限。