레지스터 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다. - AWS CodeDeploy

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

레지스터 명령(IAM 사용자 ARN)을 사용하여 온프레미스 인스턴스를 등록합니다.

중요

IAM 사용자를 사용하여 인스턴스를 등록하는 것은 인증에 정적(영구) 보안 인증 정보를 사용하므로 권장되지 않습니다. 보안을 강화하려면 인증을 위한 임시 보안 인증 정보를 사용하여 인스턴스를 등록하는 것이 좋습니다. 자세한 정보는 register-on-premises-instance 명령 (IAM 세션 ARN) 을 사용하여 온프레미스 인스턴스를 등록합니다.을 참조하세요.

중요

IAM 사용자의 액세스 키(영구 보안 인증 정보)를 교체할 계획이 있어야 합니다. 자세한 내용은 액세스 키 교체를 참조하세요.

이 섹션에서는 최소한의 노력으로 온프레미스 인스턴스를 구성하고 등록 및 태그를 지정하는 방법을 설명합니다. CodeDeploy register 명령은 단일 또는 소규모 온프레미스 인스턴스 집합으로 작업할 때 가장 유용합니다. register 명령은 IAM 사용자 ARN을 사용하여 인스턴스를 인증하는 경우에만 사용할 수 있습니다. register 명령은 인증용 IAM 세션 ARN과 함께 사용합니다.

register명령을 사용하면 다음과 같은 CodeDeploy 작업을 수행할 수 있습니다.

  • 명령으로 IAM 사용자를 지정하지 않는 경우 온프레미스 AWS Identity and Access Management 인스턴스용 IAM 사용자를 생성하십시오.

  • IAM 사용자의 자격 증명을 온프레미스 인스턴스 구성 파일에 저장합니다.

  • 에 온프레미스 인스턴스를 등록합니다. CodeDeploy

  • 명령의 일부로 태그를 지정한 경우 온프레미스 인스턴스에 태그를 추가합니다.

참고

register-on-premises-instance명령은 register 명령 대신 사용할 수 있습니다. 온프레미스 인스턴스를 구성하고 CodeDeploy 대부분 사용자가 직접 등록하고 태그를 지정하려는 경우 register-on-premises-instance 명령을 사용합니다. register-on-premises-instance 명령은 IAM 사용자 ARN 대신 IAM 세션 ARN을 사용하여 인스턴스를 등록할 수 있는 옵션도 제공합니다. 이 접근 방식은 대규모 온프레미스 인스턴스 플릿이 있는 경우 큰 이점을 제공합니다. 특히 각 온프레미스 인스턴스에 대해 하나씩 IAM 사용자를 만들지 않고 단일 IAM 세션 ARN 사용하여 여러 인스턴스를 인증할 수 있습니다. 자세한 내용은 register-on-premises-instance 명령 (IAM 사용자 ARN) 을 사용하여 온프레미스 인스턴스를 등록합니다. register-on-premises-instance 명령 (IAM 세션 ARN) 을 사용하여 온프레미스 인스턴스를 등록합니다. 섹션을 참조하세요.

