CodeDeploy (AWS CloudFormation 템플릿) 을 위한 Amazon EC2 인스턴스 생성 - AWS CodeDeploy

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

CodeDeploy (AWS CloudFormation 템플릿) 을 위한 Amazon EC2 인스턴스 생성

AWS CloudFormation 템플릿을 사용하여 아마존 리눅스 또는 윈도우 서버를 실행하는 Amazon EC2 인스턴스를 빠르게 시작할 수 있습니다. AWS CLI, CodeDeploy 콘솔 또는 AWS API를 사용하여 템플릿으로 인스턴스를 시작할 수 있습니다. 템플릿은 인스턴스를 시작하는 것 외에도 다음을 수행합니다.

  • 인스턴스에 배포에 참여할 CodeDeploy 수 있는 권한을 AWS CloudFormation 부여하도록 지시합니다.

  • 배포 중에 찾을 CodeDeploy 수 있도록 인스턴스에 태그를 지정합니다.

  • 인스턴스에 CodeDeploy 에이전트를 설치하고 실행합니다.

Amazon EC2 인스턴스를 AWS CloudFormation 설정하기 위해 당사를 사용할 필요는 없습니다. 에 대한 인스턴스 작업 CodeDeploy에서 다른 방법을 확인해 보세요.

우분투 서버 또는 레드햇 엔터프라이즈 리눅스 (RHEL) 를 실행하는 Amazon EC2 인스턴스용 AWS CloudFormation 템플릿은 제공하지 않습니다.

시작하기 전 준비 사항

AWS CloudFormation 템플릿을 사용하여 Amazon EC2 인스턴스를 시작하려면 먼저 다음 단계를 완료해야 합니다.

  1. 1단계: 설정에 설명된 대로 관리 사용자를 생성했는지 확인합니다. 사용자에게 다음과 같은 최소 권한이 있는지 다시 확인하고 누락된 권한을 추가합니다.

    • cloudformation:*

    • codedeploy:*

    • ec2:*

    • iam: AddRoleToInstanceProfile

    • 목표: CreateInstanceProfile

    • 목표: CreateRole

    • 목표: DeleteInstanceProfile

    • 목표: DeleteRole

    • 목표: DeleteRolePolicy

    • 목표: GetRole

    • 목표: DeleteRolePolicy

    • 목표: PutRolePolicy

    • 목표: RemoveRoleFromInstanceProfile

  2. Amazon Linux를 실행하는 Amazon EC2 인스턴스에 대한 SSH 액세스 또는 Windows 서버를 실행하는 인스턴스에 대한 RDP 액세스를 활성화하려면 인스턴스 키 페어가 있는지 확인합니다.

    키 페어 이름을 확인하려면 https://console.aws.amazon.com/ec2에서 Amazon EC2 콘솔을 엽니다. 탐색 창의 네트워크 및 보안에서 키 페어를 선택하고 목록에 표시되는 키 페어의 이름을 기록해 둡니다.

    새 키 페어를 생성하려면 Amazon EC2를 사용하여 키 페어 생성을 참조하세요. AWS 일반 참조리전 및 엔드포인트에 나열된 리전 중 하나에 키 페어가 생성되어야 합니다. 그렇지 않으면 인스턴스 키 쌍을 와 함께 사용할 수 없습니다 CodeDeploy.

AWS CloudFormation 템플릿 (콘솔) 을 사용하여 Amazon EC2 인스턴스 시작

  1. https://console.aws.amazon.com/cloudformation 에서 AWS Management Console 로그인하고 AWS CloudFormation 콘솔을 엽니다.

    중요

    사용한 것과 동일한 계정으로 시작하기 CodeDeploy 로그인합니다. AWS Management Console 내비게이션 바의 지역 선택기에서 지역에 나열된 지역과 엔드포인트에 나열된 지역 중 하나를 선택합니다. AWS 일반 참조 CodeDeploy 다음 지역만 지원합니다.

  2. 스택 생성을 선택합니다.

  3. 템플릿 선택(Choose a template)에서 Amazon S3 템플릿 URL 지정(Specify an Amazon S3 template URL)을 선택합니다. 상자에 해당 지역의 AWS CloudFormation 템플릿 위치를 입력하고 다음을 선택합니다.

    지역 AWS CloudFormation 템플릿 위치
    US East (Ohio) Region http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    미국 동부(버지니아 북부) 리전 http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    미국 서부(캘리포니아 북부) 리전 http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    미국 서부(오레곤) 리전 http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    캐나다(중부) 리전 http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Europe (Ireland) Region http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Europe (London) Region http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Europe (Paris) Region http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    Europe (Frankfurt) Region http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    이스라엘(텔아비브) 리전 http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Hong Kong) Region http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Tokyo) Region http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    아시아 태평양(서울) 리전 http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    아시아 태평양(싱가포르) 리전 http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    아시아 태평양(시드니) 리전 http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Melbourne) Region https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Mumbai) Region http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    South America (São Paulo) Region aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
  4. 스택 이름(Stack name) 상자에 스택 이름(예: CodeDeployDemoStack)을 입력합니다.

  5. 파라미터(Parameters)에 다음을 입력한 후 다음(Next)을 선택합니다.

    • 에 대해 InstanceCount시작하려는 인스턴스의 수를 입력합니다. (기본값 1을 그대로 두는 것을 권장합니다.)

    • InstanceType시작하려는 인스턴스 유형을 입력합니다 (또는 기본값인 t1.micro를 그대로 유지).

    • KeyPairName경우 인스턴스 키 페어 이름을 입력합니다. 키 페어 파일 확장명은 제외하고 키 페어 이름만 입력합니다.

    • OperatingSystem상자에 Windows Server를 실행하는 인스턴스를 Windows 시작하도록 입력하거나 Linux의 기본값을 그대로 사용합니다.

    • SSHLocation에서, SSH 또는 RDP를 사용하여 인스턴스에 연결하는 데 사용할 IP 주소 범위를 입력합니다(또는 기본값 0.0.0.0/0을 그대로 유지).

      중요

      기본값은 데모용으로만 제공됩니다. 0.0.0.0/0 CodeDeploy Amazon EC2 인스턴스가 포트에 대한 무제한 액세스를 가질 필요는 없습니다. SSH(및 HTTP) 포트에 대한 액세스를 제한할 것을 모범 사례로 권장합니다. 자세한 내용은 Amazon EC2 인스턴스의 보안 유지를 위한 팁을 참조하세요.

    • TagKey경우 배포 중에 인스턴스를 식별하는 CodeDeploy 데 사용할 인스턴스 태그 키를 입력합니다 (또는 기본값인 Name은 그대로 유지).

    • TagValue경우 배포 시 인스턴스를 식별하는 CodeDeploy 데 사용할 인스턴스 태그 값을 입력합니다 (또는 기본값은 그대로 유지 CodeDeployDemo).

  6. 옵션(Options) 페이지에서 옵션 상자를 비워 두고 다음(Next)을 선택합니다.

    중요

    AWS CloudFormation 태그는 CodeDeploy 태그와 다릅니다. AWS CloudFormation 태그를 사용하여 인프라 관리를 단순화합니다. CodeDeploy 태그를 사용하여 Amazon EC2 인스턴스를 식별합니다. 파라미터 지정 페이지에서 CodeDeploy 태그를 지정했습니다.

  7. 검토 페이지의 기능에서 IAM 리소스를 생성할 AWS CloudFormation 수 있음을 인정함 상자를 선택한 다음 [Create] 를 선택합니다.

    스택을 생성하고 Amazon EC2 인스턴스를 시작하면 AWS CloudFormation 콘솔의 상태 열에 CREATE_COMPLETE가 표시됩니다. AWS CloudFormation 이 프로세스는 몇 분 정도 걸릴 수 있습니다.

