

# IAM 역할을 Amazon Aurora MySQL DB 클러스터와 연결
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster"></a>

Amazon Aurora DB 클러스터의 데이터베이스 사용자가 다른 AWS 서비스에 대한 액세스를 허용하려면 [Amazon Aurora에서 AWS 서비스에 액세스하도록 허용하는 IAM 역할 생성](AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.md)에서 생성한 IAM 역할을 해당 DB 클러스터와 연결합니다. 서비스를 직접 연결하여 AWS가 새 IAM 역할을 생성하도록 할 수도 있습니다.

**참고**  
IAM 역할을 Aurora Serverless v1 DB 클러스터와 연결할 수 없습니다. 자세한 내용은 [Amazon Aurora Serverless v1 사용](aurora-serverless.md) 섹션을 참조하세요.  
IAM 역할을 Aurora Serverless v2 DB 클러스터와 연결할 수 있습니다.

IAM 역할을 DB 클러스터와 연결하려면 다음 두 가지 작업을 수행합니다.

1. RDS 콘솔, [add-role-to-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-cluster.html) AWS CLI 명령 또는 [AddRoleToDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddRoleToDBCluster.html) RDS API 작업을 사용하여 DB 클러스터의 연결된 역할 목록에 역할을 추가하십시오.

   각 Aurora DB 클러스터에 대해 최대 다섯 개의 IAM 역할을 추가할 수 있습니다.

1. 관련 AWS 서비스에 대한 클러스터 수준 파라미터를 연결된 IAM 역할의 ARN으로 설정합니다.

   다음 표에는 다른 AWS 서비스에 액세스하는 데 사용되는 IAM 역할의 클러스터 수준 파라미터 이름이 나와 있습니다.    
<a name="aurora_cluster_params_iam_roles"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.html)

Amazon RDS 클러스터에서 사용자 대신 다른 AWS 서비스와 통신하도록 허용하는 IAM 역할을 연결하려면 다음 단계를 수행하세요.

## 콘솔
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.CON"></a>

**콘솔을 사용하여 IAM 역할을 Aurora DB 클러스터와 연결하려면**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 RDS 콘솔을 엽니다.

1. **데이터베이스**를 선택합니다.

1. IAM 역할과 연결할 Aurora DB 클러스터의 이름을 선택하여 세부 정보를 표시합니다.

1. **연결 및 보안** 탭의 **IAM 역할 관리** 섹션에서 다음 중 하나를 수행합니다.
   + **이 클러스터에 추가할 IAM 역할 선택**(기본값)
   + **이 클러스터에 연결할 서비스 선택**  
