CodeDeploy를 위한 Amazon EC2 인스턴스 생성(AWS CLI 또는 Amazon EC2 콘솔) - AWS CodeDeploy

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

CodeDeploy를 위한 Amazon EC2 인스턴스 생성(AWS CLI 또는 Amazon EC2 콘솔)

다음 지침은 CodeDeploy 배포에 사용하도록 구성된 새 Amazon EC2 인스턴스를 시작하는 방법을 안내합니다.

AWS CloudFormation 템플릿을 사용하여 이미 CodeDeploy 배포에 사용하도록 구성된 Amazon Linux 또는 Windows Server를 실행하는 Amazon EC2 인스턴스를 시작할 수 있습니다. Ubuntu Server 또는 Red Hat Enterprise Linux(RHEL)를 실행하는 Amazon EC2 인스턴스에 대해서는 AWS CloudFormation 템플릿을 제공하지 않습니다. 템플릿 사용 대신 적용할 수 있는 방법은 CodeDeploy용 인스턴스 작업 단원을 참조하세요.

Amazon EC2 콘솔, AWS CLI 또는 Amazon EC2 API를 사용하여 Amazon EC2 인스턴스를 시작할 수 있습니다.

Amazon EC2 인스턴스 시작(콘솔)

필수 조건

아직 수행하지 않은 경우 CodeDeploy 시작하기의 지침에 따라 AWS CLI를 설정 및 구성하고 IAM 인스턴스 프로파일을 만듭니다.

Amazon EC2 인스턴스 시작하기

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

  2. 탐색 창에서 인스턴스를 선택한 후 인스턴스 시작을 선택합니다.

  3. 1단계: Amazon Machine Image(AMI) 선택 페이지의 빠른 시작 탭에서 사용하려는 운영 체제와 버전을 찾은 다음 선택을 선택합니다. CodeDeploy에서 지원하는 Amazon EC2 AMI 운영 체제를 선택해야 합니다. 자세한 내용은 에이전트가 CodeDeploy 지원하는 운영 체제 섹션을 참조하세요.

  4. 2단계: 인스턴스 유형 선택(Step 2: Choose an Instance Type) 페이지에서 사용 가능한 Amazon EC2 인스턴스 유형을 선택한 후 다음: 인스턴스 세부 정보 구성(Next: Configure Instance Details)을 선택합니다.

  5. 3단계: 인스턴스 세부 정보 구성(Step 3: Configure Instance Details) 페이지의 IAM 역할(IAM role) 목록에서 4단계: Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기에서 생성한 IAM 인스턴스 역할을 선택합니다. 제안된 역할 이름을 사용한 경우 CodeDeployDemo-EC2-Instance-Profile을 선택합니다. 고유의 역할 이름을 생성한 경우 해당 이름을 선택합니다.

    참고

    기본 Virtual Private Cloud(VPC)가 Network(네트워크) 목록에 표시되지 않는 경우 Amazon VPC 및 서브넷을 선택하거나 생성해야 합니다. 새 VPC 생성이나 새 서브넷 생성 또는 둘 다 선택합니다. 자세한 내용은 VPC 및 서브넷을 참조하세요.

  6. 다음: 스토리지 추가(Next: Add Storage)를 선택합니다.

  7. 4단계: 스토리지 추가 페이지의 설정을 그대로 두고 다음: 태그 추가를 선택합니다.

  8. 5단계: 태그 추가 페이지에서 태그 추가를 선택합니다.

  9. 상자에 Name을 입력합니다. 상자에 CodeDeployDemo를 입력합니다.

    중요

    상자의 내용은 대/소문자를 구분합니다.

  10. 다음: 보안 그룹 구성(Next: Configure Security Group)을 선택합니다.

  11. 6단계: 보안 그룹 구성 페이지에서 새 보안 그룹 생성 옵션을 선택된 채로 둡니다.

    SSH 역할 기본값은 Amazon Linux, Ubuntu Server 또는 RHEL을 실행하는 Amazon EC2 인스턴스로 구성되어 있습니다. RDP 역할 기본값은 Windows Server를 실행하는 Amazon EC2 인스턴스로 구성되어 있습니다.

  12. HTTP 포트를 열려면 규칙 추가 버튼을 선택하고 유형 드롭다운 목록에서 HTTP를 선택합니다. 소스의 기본값 사용자 지정 0.0.0.0/0을 그대로 두고, 검토 및 시작을 선택합니다.

    참고

    프로덕션 환경에서는 위치 무관 0.0.0.0/0(Anywhere 0.0.0.0/0)을 지정하는 대신 SSH, RDP 및 HTTP 포트에 대한 액세스를 제한하는 것이 좋습니다. CodeDeploy는 무제한 포트 액세스와 HTTP 액세스가 필요하지 않습니다. 자세한 내용은 Amazon EC2 인스턴스의 보안 유지를 위한 팁을 참조하세요.

    범용(SSD)에서 부팅 대화 상자가 표시되면 해당 지침을 따른 후 다음을 선택합니다.

  13. 7단계: 인스턴스 시작 검토 페이지의 설정을 그대로 두고 시작을 선택합니다.

  14. 기존 키 페어 선택 또는 새 키 페어 생성 대화 상자에서 기존 키 페어 선택 또는 새 키 페어 생성을 선택합니다. Amazon EC2 인스턴스 키 페어를 이미 구성했다면 여기에서 선택할 수 있습니다.

    아직 Amazon EC2 인스턴스 키 페어가 없다면 새 키 페어 생성(Create a new key pair)을 선택하고 식별 가능한 이름을 지정합니다. 키 페어 다운로드(Download Key Pair)를 선택하여 컴퓨터에 Amazon EC2 인스턴스 키 페어를 다운로드합니다.

    중요

    SSH 또는 RDP를 사용하여 Amazon EC2 인스턴스에 액세스하려면 키 페어가 있어야 합니다.

  15. 인스턴스 시작(Launch Instances)을 선택합니다.

  16. Amazon EC2 인스턴스의 ID를 선택합니다. 인스턴스가 시작되어 모든 검사를 통과할 때까지 기다리세요.

