

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 인프라 생성
<a name="gui-ex-create-ha-rfc"></a>

이 절차에서는 고가용성 2계층 스택 CT와 S3 스토리지 CT 생성을 차례로 활용합니다.

시작하기 전에 다음 데이터를 수집하면 배포 속도가 빨라집니다.

필수 데이터 HA 스택:
+ **AutoScalingGroup**:
  + **UserData**:이 값은이 자습서에서 제공됩니다. 여기에는 CodeDeploy에 대한 리소스를 설정하고 CodeDeploy 에이전트를 시작하는 명령이 포함되어 있습니다.
  + **AMI-ID**:이 값은 Auto Scaling 그룹(ASG)이 실행할 EC2 인스턴스의 운영 체제를 결정합니다. 계정에서 "customer-"로 시작하고 원하는 운영 체제의 AMI를 선택합니다. AMS 콘솔 VPCs -> VPC 세부 정보 페이지에서 AMI IDs를 찾습니다. VPCs 이 연습은 Amazon Linux 또는 RHEL AMI를 사용하도록 구성된 ASGs를 위한 것입니다.
+ **데이터베이스**:
  + 예제에 표시된 값이 테스트되었지만 이러한 파라미터, **DBEngine**, **EngineVersion** 및 **LicenseModel**은 상황에 따라 설정해야 합니다. 이 자습서에서는 각각 *MySQL*, *8.0.16*, *general-public-license* 값을 사용합니다.
  + 애플리케이션 번들을 배포할 때 이러한 파라미터, **DBName**, **MasterUserPassword** 및 **MasterUsername**이 필요합니다. 이 자습서에서는 각각 *wordpressDB*, *p4ssw0rd*, *admin* 등의 값을 사용합니다. DBName은 영숫자만 포함할 수 있습니다.
  + RDS DB의 **MasterUsername**을 입력하면 일반 텍스트로 표시되므로 최대한 빨리 데이터베이스에 로그인하고 암호를 변경하여 보안을 보장합니다.
  + **RDSSubnetIds**의 경우 두 개의 프라이빗 서브넷을 사용합니다. 다음에 "Enter"를 눌러 한 번에 하나씩 입력합니다. 를 사용하여 서브넷 IDs 찾기 AMS SKMS API 참조의 경우 AWS 아티팩트 콘솔의 **보고서** 탭을 참조하세요. 작업(CLI: list-subnet-summaries) 또는 AMS 콘솔 VPCs.
+ **LoadBalancer**:
  + 이 파라미터를 **퍼블릭**으로 설정합니다. 자습서에서는 퍼블릭 ELB 서브넷을 사용하기 **** 때문입니다.
  + **ELBSubnetIds**: 두 개의 퍼블릭 서브넷을 사용합니다. 다음에 "Enter"를 눌러 한 번에 하나씩 입력합니다. 를 사용하여 서브넷 IDs 찾기 AMS SKMS API 참조의 경우 AWS 아티팩트 콘솔의 **보고서** 탭을 참조하세요. 작업(CLI: list-subnet-summaries) 또는 AMS 콘솔 VPCs.
+ **애플리케이션**: **ApplicationName** 값은 CodeDeploy 애플리케이션 이름과 CodeDeploy 배포 그룹 이름을 설정합니다. 이를 사용하여 애플리케이션을 배포합니다. 계정에서 고유해야 합니다. 계정에 CodeDeploy 이름이 있는지 확인하려면 CodeDeploy 콘솔을 참조하세요. 이 예제에서는 *WordPress*를 사용하지만 해당 값을 사용할 경우 아직 사용되지 않았는지 확인합니다.

1. 고가용성 스택을 시작합니다.

   1. **RFC 생성** 페이지의 목록에서 범주 **배포**, 하위 범주 **표준 스택**, **고가용성 2계층 스택** 및 **생성** 작업을 선택합니다.

   1. 중요: **고급**을 선택하고 표시된 대로 값을 설정합니다.

      별표(\$1) 옵션에 대한 값만 입력하면 되며, 테스트된 값은 예제에 표시됩니다. 필수가 아닌 빈 옵션은 비워 둘 수 있습니다.

   1. **RFC 설명** 섹션의 경우:

      ```
      Subject: WP-HA-2-Tier-RFC
      ```

   1. **리소스 정보** 섹션에서 **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
      ```

   1. 완료되면 **제출**을 클릭합니다.

1. 생성한 데이터베이스에 로그인하고 암호를 변경합니다.

1. S3 버킷 스택을 시작합니다.

   시작하기 전에 다음 데이터를 수집하면 배포 속도가 빨라집니다.

   필수 데이터 S3 버킷:
   + **VPC-ID**:이 값은 S3 버킷의 위치를 결정합니다. 를 사용하여 VPC IDs 찾기 AMS SKMS API 참조의 경우 AWS Artifact 콘솔의 **보고서** 탭을 참조하세요. 작업(CLI: list-vpc-summaries) 또는 AMS 콘솔 VPCs.
   + **BucketName**:이 값은 S3 버킷 이름을 설정하며, 이를 사용하여 애플리케이션 번들을 업로드합니다. 계정의 리전 전체에서 고유해야 하며 대문자를 포함할 수 없습니다. 계정 ID를 BucketName의 일부로 포함하는 것은 요구 사항이 아니지만 나중에 버킷을 더 쉽게 식별할 수 있습니다. 계정에 존재하는 S3 버킷 이름을 확인하려면 계정의 Amazon S3 콘솔로 이동합니다.

   1. **RFC 생성** 페이지에서 범주 **배포**, 하위 범주 **고급 스택 구성 요소**, 항목 **S3 스토리지** 및 RFC CT 선택 목록에서 **생성** 작업을 선택합니다.

   1. 기본 **기본** 옵션을 유지하고 표시된 대로 값을 설정합니다.

      ```
      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
      ```

   1. 완료되면 **제출**을 클릭합니다. 이 변경 유형으로 배포된 버킷은 전체 계정에 대한 전체 읽기/쓰기 액세스를 허용합니다.