![\[IAM 역할을 DB 클러스터와 연결\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/images/AuroraAssociateIAMRole-02.png)

1. 기존 IAM 역할을 사용하려면 메뉴에서 해당 역할을 선택한 다음 **역할 추가**를 선택합니다.

   역할 추가가 성공하면 상태가 `Pending` 다음에 `Available`로 표시됩니다.

1. 서비스를 직접 연결하려면 다음을 수행합니다.

   1. **이 클러스터에 연결할 서비스 선택**을 선택합니다.

   1. 메뉴에서 서비스를 선택하고 **서비스 연결**을 선택합니다.

   1. ***서비스 이름*에 클러스터 연결**에서 서비스에 연결하는 데 사용할 Amazon 리소스 이름(ARN)을 입력한 다음 **서비스 연결**을 선택합니다.

   AWS가 서비스 연결을 위한 새 IAM 역할을 생성합니다. 상태는 `Pending` 다음 `Available`로 표시됩니다.

1. (선택 사항) IAM 역할과 DB 클러스터의 연결을 중지하고 관련 권한을 제거하려면 해당 역할을 선택한 다음 **삭제**를 선택합니다.

**연결된 IAM 역할에 클러스터 수준 파라미터를 설정하는 방법**

1. RDS 콘솔의 탐색 창에서 [**Parameter groups**]를 선택합니다.

1. 이미 사용자 지정 DB 파라미터 그룹을 사용 중인 경우, 새 DB 클러스터 파라미터 그룹을 만드는 대신에 해당 그룹을 선택할 수 있습니다. 기본 DB 클러스터 파라미터 그룹을 사용 중인 경우, 다음 단계의 설명에 따라 새 DB 클러스터 파라미터 그룹을 만듭니다.

   1. [**Create parameter group**]을 선택합니다.

   1. **파라미터 그룹 패밀리**의 경우 Aurora MySQL 8.0 호환 DB 클러스터에는 `aurora-mysql8.0`을 선택하고, Aurora MySQL 5.7 호환 DB 클러스터에는 `aurora-mysql5.7`을 선택합니다.

   1. [**Type**]에서 [**DB Cluster Parameter Group**]을 선택합니다.

   1. [**Group name**]에 새 DB 클러스터 파라미터 그룹의 이름을 입력합니다.

   1. [**Description**]에 새 DB 클러스터 파라미터 그룹에 대한 설명을 입력합니다.  
![\[DB 클러스터 파라미터 그룹 만들기\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/images/AuroraAssociateIAMRole-03.png)

   1. **Create**를 선택합니다.

1. **파라미터 그룹** 페이지에서 DB 클러스터 파라미터 그룹을 선택하고 **Parameter group actions(파라미터 그룹 작업)**에서 **편집**을 선택합니다.

1. 적절한 클러스터 수준 [파라미터](#aurora_cluster_params_iam_roles)를 관련 IAM 역할 ARN 값으로 설정합니다.

   예를 들어, `aws_default_s3_role` 파라미터는 `arn:aws:iam::123456789012:role/AllowS3Access`로 설정할 수 있습니다.

1. [**변경 사항 저장(Save changes)**]을 선택합니다.

1. DB 클러스터의에서 DB 클러스터 파라미터 그룹을 변경하려면 다음 단계를 완료하십시오.

   1. **데이터베이스**와 Aurora DB 클러스터를 차례대로 선택합니다.

   1. **수정**을 선택합니다.

   1. **데이터베이스 옵션**으로 스크롤하여 **DB 클러스터 파라미터 그룹**을 DB 클러스터 파라미터 그룹으로 설정합니다.

   1. [**Continue**]를 선택합니다.

   1. 변경 사항을 확인한 다음 [**Apply immediately**]를 선택합니다.

   1. **Modify cluster(클러스터 수정)**를 선택합니다.

   1. **데이터베이스**를 선택한 다음 DB 클러스터에서 사용할 기본 인스턴스를 선택합니다.

   1. **작업**에서 **재부팅**을 선택합니다.

      인스턴스가 재부팅되면 IAM 역할이 DB 클러스터와 연결됩니다.

      클러스터 파라미터 그룹에 대한 자세한 내용은 [Aurora MySQL 구성 파라미터](AuroraMySQL.Reference.ParameterGroups.md) 단원을 참조하십시오.

## CLI
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.CLI"></a>

**AWS CLI를 사용하여 IAM 역할을 DB 클러스터와 연결하려면**

1. 다음과 같이 `add-role-to-db-cluster`에서 AWS CLI 명령을 호출하여 DB 클러스터에 IAM 역할의 ARN을 추가하십시오.

   ```
   PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraS3Role
   PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraLambdaRole
   ```

1. 기본 DB 클러스터 파라미터 그룹을 사용 중인 경우, 새 DB 클러스터 파라미터 그룹을 만듭니다. 이미 사용자 지정 DB 파라미터 그룹을 사용 중인 경우, 새 DB 클러스터 파라미터 그룹을 만드는 대신에 해당 그룹을 사용할 수 있습니다.

   새 DB 클러스터 파라미터 그룹을 만들려면 다음과 같이 `create-db-cluster-parameter-group`에서 AWS CLI 명령을 호출하십시오.

   ```
   PROMPT> aws rds create-db-cluster-parameter-group  --db-cluster-parameter-group-name AllowAWSAccess \
        --db-parameter-group-family aurora5.7 --description "Allow access to Amazon S3 and AWS Lambda"
   ```

   Aurora MySQL 5.7 호환 DB 클러스터의 경우 `aurora-mysql5.7`에 `--db-parameter-group-family`을 지정하십시오. Aurora MySQL 8.0 호환 DB 클러스터의 경우 `--db-parameter-group-family`에 `aurora-mysql8.0`을 지정하세요.

1. 다음과 같이 DB 클러스터 파라미터 그룹에서 적절한 클러스터 수준 파라미터 및 관련 IAM 역할 ARN 값을 설정합니다.

   ```
   PROMPT> aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \
       --parameters "ParameterName=aws_default_s3_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraS3Role,method=pending-reboot" \
       --parameters "ParameterName=aws_default_lambda_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraLambdaRole,method=pending-reboot"
   ```

1. 다음과 같이 새 DB 클러스터 파라미터 그룹을 사용하도록 DB 클러스터를 수정한 다음 클러스터를 재부팅합니다.

   ```
   PROMPT> aws rds modify-db-cluster --db-cluster-identifier my-cluster --db-cluster-parameter-group-name AllowAWSAccess
   PROMPT> aws rds reboot-db-instance --db-instance-identifier my-cluster-primary
   ```

   인스턴스가 재부팅되면 IAM 역할이 DB 클러스터와 연결됩니다.

   클러스터 파라미터 그룹에 대한 자세한 내용은 [Aurora MySQL 구성 파라미터](AuroraMySQL.Reference.ParameterGroups.md) 단원을 참조하십시오.