IAM 역할을 Amazon Aurora MySQL DB 클러스터와 연결 - Amazon Aurora

IAM 역할을 Amazon Aurora MySQL DB 클러스터와 연결

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

참고

IAM 역할을 Aurora Serverless v1 DB 클러스터와 연결할 수 없습니다. 자세한 내용은 Amazon Aurora Serverless v1 사용 섹션을 참조하세요.

IAM 역할을 Aurora Serverless v2 DB 클러스터와 연결할 수 있습니다.

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

  1. RDS 콘솔, add-role-to-db-cluster AWS CLI 명령 또는 AddRoleToDBCluster RDS API 작업을 사용하여 DB 클러스터의 연결된 역할 목록에 역할을 추가하십시오.

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

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

    다음 표에는 다른 AWS 서비스에 액세스하는 데 사용되는 IAM 역할의 클러스터 수준 파라미터 이름이 나와 있습니다.

    클러스터 수준 파라미터 설명

    aws_default_lambda_role

    DB 클러스터에서 Lambda 함수를 호출하는 데 사용됩니다.

    aws_default_logs_role

    이 파라미터는 DB 클러스터의 로그 데이터를 Amazon CloudWatch Logs Logs로 내보낼 때 더 이상 필요하지 않습니다. 이제 Aurora MySQL은 필요한 권한에 서비스 연결 역할을 사용합니다. 서비스 연결 역할에 대한 자세한 내용은 Amazon Aurora에 서비스 연결 역할 사용 단원을 참조하십시오.

    aws_default_s3_role

    DB 클러스터에서 LOAD DATA FROM S3, LOAD XML FROM S3 또는 SELECT INTO OUTFILE S3 문을 호출하는 데 사용됩니다.

    Aurora MySQL 버전 2에서 이 파라미터에 지정된 IAM 역할은 적절한 문에 대해 aurora_load_from_s3_role 또는 aurora_select_into_s3_role에 IAM 역할이 지정되지 않은 경우에 사용됩니다.

    Aurora MySQL 버전 3에서는 이 파라미터에 지정된 IAM 역할이 항상 사용됩니다.

    aurora_load_from_s3_role

    DB 클러스터에서 LOAD DATA FROM S3 또는 LOAD XML FROM S3 문을 호출하는 데 사용됨. 이 파라미터에 대해 지정된 IAM 역할이 없는 경우 aws_default_s3_role에 지정된 IAM 역할이 사용됩니다.

    Aurora MySQL 버전 3에서는 이 파라미터를 사용할 수 없습니다.

    aurora_select_into_s3_role

    DB 클러스터에서 SELECT INTO OUTFILE S3 문을 호출하는 데 사용됨. 이 파라미터에 대해 지정된 IAM 역할이 없는 경우 aws_default_s3_role에 지정된 IAM 역할이 사용됩니다.

    Aurora MySQL 버전 3에서는 이 파라미터를 사용할 수 없습니다.

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

콘솔을 사용하여 IAM 역할을 Aurora DB 클러스터와 연결하려면
  1. https://console.aws.amazon.com/rds/에서 RDS 콘솔을 엽니다.

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

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

  4. 연결 및 보안 탭의 IAM 역할 관리 섹션에서 다음 중 하나를 수행합니다.

    • 이 클러스터에 추가할 IAM 역할 선택(기본값)

    • 이 클러스터에 연결할 서비스 선택

    
                                        IAM 역할을 DB 클러스터와 연결
  5. 기존 IAM 역할을 사용하려면 메뉴에서 해당 역할을 선택한 다음 역할 추가를 선택합니다.

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

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

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

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

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

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

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

연결된 IAM 역할에 클러스터 수준 파라미터를 설정하는 방법
  1. RDS 콘솔의 탐색 창에서 [Parameter groups]를 선택합니다.

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

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

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

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

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

    5. [Description]에 새 DB 클러스터 파라미터 그룹에 대한 설명을 입력합니다.

      
                                                DB 클러스터 파라미터 그룹 만들기
    6. 생성을 선택합니다.

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

  4. 적절한 클러스터 수준 파라미터를 관련 IAM 역할 ARN 값으로 설정합니다.

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

  5. Save changes(변경 사항 저장)를 선택합니다.

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

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

    2. 수정을 선택합니다.

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

    4. [Continue]를 선택합니다.

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

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

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

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

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

      클러스터 파라미터 그룹에 대한 자세한 내용은 Aurora MySQL 구성 파라미터 단원을 참조하십시오.

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
  2. 기본 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-familyaurora-mysql8.0을 지정하세요.

  3. 다음과 같이 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"
  4. 다음과 같이 새 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 구성 파라미터 단원을 참조하십시오.