CodeDeploy 에이전트 설치

CodeDeploy 배포에서 CodeDeploy 에이전트를 사용하기 전에 Amazon EC2 인스턴스에 에이전트를 설치해야 합니다. 자세한 내용은 에이전트를 설치합니다. CodeDeploy 섹션을 참조하세요.

참고

콘솔에서 배포 그룹을 생성할 때 CodeDeploy 에이전트의 자동 설치 및 업데이트를 구성할 수 있습니다.

Amazon EC2 인스턴스 시작하기(CLI)

필수 조건

아직 수행하지 않은 경우 CodeDeploy 시작하기의 지침에 따라 AWS CLI를 설정 및 구성하고 IAM 인스턴스 프로파일을 만듭니다.

Amazon EC2 인스턴스 시작하기

  1. Windows Server만 해당: Windows Server를 실행하여 Amazon EC2 인스턴스를 만드는 경우 create-security-groupauthorize-security-group-ingress 명령을 호출하여 RDP 액세스(기본값으로 허용되지 않음) 또는 HTTP 액세스를 허용하는 보안 그룹을 만듭니다. 예를 들어 CodeDeployDemo-Windows-Security-Group이라는 보안 그룹을 만들려면 다음 명령을 한 번에 하나씩 실행합니다.

    aws ec2 create-security-group --group-name CodeDeployDemo-Windows-Security-Group --description "For launching Windows Server images for use with CodeDeploy"
    aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 3389 --ip-protocol tcp --cidr-ip 0.0.0.0/0 --from-port 3389
    aws ec2 authorize-security-group-ingress --group-name CodeDeployDemo-Windows-Security-Group --to-port 80 --ip-protocol tcp --cidr-ip 0.0.0.0/0 --from-port 80
    참고

    데모용으로 이 명령은 포트 3389를 통한 RDP 또는 포트 80을 통한 HTTP에 대한 무제한 액세스를 허용하는 보안 그룹을 만듭니다. RDP 및 HTTP 포트에 대한 액세스를 제한하는 것을 모범 사례로 권장합니다. CodeDeploy는 무제한 포트 액세스와 HTTP 액세스가 필요하지 않습니다. 자세한 내용은 Amazon EC2 인스턴스의 보안 유지를 위한 팁을 참조하세요.

  2. run-instances 명령을 호출하여 Amazon EC2 인스턴스를 생성하고 시작합니다.

    이 명령을 호출하기 전에 다음을 수집해야 합니다.

    • 인스턴스에 사용할 Amazon Machine Image(AMI)의 ID(ami-id). ID를 확인하려면 적합한 AMI 찾기를 참조하세요.

    • 생성할 Amazon EC2 인스턴스 유형(instance-type)의 이름(예: t1.micro). Amazon EC2 인스턴스 유형에서 목록을 확인하세요.

    • 리전에 적합한 CodeDeploy 에이전트 설치 파일이 저장되어 있는 Amazon S3 버킷에 액세스할 권한을 가진 IAM 인스턴스 프로파일의 이름.

      IAM 인스턴스 프로파일의 생성에 대한 자세한 내용은 4단계: Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기 섹션을 참조하세요.

    • Amazon Linux, Ubuntu Server를 실행하는 Amazon EC2 인스턴스에 대한 SSH 액세스 또는 Windows Server를 실행하는 Amazon EC2 인스턴스에 대한 RHEL 또는 RDP 액세스를 가능하게 하는 Amazon EC2 인스턴스 키 페어의 이름(key-name).

      중요

      키 페어 파일 확장명은 제외하고 키 페어 이름만 입력합니다. 예를 들어 my-keypair.pem이 아니라 my-keypair로 입력합니다.

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

      키 페어를 생성하려면 Amazon EC2를 사용하여 키 페어 만들기를 참조하세요. AWS 일반 참조리전 및 엔드포인트에 나열된 리전 중 하나에 키 페어를 생성해야 합니다. 그렇지 않으면 CodeDeploy에서 Amazon EC2 인스턴스 키 페어를 사용할 수 없습니다.

    Amazon Linux, RHEL 및 Ubuntu Server용

    run-instances 명령을 호출하여 Amazon Linux, Ubuntu Server 또는 RHEL을 실행하는 Amazon EC2 인스턴스를 시작하고 4단계: Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기에서 생성된 IAM 인스턴스 프로파일을 연결합니다. 예:

    aws ec2 run-instances \ --image-id ami-id \ --key-name key-name \ --count 1 \ --instance-type instance-type \ --iam-instance-profile Name=iam-instance-profile
    참고

    이 명령은 Amazon EC2 인스턴스에 대해 여러 포트에 대한 액세스를 허용하는 보안 그룹 기본값을 만듭니다. 여기에는 SSH의 경우 포트 22, HTTP의 경우 포트 80을 통한 무제한 액세스가 포함됩니다. RDP 및 HTTP 포트에 대한 액세스를 제한하는 것을 모범 사례로 권장합니다. CodeDeploy에는 무제한 포트 액세스와 HTTP 포트 액세스가 필요하지 않습니다. 자세한 내용은 Amazon EC2 인스턴스의 보안 유지를 위한 팁을 참조하세요.

    Windows Server용

    run-instances 명령을 호출하여 Windows Server를 실행하는 Amazon EC2 인스턴스를 시작하고 4단계: Amazon EC2 인스턴스에 대한 IAM 인스턴스 프로파일 만들기에서 생성한 IAM 인스턴스 프로파일을 연결하며, 1단계에서 생성한 보안 그룹의 이름을 지정합니다. 예:

    aws ec2 run-instances --image-id ami-id --key-name key-name --count 1 --instance-type instance-type --iam-instance-profile Name=iam-instance-profile --security-groups CodeDeploy-Windows-Security-Group

    이 명령은 지정된 IAM 인스턴스 프로파일에 따라 지정된 AMI, 키 페어, 인스턴스 유형으로 단일 Amazon EC2 인스턴스를 시작하고, 시작 시 지정된 스크립트를 실행합니다.

  3. 출력에서 InstanceID 값을 기록해 둡니다. 이 값을 잊어버린 경우 Amazon EC2 인스턴스 키 페어에 대해 describe-instances 명령을 호출하여 나중에 확인할 수 있습니다.

    aws ec2 describe-instances --filters "Name=key-name,Values=keyName" --query "Reservations[*].Instances[*].[InstanceId]" --output text

    인스턴스 ID를 사용하여 create-tags 명령을 호출합니다. 이 명령은 Amazon EC2 인스턴스에 태그를 지정하여 이후 배포 중에 CodeDeploy가 인스턴스를 찾을 수 있도록 합니다. 다음 예제에서 태그 이름이 CodeDeployDemo지만, 원하는 대로 Amazon EC2 인스턴스 태그를 지정할 수 있습니다.

    aws ec2 create-tags --resources instance-id --tags Key=Name,Value=CodeDeployDemo

    하나의 인스턴스에 태그 여러 개를 동시에 적용할 수 있습니다. 예:

    aws ec2 create-tags --resources instance-id --tags Key=Name,Value=testInstance Key=Region,Value=West Key=Environment,Value=Beta

    Amazon EC2 인스턴스가 시작되어 모든 검사를 통과했는지 확인하려면, 인스턴스 ID를 사용하여 describe-instance-status 명령을 호출합니다.

    aws ec2 describe-instance-status --instance-ids instance-id --query "InstanceStatuses[*].InstanceStatus.[Status]" --output text

인스턴스가 시작되어 모든 검사를 통과한 경우 출력에 ok가 표시됩니다.

CodeDeploy 에이전트 설치

CodeDeploy 배포에서 CodeDeploy 에이전트를 사용하기 전에 Amazon EC2 인스턴스에 에이전트를 설치해야 합니다. 자세한 내용은 에이전트를 설치합니다. CodeDeploy 섹션을 참조하세요.

참고

콘솔에서 배포 그룹을 생성할 때 CodeDeploy 에이전트의 자동 설치 및 업데이트를 구성할 수 있습니다.