

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

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

# AWS 계정 및 VPCs에 배포
<a name="deploy-environments"></a>

[CodeCatalyst 워크플로](workflow.md)를 사용하면 애플리케이션 및 기타 리소스를 AWS 클라우드의 대상 AWS 계정및 Amazon VPCs에 배포할 수 있습니다. 이러한 배포를 활성화하려면 CodeCatalyst 환경을 설정해야 합니다.

[개발](https://docs.aws.amazon.com/codecatalyst/latest/userguide/devenvironment.html) *환경*과 혼동해서는 안 되는 CodeCatalyst 환경은 CodeCatalyst [워크플로](workflow.md)가 연결되는 대상 AWS 계정 및 선택적 Amazon VPC를 정의합니다. 또한 환경은 워크플로가 대상 계정 내의 AWS 서비스 및 리소스에 액세스하는 데 필요한 [IAM 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) 정의합니다.

여러 환경을 설정하고 개발, 테스트, 스테이징 및 프로덕션과 같은 이름을 지정할 수 있습니다. 이러한 환경에 배포하면 배포에 대한 정보가 환경의 CodeCatalyst **배포 활동** 및 **배포 대상** 탭에 표시됩니다.

## 환경을 시작하려면 어떻게 해야 하나요?
<a name="deploy-environments-get-started"></a>

CodeCatalyst 환경을 추가하고 사용하는 상위 단계는 다음과 같습니다.

1. CodeCatalyst 스페이스에서 **하나 이상의 AWS 계정을 연결합니다**. 이 프로세스 중에 워크플로가 AWS 계정의 리소스에 액세스하는 데 필요한 IAM 역할을 추가합니다. 자세한 내용은 [연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md) 단원을 참조하십시오.

1. CodeCatalyst 프로젝트에서 AWS 계정 1단계의 및 IAM 역할 중 하나를 포함하는 **환경을 생성합니다**. 자세한 내용은 [환경 생성](deploy-environments-creating-environment.md) 단원을 참조하십시오.

1. CodeCatalyst 프로젝트의 워크플로에서 2단계에서 생성한 **환경을 가리키는 [작업](workflows-actions.md)을 추가합니다**. 자세한 내용은 [워크플로에 작업 추가](workflows-add-action.md) 섹션을 참조하세요.

   이제 환경을 구성했습니다. 이제 작업은 환경에서 지정된 AWS 계정 에 리소스를 배포할 수 있습니다.

**참고**  
Amazon VPC를 환경에 추가할 수도 있습니다. 자세한 내용은 *CodeCatalyst 관리 안내서* 및 [VPC를 환경과 연결](deploy-environments-associate-vpc.md)의 [스페이스에 대한 VPC 연결 추가](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html)를 참조하세요.

## 단일 워크플로 내에 여러 환경이 존재할 수 있습니까?
<a name="deploy-environments-multiple"></a>

예. 워크플로에 여러 작업이 포함된 경우 각 작업에 환경을 할당할 수 있습니다. 예를 들어 두 개의 배포 작업이 포함된 워크플로가 있을 때, 하나는 `my-staging-enviroment` 환경이 할당되고 다른 하나는 `my-production-environment` 환경이 할당될 수 있습니다.

## 환경을 지원하는 워크플로 작업은 무엇입니까?
<a name="deploy-environments-supported"></a>

 AWS 클라우드에 리소스를 배포하거나 다른 이유(예: 모니터링 및 보고)로 AWS 서비스와 통신하는 모든 워크플로 작업은 환경을 지원합니다.

## CodeCatalyst에 배포 정보가 표시되는 것을 지원하는 작업은 무엇입니까?
<a name="deploy-environments-supported-targets"></a>

환경을 지원하는 워크플로 작업 중 CodeCatalyst 콘솔의 **배포 활동** 및 **배포 대상** 페이지에 배포 정보가 표시되는 작업은 몇 개뿐입니다.

다음 워크플로 작업은 배포 정보가 표시되는 것을 지원합니다.
+ ** CloudFormation 스택 배포** - 자세한 내용은 섹션을 참조하세요. [CloudFormation 스택 배포](deploy-action-cfn.md) 
+ **Amazon ECS에 배포** - 자세한 내용은 [워크플로를 사용하여 Amazon ECS에 배포](deploy-action-ecs.md) 섹션을 참조하세요.
+ **Kubernetes 클러스터에 배포** - 자세한 내용은 [워크플로를 사용하여 Amazon EKS에 배포](deploy-action-eks.md) 섹션을 참조하세요.
+ **AWS CDK 배포** - 자세한 내용은 섹션을 참조하세요. [워크플로를 사용하여 AWS CDK 앱 배포](cdk-dep-action.md) 

## 지원되는 리전:
<a name="deploy-environments-supported-regions"></a>

**환경** 페이지에서는 모든 AWS 리전의 리소스를 표시할 수 있습니다.

## 환경은 필수입니까?
<a name="deploy-environments-optional-or-mandatory"></a>

할당된 워크플로 작업이 AWS 클라우드에 리소스를 배포하거나 다른 이유(예: 모니터링 및 보고)로 AWS 서비스와 통신하는 경우 환경은 필수입니다.

예를 들어 애플리케이션을 빌드하지만 AWS 계정 또는 Amazon VPC와 통신할 필요가 없는 빌드 작업이 있는 경우 작업에 환경을 할당할 필요가 없습니다. 그러나 빌드 작업이 AWS 계정의 Amazon CloudWatch 서비스로 로그를 전송하는 경우 작업에 환경이 할당되어 있어야 합니다.

**Topics**
+ [환경을 시작하려면 어떻게 해야 하나요?](#deploy-environments-get-started)
+ [단일 워크플로 내에 여러 환경이 존재할 수 있습니까?](#deploy-environments-multiple)
+ [환경을 지원하는 워크플로 작업은 무엇입니까?](#deploy-environments-supported)
+ [CodeCatalyst에 배포 정보가 표시되는 것을 지원하는 작업은 무엇입니까?](#deploy-environments-supported-targets)
+ [지원되는 리전:](#deploy-environments-supported-regions)
+ [환경은 필수입니까?](#deploy-environments-optional-or-mandatory)
+ [환경 생성](deploy-environments-creating-environment.md)
+ [작업과 환경 연결](deploy-environments-add-app-to-environment.md)
+ [VPC를 환경과 연결](deploy-environments-associate-vpc.md)
+ [환경 AWS 계정 과 연결](deploy-environments-associate-account.md)
+ [작업의 IAM 역할 변경](deploy-environments-switch-role.md)

# 환경 생성
<a name="deploy-environments-creating-environment"></a>

다음 지침을 사용하여 나중에 워크플로 작업과 연결할 수 있는 환경을 생성합니다.

**시작하기 전 준비 사항**

다음 항목이 필요합니다.
+ CodeCatalyst 스페이스. 자세한 내용은 [CodeCatalyst 설정 및 로그인CodeCatalyst 설정 및 로그인](setting-up-topnode.md) 섹션을 참조하세요.
+ CodeCatalyst 프로젝트. 자세한 내용은 [블루프린트를 사용하여 프로젝트 생성](projects-create.md#projects-create-console-template) 단원을 참조하십시오.
+ 워크플로 작업이 액세스해야 하는 IAM 역할을 포함하는 AWS 계정 연결입니다 AWS. 계정 연결 생성에 대한 자세한 내용은 [연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md) 섹션을 참조하세요. 환경당 최대 하나의 계정 연결을 사용할 수 있습니다.
**참고**  
계정 연결 없이 환경을 생성할 수 있지만 나중에 다시 돌아와 연결을 추가해야 합니다.
+ 다음 CodeCatalyst 역할 중 하나:
  + **스페이스 관리자**
  + **프로젝트 관리자**
  + **기고자**
**참고**  
**기고자 역할**이 있는 경우 환경을 생성할 수 있지만 AWS 계정 연결에는 연결할 수 없습니다. **스페이스 관리자** 또는 **프로젝트 관리자** 역할을 가진 사람에게 환경을 AWS 계정 연결에 연결하도록 요청해야 합니다.

   역할과 권한에 대한 자세한 내용은 [사용자에게 프로젝트 권한 부여](projects-members.md) 섹션을 참조하세요.

**환경을 생성하는 방법**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **환경**을 선택합니다.

1. **환경 이름**에 **Production** 또는 **Staging** 같은 이름을 입력합니다.

1. **환경 유형**에서 다음 중 하나를 선택합니다.
   + **비프로덕션** - 애플리케이션을 프로덕션으로 이동하기 전에 애플리케이션을 테스트하여 의도한 대로 작동하는지 확인할 수 있는 환경입니다.
   + **프로덕션** - 공개적으로 사용할 수 있고 최종 애플리케이션을 호스팅하는 '라이브' 환경입니다.

     **프로덕션**을 선택하면 환경이 연결된 작업 옆으로 **프로덕션** 배지가 UI에 나타납니다. 배지를 사용하면 프로덕션에 배포되는 작업을 빠르게 확인할 수 있습니다. 배지 모양 외에는 프로덕션 환경과 비프로덕션 환경 간에 차이가 없습니다.

1. (선택 사항) **설명**: 설명을 입력합니다. 예시: **Production environment for the hello-world app**.

1. **AWS 계정 연결 - 선택 사항**에서이 환경과 연결할 AWS 계정 연결을 선택합니다. 이 환경에 할당된 워크플로 작업은 연결된 AWS 계정에 연결할 수 있습니다. CodeCatalyst에서 AWS 계정 연결을 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요[연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md).

   사용하려는 AWS 계정 연결이 나열되지 않은 경우 프로젝트에서 허용되지 않기 때문일 수 있습니다. 자세한 내용은 *Amazon CodeCatalyst 관리자 안내서*의 [프로젝트 제한 계정 연결 구성](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-accounts-restriction.html)을 참조하세요.

1. **기본 IAM 역할**에서 이 환경과 연결할 IAM 역할을 선택합니다. 이 환경에 할당된 워크플로 작업은이 IAM 역할을 상속하며 이를 사용하여의 서비스 및 리소스에 연결할 수 있습니다 AWS 계정.

   여러 작업에 환경을 할당해야 하는데 이러한 작업에 여기에 지정된 기본 역할과 다른 IAM 역할이 필요한 경우, **역할 전환** 옵션을 사용하여 각 작업의 **구성** 탭에서 서로 다른 역할을 지정할 수 있습니다. 자세한 내용은 [작업의 IAM 역할 변경](deploy-environments-switch-role.md) 단원을 참조하십시오.

   기본값으로 사용하려는 IAM 역할이 나열되지 않은 경우 아직 AWS 계정 연결에 추가하지 않았기 때문일 수 있습니다. 계정 연결에 IAM 역할을 추가하려면 [계정 연결에 IAM 역할 추가](ipa-connect-account-addroles.md) 섹션을 참조하세요.

1. (선택 사항) **VPC 연결**에서 이 환경과 연결할 VPC 연결을 선택합니다. VPC 연결 생성에 대한 자세한 내용은 [ Amazon CodeCatalyst 관리자 안내서](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.html)의 *Amazon Virtual Private Clouds 관리*를 참조하세요.

   사용하려는 VPC 연결이 나열되지 않은 경우 프로젝트에 허용되지 않는 AWS 계정 연결이 포함되어 있기 때문일 수 있습니다. 자세한 내용은 *Amazon CodeCatalyst 관리자 안내서*의 [프로젝트 제한 계정 연결 구성](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-accounts-restriction.html)을 참조하세요.

1. **환경 생성**을 선택합니다. CodeCatalyst는 빈 환경을 생성합니다.

**다음 단계**
+ 이제 환경을 생성했으므로 워크플로 작업과 연결할 준비가 되었습니다. 자세한 내용은 [작업과 환경 연결](deploy-environments-add-app-to-environment.md) 섹션을 참조하세요.

# 작업과 환경 연결
<a name="deploy-environments-add-app-to-environment"></a>

환경을 [지원되는 워크플로 작업](deploy-environments.md#deploy-environments-supported)과 연결하면 환경의 , AWS 계정기본 IAM 역할 및 선택적 Amazon VPC가 작업에 할당됩니다. 그런 다음 IAM 역할을 사용하여 작업을 AWS 계정 에 연결 및 배포하고 선택적 Amazon VPC에도 연결할 수 있습니다.

다음 지침을 사용하여 환경을 작업과 연결합니다.

## 1단계: 환경을 워크플로 작업과 연결
<a name="deploy-environments-add-app-to-environment-assoc"></a>

다음 절차에 따라 환경을 워크플로 작업과 연결합니다.

------
#### [ Visual ]

**시각적 편집기를 사용하여 환경을 워크플로 작업과 연결하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **워크플로**를 선택합니다.

1. 워크플로의 이름을 선택합니다. 소스 리포지토리 또는 워크플로가 정의된 브랜치 이름을 기준으로 필터링하거나, 워크플로 이름 또는 상태를 기준으로 필터링할 수 있습니다.

1. **편집**을 선택합니다.

1. **비주얼**을 선택합니다.

1. 워크플로 다이어그램에서 환경에서 지원되는 작업을 선택합니다. 자세한 내용은 [CodeCatalyst에 배포 정보가 표시되는 것을 지원하는 작업은 무엇입니까?](deploy-environments.md#deploy-environments-supported-targets) 섹션을 참조하세요.

1. **구성** 탭을 선택하고 다음과 같이 **환경** 필드에 정보를 지정합니다.

   **환경**

   작업에 사용할 CodeCatalyst 환경을 지정합니다. 작업은 선택한 환경에 지정된 AWS 계정 및 선택적 Amazon VPC에 연결됩니다. 작업은 환경에 지정된 기본 IAM 역할을 사용하여에 연결하고 [Amazon VPC 연결](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html)에 지정된 IAM 역할을 AWS 계정사용하여 Amazon VPC에 연결합니다.
**참고**  
기본 IAM 역할에 작업에 필요한 권한이 없는 경우 다른 역할을 사용하도록 작업을 구성할 수 있습니다. 자세한 내용은 [작업의 IAM 역할 변경](deploy-environments-switch-role.md) 섹션을 참조하세요.

   환경에 대한 자세한 내용은 [AWS 계정 및 VPCs에 배포](deploy-environments.md) 및 [환경 생성](deploy-environments-creating-environment.md) 섹션을 참조하세요.

1. (선택 사항) 작업과 연결된 IAM 역할을 변경합니다. 작업에 대한 잘못된 권한 집합이 포함된 경우 역할을 변경할 수 있습니다.

    역할을 생성하려면:

   1. ***내 환경*에 무엇이 있나요?** 상자에서 세로 줄임표 아이콘(![\[Ellipsis.\]](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/flows/elipsis.png))을 선택합니다.

   1. 다음 중 하나를 선택합니다.
      +  **역할을 전환합니다**. 이 작업에서 사용하는 IAM 역할을 변경하고 이 작업만 변경하려면 이 옵션을 선택합니다. 다른 작업은 연결된 환경에 지정된 기본 IAM 역할을 계속 사용합니다. 자세한 내용은 [작업의 IAM 역할 변경](deploy-environments-switch-role.md) 섹션을 참조하세요.
      +  **환경을 편집합니다**. 환경에 나열된 기본 IAM 역할을 변경하려면 이 옵션을 선택합니다. 이 옵션을 선택하면 작업과 동일한 환경과 연결된 다른 작업이 새 기본 IAM 역할을 사용하여 시작됩니다.
**중요**  
기본 IAM 역할을 업데이트할 때 주의하세요. 역할의 권한이 환경을 공유하는 모든 작업에 충분하지 않은 경우 역할을 변경하면 작업 실패가 발생할 수 있습니다.

1. (선택 사항) 커밋하기 전에 워크플로의 YAML 코드를 검증하려면 **검증**을 선택합니다.

1. **커밋**을 선택하고 커밋 메시지를 입력한 다음 **커밋**을 다시 선택합니다.

------
#### [ YAML ]

**YAML 편집기를 사용하여 환경을 워크플로 작업과 연결하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **워크플로**를 선택합니다.

1. 워크플로의 이름을 선택합니다. 소스 리포지토리 또는 워크플로가 정의된 브랜치 이름을 기준으로 필터링하거나, 워크플로 이름 또는 상태를 기준으로 필터링할 수 있습니다.

1. **편집**을 선택합니다.

1. **YAML**을 선택합니다.

1. 환경과 연결하려는 워크플로 작업에서 다음과 유사한 코드를 추가합니다.

   ```
   action-name:
     Environment:
       Name: environment-name
   ```

   자세한 내용은 [작업 유형](workflows-actions.md#workflows-actions-types) 항목을 참조하세요. 이 주제에는 YAML 참조를 포함하여 각 작업에 대한 설명서로 연결되는 링크가 있습니다.

1. (선택 사항) 작업에 환경에 나열된 기본 IAM 역할과 다른 역할을 사용하려면 사용하려는 역할이 포함된 `Connections:` 섹션을 추가합니다. 자세한 내용은 [작업의 IAM 역할 변경](deploy-environments-switch-role.md) 섹션을 참조하세요.

1. (선택 사항) 커밋하기 전에 워크플로의 YAML 코드를 검증하려면 **검증**을 선택합니다.

1. **커밋**을 선택하고 커밋 메시지를 입력한 다음 **커밋**을 다시 선택합니다.

------

## 2단계: 배포 활동 페이지 채우기
<a name="deploy-environments-add-app-to-environment-run"></a>

환경을 워크플로 작업과 연결한 후 CodeCatalyst 콘솔의 **환경** 섹션에 있는 **배포 활동** 및 **배포 대상** 페이지를 배포 정보로 채울 수 있습니다. 다음 지침을 사용하여 이러한 페이지를 채웁니다.

**참고**  
CodeCatalyst 콘솔에 배포 정보가 표시되는 작업은 몇 가지뿐입니다. 자세한 내용은 [CodeCatalyst에 배포 정보가 표시되는 것을 지원하는 작업은 무엇입니까?](deploy-environments.md#deploy-environments-supported-targets) 섹션을 참조하세요.

**CodeCatalyst에 배포 정보를 추가하려면**

1. [1단계: 환경을 워크플로 작업과 연결](#deploy-environments-add-app-to-environment-assoc)에서 변경 사항을 커밋할 때 워크플로 실행이 자동으로 시작되지 않은 경우 다음과 같이 수동으로 실행을 시작합니다.

   1. 탐색 창에서 **CI/CD**를 선택한 다음 **워크플로**를 선택합니다.

   1. 워크플로의 이름을 선택합니다. 소스 리포지토리 또는 워크플로가 정의된 브랜치 이름을 기준으로 필터링하거나, 워크플로 이름 또는 상태를 기준으로 필터링할 수 있습니다.

   1. **실행**을 선택합니다.

   워크플로 실행은 새 배포를 시작하며, 이로 인해 CodeCatalyst는 CodeCatalyst에 배포 정보를 추가합니다.

1. CodeCatalyst 콘솔에 배포 활동이 추가되었는지 확인합니다.

   1. 탐색 창에서 **CI/CD**를 선택한 다음 **환경**을 선택합니다.

   1. 환경을 선택합니다(예: `Production`).

   1. **배포 활동** 탭을 선택하고 배포가 **SUCCEEDED** **상태**로 나타나는지 확인합니다. 이는 워크플로 실행이 애플리케이션 리소스를 성공적으로 배포했음을 나타냅니다.

   1. **배포 대상** 탭을 선택하고 애플리케이션 리소스가 나타나는지 확인합니다.

# VPC를 환경과 연결
<a name="deploy-environments-associate-vpc"></a>

작업이 VPC 연결이 있는 환경으로 구성된 경우 연결된 VPC에서 지정한 네트워크 규칙 및 액세스 리소스에 따라 작업이 VPC에 연결된 상태로 실행됩니다. 하나 이상의 환경에서 동일한 VPC 연결을 사용할 수 있습니다.

다음 지침에 따라 VPC 연결을 환경과 연결합니다.

**VPC 연결을 환경에 연결하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **환경**을 선택합니다.

1. 환경을 선택합니다(예: `Production`).

1. **환경 속성** 탭을 선택합니다.

1. **VPC 연결 관리**를 선택하고 원하는 VPC 연결을 선택한 다음 **확인**을 선택합니다. 이렇게 하면 선택한 VPC 연결이 이 환경과 연결됩니다.
**참고**  
사용하려는 VPC 연결이 나열되지 않은 경우 프로젝트에 허용되지 않는 AWS 계정 연결이 포함되어 있기 때문일 수 있습니다. 자세한 내용은 *Amazon CodeCatalyst 관리자 안내서*의 [프로젝트 제한 계정 연결 구성](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-accounts-restriction.html)을 참조하세요.

자세한 내용은 *CodeCatalyst Cloud 관리자 안내서*의 [Amazon Virtual Private Clouds 관리하기](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.html)를 참조하세요.

# 환경 AWS 계정 과 연결
<a name="deploy-environments-associate-account"></a>

다음 지침에 따라를 환경 AWS 계정 과 연결합니다. AWS 계정 를 환경에 연결하면 환경에 할당된 워크플로 작업이에 연결할 수 있습니다 AWS 계정.

계정 연결에 대한 자세한 정보는 [연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md) 섹션을 참조하세요.

**시작하기 전 준비 사항**

다음 항목이 필요합니다.
+ 워크플로 작업이 액세스해야 하는 IAM 역할을 포함하는 AWS 계정 연결입니다 AWS. 계정 연결 생성에 대한 자세한 내용은 [연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md) 섹션을 참조하세요. 환경당 최대 하나의 계정 연결을 사용할 수 있습니다.
+ **스페이스 관리자** 또는 **프로젝트 관리자** CodeCatalyst 역할 중 하나를 선택합니다. 자세한 내용은 [사용자에게 프로젝트 권한 부여](projects-members.md) 단원을 참조하십시오.

**AWS 계정 를 환경에 연결하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **환경**을 선택합니다.

1. 환경을 선택합니다(예: `Production`).

1. **환경 편집**을 선택합니다.

1. **환경 속성**의 **AWS 계정 연결 - 선택 사항** 드롭다운 목록에서 원하는 AWS 계정을 선택합니다.

   사용하려는 AWS 계정 연결이 나열되지 않은 경우 프로젝트에서 허용되지 않기 때문일 수 있습니다. 자세한 내용은 *Amazon CodeCatalyst 관리자 안내서*의 [프로젝트 제한 계정 연결 구성](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-accounts-restriction.html)을 참조하세요.

1. **기본 IAM 역할**에서 이 환경과 연결할 IAM 역할을 선택합니다. 이 환경에 할당된 워크플로 작업은이 IAM 역할을 상속하며 이를 사용하여의 서비스 및 리소스에 연결할 수 있습니다 AWS 계정.

   기본값으로 사용하려는 IAM 역할이 나열되지 않은 경우 아직 AWS 계정 연결에 추가하지 않았기 때문일 수 있습니다. 계정 연결에 IAM 역할을 추가하려면 [계정 연결에 IAM 역할 추가](ipa-connect-account-addroles.md) 섹션을 참조하세요.

# 작업의 IAM 역할 변경
<a name="deploy-environments-switch-role"></a>

기본적으로 [환경](deploy-environments.md)을 워크플로 [작업](workflows-actions.md)과 연결하면 작업은 환경에 지정된 기본 IAM 역할을 상속합니다. 작업이 다른 역할을 사용하도록 이 동작을 변경할 수 있습니다. 작업이 AWS 클라우드에서 작동하는 데 필요한 권한이 기본 IAM 역할에 없는 경우 다른 역할을 사용할 수 있습니다.

작업에 다른 IAM 역할을 할당하려면 시각적 편집기에서 **역할 전환** 옵션을 사용하거나 YAML 편집기에서 `Connections:` 속성을 사용할 수 있습니다. 새 역할은 환경에 지정된 기본 IAM 역할을 재정의하므로 기본 IAM 역할을 그대로 유지할 수 있습니다. 기본 IAM 역할을 사용하는 다른 작업이 있는 경우 기본 IAM 역할을 그대로 유지할 수 있습니다.

다음 지침을 사용하여 환경에 지정된 것과 다른 IAM 역할을 사용하도록 작업을 구성합니다.

------
#### [ Visual ]

**작업에 다른 IAM 역할을 할당하려면(시각적 편집기)**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **워크플로**를 선택합니다.

1. 워크플로의 이름을 선택합니다. 소스 리포지토리 또는 워크플로가 정의된 브랜치 이름을 기준으로 필터링하거나, 워크플로 이름 또는 상태를 기준으로 필터링할 수 있습니다.

1. **편집**을 선택합니다.

1. IAM 역할을 업데이트하려는 작업을 나타내는 상자를 선택합니다.

1. **구성** 탭을 선택합니다.

1. ***내 환경*에 무엇이 있나요?** 상자에서 세로 줄임표 아이콘(![\[Ellipsis.\]](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/flows/elipsis.png))을 선택합니다.

1. **역할 전환**을 선택합니다.

1. **역할 전환** 대화 상자의 **IAM 역할** 드롭다운 목록에서 작업을 사용할 IAM 역할을 선택합니다. 이 역할은 환경의 기본 IAM 역할을 재정의합니다. 사용하려는 역할이 목록에 없는 경우 스페이스에 추가했는지 확인합니다. 자세한 내용은 [계정 연결에 IAM 역할 추가](ipa-connect-account-addroles.md) 섹션을 참조하세요.

   이제 선택한 역할이 **워크플로에서 정의됨** 배지와 함께 ***내 환경*에 무엇이 있나요?** 상자에 나타납니다. 역할은 `Connections:` 섹션의 워크플로 정의 파일에도 표시됩니다.

1. (선택 사항) 커밋하기 전에 워크플로의 YAML 코드를 검증하려면 **검증**을 선택합니다.

1. **커밋**을 선택하고 커밋 메시지를 입력한 다음 **커밋**을 다시 선택합니다.

------
#### [ YAML ]

**작업에 다른 IAM 역할을 할당하려면(YAML 편집기)**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **워크플로**를 선택합니다.

1. 워크플로의 이름을 선택합니다. 소스 리포지토리 또는 워크플로가 정의된 브랜치 이름을 기준으로 필터링하거나, 워크플로 이름 또는 상태를 기준으로 필터링할 수 있습니다.

1. **편집**을 선택합니다.

1. **YAML**을 선택합니다.

1. 다른 IAM 역할을 사용하려는 워크플로 작업에서 다음과 유사한 `Connections:` 섹션을 추가합니다.

   ```
   action-name:
     Environment:
       Name: environment-name
       Connections: 
         - Name: account-connection-name
           Role: iam-role-name
   ```

   앞의 코드에서 *account-connection-name*을 IAM 역할이 포함된 [계정 연결](ipa-connect-account.md)의 이름으로 바꾸고, *iam-role-name*을 작업을 사용할 IAM 역할의 이름으로 바꿉니다. 이 역할은 환경의 기본 IAM 역할을 재정의합니다. 스페이스에 역할을 추가했는지 확인합니다. 자세한 내용은 [계정 연결에 IAM 역할 추가](ipa-connect-account-addroles.md) 섹션을 참조하세요.

   자세한 내용은 [작업 유형](workflows-actions.md#workflows-actions-types) 항목을 참조하세요. 이 주제에는 YAML 참조를 포함하여 각 작업에 대한 설명서로 연결되는 링크가 있습니다.

------