CodeDeploy 에이전트가 Amazon EC2 인스턴스에서 실행 중인지 확인하려면 을 참조하고 CodeDeploy 에이전트 운영 관리 다음으로 진행하십시오. 를 사용하여 애플리케이션 만들기 CodeDeploy

AWS CloudFormation 템플릿 () 을 사용하여 Amazon EC2 인스턴스를 시작합니다.AWS CLI

  1. create-stack명령을 호출할 때 AWS CloudFormation 템플릿을 사용하십시오. 이 스택은 CodeDeploy 에이전트가 설치된 상태에서 새 Amazon EC2 인스턴스를 시작합니다.

    Amazon Linux를 실행하는 Amazon EC2 인스턴스 시작하기:

    aws cloudformation create-stack \ --stack-name CodeDeployDemoStack \ --template-url templateURL \ --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro \ ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Linux \ ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name \ ParameterKey=TagValue,ParameterValue=CodeDeployDemo \ --capabilities CAPABILITY_IAM

    Windows Server를 실행하는 Amazon EC2 인스턴스 시작:

    aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url template-url --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Windows ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name ParameterKey=TagValue,ParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM

    keyName은 인스턴스 키 페어의 이름입니다. 키 페어 파일 확장명은 제외하고 키 페어 이름만 입력합니다.

    template-url은 해당 지역의 AWS CloudFormation 템플릿 위치입니다.

    지역 템플릿 위치 AWS CloudFormation
    US East (Ohio) Region http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    미국 동부(버지니아 북부) 리전 http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    미국 서부(캘리포니아 북부) 리전 http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    미국 서부(오레곤) 리전 http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    캐나다(중부) 리전 http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Europe (Ireland) Region http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Europe (London) Region http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Europe (Paris) Region http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    Europe (Frankfurt) Region http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    이스라엘(텔아비브) 리전 http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Hong Kong) Region http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Tokyo) Region http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    아시아 태평양(서울) 리전 http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    아시아 태평양(싱가포르) 리전 http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    아시아 태평양(시드니) 리전 http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Melbourne) Region https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacific (Mumbai) Region http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    South America (São Paulo) Region aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json

    이 명령은 지정된 Amazon S3 버킷의 AWS CloudFormation 템플릿을 사용하여 이름이 CodeDeployDemoStack 지정된 AWS CloudFormation 스택을 생성합니다. Amazon EC2 인스턴스는 t1.micro 인스턴스 유형을 따르지만 모든 유형을 사용할 수 있습니다. CodeDeployDemo 값으로 태그 지정되어 있지만 모든 값을 태그 지정할 수 있습니다. 키 페어가 적용된 지정된 인스턴스가 있습니다.

  2. describe-stacks명령을 호출하여 이름이 CodeDeployDemoStack 지정된 AWS CloudFormation 스택이 성공적으로 생성되었는지 확인합니다.

    aws cloudformation describe-stacks --stack-name CodeDeployDemoStack --query "Stacks[0].StackStatus" --output text

    CREATE_COMPLETE 값이 반환될 때까지 진행하지 마세요.

CodeDeploy 에이전트가 Amazon EC2 인스턴스에서 실행 중인지 확인하려면 을 참조하고 CodeDeploy 에이전트 운영 관리 다음으로 진행하십시오. 를 사용하여 애플리케이션 만들기 CodeDeploy