1단계: 온프레미스 인스턴스 AWS CLI 설치 및 구성

  1. 온프레미스 인스턴스에 설치합니다. AWS CLI AWS Command Line Interface 사용 설명서AWS CLI을(를) 이용하여 설치 시작하기에 나와 있는 지침을 따릅니다.

    참고

    CodeDeploy 온프레미스 인스턴스 작업을 위한 명령은 AWS CLI 버전 1.7.19 이상에서 사용할 수 있습니다. AWS CLI 이미 설치되어 있는 경우 를 aws --version 호출하여 버전을 확인하십시오.

  2. 온프레미스 인스턴스를 구성합니다. AWS CLI AWS Command Line Interface 사용 설명서AWS CLI구성에 나와 있는 지침을 따릅니다.

    중요

    를 구성할 때 AWS CLI (예: aws configure 명령 호출) 에 지정된 권한 외에 최소한 다음과 같은 액세스 권한을 가진 IAM 사용자의 비밀 키 ID와 비밀 AWS 액세스 키를 지정해야 합니다. 온프레미스 인스턴스 구성을 위한 사전 요구 사항 이렇게 하면 온프레미스 인스턴스에 CodeDeploy 에이전트를 다운로드하고 설치할 수 있습니다. 액세스 권한은 다음과 비슷할 수 있습니다.

    { "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:*", "iam:CreateAccessKey", "iam:CreateUser", "iam:DeleteAccessKey", "iam:DeleteUser", "iam:DeleteUserPolicy", "iam:ListAccessKeys", "iam:ListUserPolicies", "iam:PutUserPolicy", "iam:GetUser", "tag:getTagKeys", "tag:getTagValues", "tag:GetResources" ], "Resource" : "*" }, { "Effect" : "Allow", "Action" : [ "s3:Get*", "s3:List*" ], "Resource" : [ "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
    참고

    이전에 표시된 Amazon S3 버킷 중 하나에 액세스하려고 할 때 액세스 거부 오류가 표시되면 버킷의 리소스 ARN에서 /* 부분(예: arn:aws:s3:::aws-codedeploy-sa-east-1)을 생략해 보세요.

2단계: 등록 명령 호출

이 단계에서는 온프레미스 인스턴스 자체에서 온프레미스 인스턴스를 등록한다고 가정합니다. 또한 이전 단계에서 설명한 대로 AWS CLI 설치 및 구성된 별도의 장치 또는 인스턴스에서 온프레미스 인스턴스를 등록할 수 있습니다.

를 AWS CLI 사용하여 등록 명령을 호출하고 다음을 지정합니다.

  • 온프레미스 인스턴스를 고유하게 식별하는 이름 CodeDeploy (옵션 포함). --instance-name

    중요

    나중에 특히 디버깅을 위해 온프레미스 인스턴스를 식별하려면 온프레미스 인스턴스의 일부 고유 특성(예: 일련 번호 또는 해당되는 경우 고유한 내부 자산 식별자)에 매핑되는 이름을 사용하는 것이 좋습니다. 이름에 MAC 주소를 지정하는 경우 MAC 주소에는 허용되지 CodeDeploy 않는 문자 (예: 콜론 () 가 포함된다는 점에 유의하십시오. : 허용되는 문자 목록은 CodeDeploy 할당량 단원을 참조하세요.

  • 선택적으로 이 온프레미스 인스턴스와 연결하려는 기존 IAM 사용자의 ARN(--iam-user-arn 옵션 사용). IAM 사용자의 ARN을 가져오려면 get-user 명령을 호출하거나 IAM 콘솔의 사용자(Users) 섹션에서 IAM 사용자 이름을 선택한 다음 요약 섹션에서 사용자 ARN(User ARN) 값을 찾습니다. 이 옵션을 지정하지 않으면 AWS 계정에서 IAM 사용자를 대신 생성하여 온프레미스 인스턴스와 연결합니다. CodeDeploy

    중요

    --iam-user-arn 옵션을 지정하는 경우 4단계: 온프레미스 인스턴스에 구성 파일 추가에 설명된 대로 온프레미스 인스턴스 구성 파일도 수동으로 생성해야 합니다.

    하나의 IAM 사용자만 하나의 온프레미스 인스턴스에만 연결할 수 있습니다. 단일 IAM 사용자를 여러 온프레미스 인스턴스와 연결하려고 하면 오류가 발생하거나, 이러한 온프레미스 인스턴스에 배포하지 못하거나, 영구 보류 상태로 유지된 온프레미스 인스턴스에 배포될 수 있습니다.

  • 선택적으로, 배포할 Amazon EC2 인스턴스 세트를 식별하는 CodeDeploy 데 사용할 온프레미스 인스턴스 태그 세트 (--tags옵션 포함). Key=tag-key,Value=tag-value을(를) 사용하여 각 태그를 지정합니다(예: Key=Name,Value=Beta Key=Name,Value=WestRegion). 이 옵션을 지정하지 않으면 태그가 등록되지 않습니다. 나중에 태그를 등록하려면 add-tags-to-on-premises-instances 명령을 호출하십시오.

  • 온프레미스 인스턴스를 등록할 AWS 지역 (옵션 포함 CodeDeploy ) 을 선택할 수도 있습니다. --region AWS 일반 참조리전 및 엔드포인트에 나열된 지원되는 리전 중 하나여야 합니다(예: us-west-2). 이 옵션을 지정하지 않으면 발신하는 IAM 사용자와 연결된 기본 AWS 리전이 사용됩니다.

예:

aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2

register 명령은 다음 작업을 수행합니다.

  1. 기존 IAM 사용자가 지정되지 않은 경우 IAM 사용자를 생성하고 필요한 권한을 연결하며 해당 보안 키와 보안 액세스 키를 생성합니다. 온프레미스 인스턴스는 이 IAM 사용자와 해당 권한 및 자격 증명을 사용하여 인증하고 상호 작용합니다. CodeDeploy

  2. 온프레미스 인스턴스를 에 등록합니다. CodeDeploy

  3. 지정된 경우 --tags 옵션에 지정된 태그의 태그를 등록된 온프레미스 인스턴스 이름과 연결합니다. CodeDeploy

  4. IAM 사용자가 생성된 경우 register 명령이 호출된 동일한 디렉터리에 필요한 구성 파일도 생성합니다.

이 명령에 오류가 발생하면 나머지 단계를 수동으로 완료하는 방법을 설명하는 오류 메시지가 나타납니다. 그렇지 않으면 다음 단계에 나열된 대로 install 명령을 호출하는 방법을 설명하는 성공 메시지가 나타납니다.

3단계: 설치 명령 호출

온프레미스 인스턴스에서 를 사용하여 설치 명령을 AWS CLI 호출하고 다음을 지정합니다.

  • 구성 파일의 경로(--config-file 옵션 사용).

  • 선택적으로, 온프레미스 인스턴스에 이미 존재하는 구성 파일을 대체할지 여부(--override-config 옵션 사용). 지정하지 않으면 기존 구성 파일이 대체되지 않습니다.

  • 선택 사항으로 온프레미스 인스턴스를 등록할 AWS 지역 CodeDeploy (--region옵션 포함). AWS 일반 참조리전 및 엔드포인트에 나열된 지원되는 리전 중 하나여야 합니다(예: us-west-2). 이 옵션을 지정하지 않으면 발신하는 IAM 사용자와 연결된 기본 AWS 리전이 사용됩니다.

  • CodeDeploy 에이전트를 설치할 사용자 지정 위치 (--agent-installer옵션 포함) 를 지정할 수도 있습니다. 이 옵션은 공식적으로 지원하지 CodeDeploy 않는 에이전트의 사용자 정의 버전 (예: CodeDeploy CodeDeploy에이전트 리포지토리를 기반으로 하는 사용자 정의 버전 GitHub) 을 설치하는 데 유용합니다. 값은 다음 중 하나를 포함하는 Amazon S3 버킷의 경로여야 합니다.

    • CodeDeploy 에이전트 설치 스크립트 (Linux 또는 UNIX 기반 운영 체제용, 의 CodeDeploy에이전트 리포지토리에 GitHub 있는 설치 파일과 유사)

    • CodeDeploy 에이전트 설치 프로그램 패키지 (.msi) 파일 (Windows 기반 운영 체제용)

    이 옵션을 지정하지 않으면 온프레미스 인스턴스의 운영 체제와 호환되는 공식적으로 지원되는 버전의 CodeDeploy 에이전트를 자체 위치에서 설치하기 위해 최선을 다합니다. CodeDeploy

예:

aws deploy install --override-config --config-file /tmp/codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi

install 명령은 다음 작업을 수행합니다.

  1. 온프레미스 인스턴스가 Amazon EC2 인스턴스인지 확인합니다. 이 경우 오류 메시지가 나타납니다.

  2. 온프레미스 인스턴스 구성 파일을 인스턴스의 지정된 위치에서 CodeDeploy 에이전트가 찾을 것으로 예상하는 위치로 복사합니다. 단, 파일이 해당 위치에 아직 없는 경우에 한합니다.

    Ubuntu Server와 Red Hat Enterprise Linux(RHEL)의 경우, /etc/codedeploy-agent/conf/codedeploy.onpremises.yml.

    Windows Server의 경우 C:\ProgramData\Amazon\CodeDeploy\conf.onpremises.yml.

    --override-config 옵션이 지정되면 파일을 만들거나 덮어씁니다.

  3. 온프레미스 인스턴스에 CodeDeploy 에이전트를 설치한 다음 시작합니다.

4단계 : 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포합니다.

등록 및 태그가 지정된 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포할 준비가 되었습니다.

애플리케이션 개정 버전을 Amazon EC2 인스턴스에 배포하는 것과 유사한 방식으로 온프레미스 인스턴스에 배포합니다. 지침은 를 사용하여 배포 생성 CodeDeploy 단원을 참조하세요. 이러한 지침은 애플리케이션 만들기, 배포 그룹 만들기 및 애플리케이션 개정 버전 준비를 비롯한 필수 구성 요소에 연결됩니다. 배포하기 위해 간단한 샘플 애플리케이션 개정 버전이 필요한 경우 자습서: CodeDeploy (Windows Server, 우분투 서버 또는 Red Hat 엔터프라이즈 리눅스) 를 사용하여 온프레미스 인스턴스에 애플리케이션 배포2단계: 샘플 애플리케이션 수정 버전 만들기에 설명된 개정 버전을 생성할 수 있습니다.

중요

온프레미스 인스턴스를 대상으로 하는 배포 그룹을 만들 때 기존 CodeDeploy 서비스 역할을 재사용하는 경우 서비스 역할의 정책 설명 Action 부분에 Tag:get* 포함해야 합니다. 자세한 정보는 2단계: 서비스 역할 만들기 CodeDeploy을 참조하세요.

5단계: 온프레미스 인스턴스에 대한 배포 추적

등록되고 태그가 지정된 온프레미스 인스턴스에 애플리케이션 개정 버전을 배포한 후 배포의 진행 상황을 추적할 수 있습니다.

Amazon EC2 인스턴스에 대한 배포를 추적하는 것과 유사한 방식으로 온프레미스 인스턴스에 대한 배포를 추적합니다. 지침은 CodeDeploy 배포 세부 정보 보기 단원을 참조하세요.

더 많은 옵션은 에서 온프레미스 인스턴스 운영 관리 CodeDeploy을 참조하세요.