기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CodeDeploy (AWS CLI 또는 아마존 EC2 콘솔) 용 Amazon EC2 인스턴스 생성
이 지침은 배포에 사용하도록 구성된 새 Amazon EC2 인스턴스를 시작하는 방법을 보여줍니다. CodeDeploy
AWS CloudFormation 템플릿을 사용하여 배포에 사용하도록 이미 구성된 Amazon Linux 또는 Windows Server를 실행하는 Amazon EC2 인스턴스를 시작할 수 있습니다. CodeDeploy 우분투 서버 또는 레드햇 엔터프라이즈 리눅스 (RHEL) 를 실행하는 Amazon EC2 인스턴스용 AWS CloudFormation 템플릿은 제공하지 않습니다. 템플릿 사용 대신 적용할 수 있는 방법은 에 대한 인스턴스 작업 CodeDeploy 단원을 참조하세요.
Amazon EC2 콘솔 또는 Amazon EC2 API를 사용하여 Amazon EC2 인스턴스를 시작할 수 있습니다. AWS CLI
Amazon EC2 인스턴스 시작(콘솔)
필수 조건
아직 IAM 인스턴스 프로필을 설정 및 구성하지 않은 경우, 지침에 따라 시작하기 CodeDeploy IAM 인스턴스 프로필을 설정 AWS CLI 및 구성하고 생성하십시오.
Amazon EC2 인스턴스 시작하기
AWS Management Console 로그인하고 https://console.aws.amazon.com/ec2/ 에서 Amazon EC2 콘솔을 엽니다.
-
탐색 창에서 인스턴스를 선택한 후 인스턴스 시작을 선택합니다.
-
1단계: Amazon Machine Image(AMI) 선택 페이지의 빠른 시작 탭에서 사용하려는 운영 체제와 버전을 찾은 다음 선택을 선택합니다. 에서 지원하는 Amazon EC2 AMI 운영 체제를 선택해야 합니다. CodeDeploy 자세한 정보는 에이전트가 CodeDeploy 지원하는 운영 체제을 참조하세요.
-
2단계: 인스턴스 유형 선택(Step 2: Choose an Instance Type) 페이지에서 사용 가능한 Amazon EC2 인스턴스 유형을 선택한 후 다음: 인스턴스 세부 정보 구성(Next: Configure Instance Details)을 선택합니다.
-
3단계: 인스턴스 세부 정보 구성(Step 3: Configure Instance Details) 페이지의 IAM 역할(IAM role) 목록에서 4단계: Amazon 인스턴스용 IAM EC2 인스턴스 프로필 생성에서 생성한 IAM 인스턴스 역할을 선택합니다. 제안된 역할 이름을 사용한 경우
CodeDeployDemo-EC2-Instance-Profile
을 선택합니다. 고유의 역할 이름을 생성한 경우 해당 이름을 선택합니다.참고
기본 Virtual Private Cloud(VPC)가 Network(네트워크) 목록에 표시되지 않는 경우 Amazon VPC 및 서브넷을 선택하거나 생성해야 합니다. 새 VPC 생성이나 새 서브넷 생성 또는 둘 다 선택합니다. 자세한 내용은 VPC 및 서브넷을 참조하세요.
-
다음: 스토리지 추가를 선택합니다.
-
4단계: 스토리지 추가 페이지의 설정을 그대로 두고 다음: 태그 추가를 선택합니다.
-
5단계: 태그 추가 페이지에서 태그 추가를 선택합니다.
-
키 상자에
Name
을 입력합니다. 값 상자에CodeDeployDemo
를 입력합니다.중요
키 및 값 상자의 내용은 대/소문자를 구분합니다.
-
다음: 보안 그룹 구성(Next: Configure Security Group)을 선택합니다.
-
6단계: 보안 그룹 구성 페이지에서 새 보안 그룹 생성 옵션을 선택된 채로 둡니다.
SSH 역할 기본값은 Amazon Linux, Ubuntu Server 또는 RHEL을 실행하는 Amazon EC2 인스턴스로 구성되어 있습니다. RDP 역할 기본값은 Windows Server를 실행하는 Amazon EC2 인스턴스로 구성되어 있습니다.
-
HTTP 포트를 열려면 규칙 추가 버튼을 선택하고 유형 드롭다운 목록에서
HTTP
를 선택합니다. 소스의 기본값 사용자 지정 0.0.0.0/0을 그대로 두고, 검토 및 시작을 선택합니다.참고
프로덕션 환경에서는 Anywhere 0.0.0/0으로 지정하는 대신 SSH, RDP 및 HTTP 포트에 대한 액세스를 제한하는 것이 좋습니다. CodeDeploy 무제한 포트 액세스가 필요하지 않으며 HTTP 액세스도 필요하지 않습니다. 자세한 내용은 Amazon EC2 인스턴스의 보안 유지를 위한 팁
을 참조하세요. 범용(SSD)에서 부팅 대화 상자가 표시되면 해당 지침을 따른 후 다음을 선택합니다.
-
7단계: 인스턴스 시작 검토 페이지의 설정을 그대로 두고 시작을 선택합니다.
-
기존 키 페어 선택 또는 새 키 페어 생성 대화 상자에서 기존 키 페어 선택 또는 새 키 페어 생성을 선택합니다. Amazon EC2 인스턴스 키 페어를 이미 구성했다면 여기에서 선택할 수 있습니다.
아직 Amazon EC2 인스턴스 키 페어가 없다면 새 키 페어 생성(Create a new key pair)을 선택하고 식별 가능한 이름을 지정합니다. 키 페어 다운로드(Download Key Pair)를 선택하여 컴퓨터에 Amazon EC2 인스턴스 키 페어를 다운로드합니다.
중요
SSH 또는 RDP를 사용하여 Amazon EC2 인스턴스에 액세스하려면 키 페어가 있어야 합니다.
-
인스턴스 시작(Launch Instances)을 선택합니다.
-
Amazon EC2 인스턴스의 ID를 선택합니다. 인스턴스가 시작되어 모든 검사를 통과할 때까지 기다리세요.
에이전트 설치 CodeDeploy
CodeDeploy 에이전트를 배포에 사용하기 전에 Amazon EC2 인스턴스에 에이전트를 설치해야 합니다. CodeDeploy 자세한 정보는 CodeDeploy 에이전트 설치을 참조하세요.
참고
콘솔에서 배포 그룹을 생성할 때 CodeDeploy 에이전트의 자동 설치 및 업데이트를 구성할 수 있습니다.
Amazon EC2 인스턴스 시작하기(CLI)
필수 조건
아직 설정하지 않았다면, 의 시작하기 CodeDeploy 지침에 따라 IAM 인스턴스 프로필을 설정 AWS CLI 및 구성하고 생성하십시오.
Amazon EC2 인스턴스 시작하기
-
Windows Server만 해당: Windows Server를 실행하여 Amazon EC2 인스턴스를 만드는 경우 create-security-group 및 authorize-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 인스턴스의 보안 유지를 위한 팁
을 참조하세요. -
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 인스턴스용 IAM EC2 인스턴스 프로필 생성 섹션을 참조하세요.
-
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 일반 참조의 리전 및 엔드포인트에 나열된 리전 중 하나에 키 페어를 생성해야 합니다. 그렇지 않으면 Amazon EC2 인스턴스 키 쌍을 함께 사용할 수 없습니다. CodeDeploy
Amazon Linux, RHEL 및 Ubuntu Server용
run-instances 명령을 호출하여 Amazon Linux, Ubuntu Server 또는 RHEL을 실행하는 Amazon EC2 인스턴스를 시작하고 4단계: Amazon 인스턴스용 IAM EC2 인스턴스 프로필 생성에서 생성된 IAM 인스턴스 프로파일을 연결합니다. 예:
aws ec2 run-instances \ --image-id
ami-id
\ --key-namekey-name
\ --count 1 \ --instance-typeinstance-type
\ --iam-instance-profile Name=iam-instance-profile
참고
이 명령은 Amazon EC2 인스턴스에 대해 여러 포트에 대한 액세스를 허용하는 보안 그룹 기본값을 만듭니다. 여기에는 SSH의 경우 포트 22, HTTP의 경우 포트 80을 통한 무제한 액세스가 포함됩니다. 모범 사례로 SSH 및 HTTP 포트에만 액세스를 제한하는 것이 좋습니다. CodeDeploy 무제한 포트 액세스가 필요하지 않으며 HTTP 포트 액세스가 필요하지 않습니다. 자세한 내용은 Amazon EC2 인스턴스의 보안 유지를 위한 팁
을 참조하세요. Windows Server용
run-instances 명령을 호출하여 Windows Server를 실행하는 Amazon EC2 인스턴스를 시작하고 4단계: Amazon 인스턴스용 IAM EC2 인스턴스 프로필 생성에서 생성한 IAM 인스턴스 프로파일을 연결하며, 1단계에서 생성한 보안 그룹의 이름을 지정합니다. 예:
aws ec2 run-instances --image-id
ami-id
--key-namekey-name
--count 1 --instance-typeinstance-type
--iam-instance-profile Name=iam-instance-profile
--security-groups CodeDeploy-Windows-Security-Group이 명령은 지정된 IAM 인스턴스 프로파일에 따라 지정된 AMI, 키 페어, 인스턴스 유형으로 단일 Amazon EC2 인스턴스를 시작하고, 시작 시 지정된 스크립트를 실행합니다.
-
-
출력에서
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=BetaAmazon EC2 인스턴스가 시작되어 모든 검사를 통과했는지 확인하려면, 인스턴스 ID를 사용하여 describe-instance-status 명령을 호출합니다.
aws ec2 describe-instance-status --instance-ids
instance-id
--query "InstanceStatuses[*].InstanceStatus.[Status]" --output text
인스턴스가 시작되어 모든 검사를 통과한 경우 출력에 ok
가 표시됩니다.
에이전트를 설치합니다. CodeDeploy
CodeDeploy 에이전트를 배포에 사용하기 전에 Amazon EC2 인스턴스에 에이전트를 설치해야 합니다. CodeDeploy 자세한 정보는 CodeDeploy 에이전트 설치을 참조하세요.
참고
콘솔에서 배포 그룹을 생성할 때 CodeDeploy 에이전트의 자동 설치 및 업데이트를 구성할 수 있습니다.