기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
인프라 생성
시작하기 전에 다음 데이터를 수집하면 배포 속도가 빨라집니다.
필수 데이터 HA 스택:
AutoScalingGroup:
UserData:이 값은이 자습서에서 제공됩니다. 여기에는 CodeDeploy에 대한 리소스를 설정하고 CodeDeploy 에이전트를 시작하는 명령이 포함되어 있습니다.AMI-ID:이 값은 Auto Scaling 그룹(ASG)이 실행할 EC2 인스턴스의 종류를 결정합니다. 계정에서 "customer-"로 시작하고 원하는 운영 체제의 AMI를 선택해야 합니다. 를 사용하여 AMI IDs를 찾습니다. AMS SKMS API 참조의 경우 AWS 아티팩트 콘솔의 보고서 탭(CLI: list-amis) 또는 AMS 콘솔 VPCs VPCs 세부 정보 페이지를 참조하세요. 이 연습은 Linux ASGs를 위한 것입니다.
데이터베이스:
예제에 표시된 값이 테스트되었지만 상황에 따라 이러한 파라미터
EngineVersion, 및DBEngine를 설정해야LicenseModel합니다.이러한 파라미터
RDSSubnetIds,MasterUsername, 및DBNameMasterUserPassword는 애플리케이션 번들을 배포할 때 필요합니다. RDSSubnetIds의 경우 두 개의 프라이빗 서브넷을 사용합니다.
LoadBalancer:
예제에 표시된 값이 테스트되었지만 상황에 따라 이러한 파라미터
EngineVersion, 및DBEngine를 설정해야LicenseModel합니다.ELBSubnetIds: 두 개의 퍼블릭 서브넷을 사용합니다.
애플리케이션:이
ApplicationName값은 CodeDeploy 애플리케이션 이름과 CodeDeploy 배포 그룹 이름을 설정합니다. 이를 사용하여 애플리케이션을 배포합니다. 계정에서 고유해야 합니다. 계정에 CodeDeploy 이름이 있는지 확인하려면 CodeDeploy 콘솔을 참조하세요. 이 예제에서는 "WordPress"를 사용하지만 해당 값을 사용할 경우 아직 사용되지 않았는지 확인합니다.
이 절차는 고가용성 2계층 스택(고급) CT(ct-06mjngx5flwto) 및 S3 스토리지 CT 생성(ct-1a68ck03fn98r)을 활용합니다. 인증된 계정에서 명령줄의 다음 단계를 따릅니다.
인프라 스택을 시작합니다.
HA 2계층 스택 CT의 실행 파라미터 JSON 스키마를 CreateStackParams.json.
aws amscm get-change-type-version --change-type-id "ct-06mjngx5flwto" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateStackParams.json스키마를 수정합니다. 변수를
적절하게 바꿉니다. 예를 들어 ASG가 생성할 EC2 인스턴스에 대해 원하는 OS를 사용합니다. 나중에 애플리케이션을 배포하는 데ApplicationName사용할를 기록합니다. 최대 50개의 태그를 추가할 수 있습니다.{ "Description": "HA two tier stack for WordPress", "Name": "WordPressStack", "TimeoutInMinutes": 360, "Tags": [ { "Key": "ApplicationName", "Value": "WordPress" } ], "AutoScalingGroup": { "AmiId": "AMI-ID", "UserData": "#!/bin/bash \n REGION=$(curl 169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/[a-z]$//') \n yum -y install ruby httpd \n chkconfig httpd on \n service httpd start \n touch /var/www/html/status \n cd /tmp \n curl -O https://aws-codedeploy-$REGION.s3.amazonaws.com/latest/install \n chmod +x ./install \n ./install auto \n chkconfig codedeploy-agent on \n service codedeploy-agent start" }, "LoadBalancer": { "Public": true, "HealthCheckTarget": "HTTP:80/status" }, "Database": { "DBEngine": "MySQL", "DBName": "wordpress", "EngineVersion": "8.0.16 ", "LicenseModel": "general-public-license", "MasterUsername": "admin", "MasterUserPassword": "p4ssw0rd" }, "Application": { "ApplicationName": "WordPress" } }CreateRfc JSON 템플릿을 CreateStackRfc.json:이라는 현재 폴더의 파일로 출력합니다.
aws amscm create-rfc --generate-cli-skeleton > CreateStackRfc.json다음과 같이 RFC 템플릿을 수정하고 저장하면 콘텐츠를 삭제하고 바꿀 수 있습니다. 이제
RequestedStartTime및RequestedEndTime는 선택 사항입니다. 제외하면 승인되는 즉시 실행되는 ASAP RFC가 생성됩니다(일반적으로 자동으로 발생함). 예약된 RFC를 제출하려면 해당 값을 추가합니다.{ "ChangeTypeVersion": "3.0", "ChangeTypeId": "ct-06mjngx5flwto", "Title": "HA-Stack-For-WP-RFC" }CreateStackRfc.json 파일과 CreateStackParams.json 실행 파라미터 파일을 지정하여 RFC를 생성합니다.
aws amscm create-rfc --cli-input-json file://CreateStackRfc.json --execution-parameters file://CreateStackParams.json응답에서 RFC ID를 수신합니다. 후속 단계를 위해 ID를 저장합니다.
RFC를 제출합니다.
aws amscm submit-rfc --rfc-id RFC_IDRFC가 성공하면 출력이 수신되지 않습니다.
RFC 상태를 확인하려면를 실행합니다.
aws amscm get-rfc --rfc-idRFC_ID
RFC ID를 기록해 둡니다.
S3 버킷 시작
시작하기 전에 다음 데이터를 수집하면 배포 속도가 빨라집니다.
필수 데이터 S3 버킷:
VPC-ID:이 값은 S3 버킷의 위치를 결정합니다. 이전에 사용한 것과 동일한 VPC ID를 사용합니다.BucketName:이 값은 S3 버킷 이름을 설정하며, 이를 사용하여 애플리케이션 번들을 업로드합니다. 계정의 리전 전체에서 고유해야 하며 대문자를 포함할 수 없습니다. 계정 ID를 BucketName의 일부로 포함하는 것은 요구 사항이 아니지만 나중에 버킷을 더 쉽게 식별할 수 있습니다. 계정에 있는 S3 버킷 이름을 확인하려면 계정의 Amazon S3 콘솔로 이동합니다.
S3 스토리지 생성 CT에 대한 실행 파라미터 JSON 스키마를 CreateS3StoreParams.json.
aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateS3StoreParams.json다음과 같이 스키마를 수정하면 콘텐츠를 삭제하고 바꿀 수 있습니다.
VPC_ID를 적절하게 바꿉니다. 예제의 값은 테스트되었지만 적합하지 않을 수 있습니다.작은 정보
는 계정 리전 전체에서 고유
BucketName해야 하며 대문자를 포함할 수 없습니다. 계정 ID를 BucketName의 일부로 포함하는 것은 요구 사항이 아니지만 나중에 버킷을 더 쉽게 식별할 수 있습니다. 계정에 있는 S3 버킷 이름을 확인하려면 계정의 Amazon S3 콘솔로 이동합니다.{ "Description": "S3BucketForWordPressBundle", "VpcId": "VPC_ID", "StackTemplateId": "stm-s2b72beb000000000", "Name": "S3BucketForWP", "TimeoutInMinutes": 60, "Parameters": { "AccessControl": "Private", "BucketName": "ACCOUNT_ID-BUCKET_NAME" } }CreateRfc용 JSON 템플릿을 CreateS3StoreRfc.json:
aws amscm create-rfc --generate-cli-skeleton > CreateS3StoreRfc.jsonCreateS3StoreRfc.json 파일을 수정하고 저장하면 콘텐츠를 삭제하고 바꿀 수 있습니다. 이제
RequestedStartTime및RequestedEndTime는 선택 사항입니다. 제외하면 승인되는 즉시 실행되는 ASAP RFC가 생성됩니다(일반적으로 자동으로 발생함). 예약된 RFC를 제출하려면 해당 값을 추가합니다.{ "ChangeTypeVersion": "1.0", "ChangeTypeId": "ct-1a68ck03fn98r", "Title": "S3-Stack-For-WP-RFC" }CreateS3StoreRfc.json 파일과 CreateS3StoreParams.json 실행 파라미터 파일을 지정하여 RFC를 생성합니다.
aws amscm create-rfc --cli-input-json file://CreateS3StoreRfc.json --execution-parameters file://CreateS3StoreParams.json응답에서 새 RFC의 RfcId를 수신합니다. 후속 단계를 위해 ID를 저장합니다.
RFC를 제출합니다.
aws amscm submit-rfc --rfc-idRFC_IDRFC가 성공하면 출력이 수신되지 않습니다.
RFC 상태를 확인하려면를 실행합니다.
aws amscm get-rfc --rfc-idRFC_ID