Amazon RDS Custom for Oracle을 위한 환경 설정 - Amazon Relational Database Service

Amazon RDS Custom for Oracle을 위한 환경 설정

Amazon RDS Custom for Oracle을 기반으로 DB 인스턴스를 생성하기 전에 다음 작업을 수행해야 합니다.

RDS Custom for Oracle 인스턴스 생성 사전 요건

RDS Custom for Oracle DB 인스턴스를 생성하기 전에 다음 사전 조건을 충족하는지 확인해야 합니다.

  • My Oracle SupportOracle Software Delivery Cloud에 액세스하여 다음 Oracle Database 릴리스 중 하나의 Enterprise Edition에 지원되는 설치 파일 및 패치 목록을 다운로드합니다.

    • Oracle Database 12c 릴리스 1(12.1)

    • Oracle Database 12c 릴리스 2(12.2)

    • Oracle Database 18c

    • Oracle Database 19c

    알 수 없는 패치를 사용하는 경우 사용자 지정 엔진 버전(CEV) 생성에 실패합니다. 이 경우 RDS Custom 지원팀에 문의하여 누락된 패치를 추가해달라고 요청하세요.

    자세한 내용은 Oracle Software Delivery Cloud에서 데이터베이스 설치 파일 및 패치 다운로드 단원을 참조하세요.

  • Amazon S3에 액세스하여 Oracle 설치 파일을 업로드할 수 있습니다. 설치 파일은 RDS Custom CEV를 생성할 때 사용합니다.

    자세한 내용은 Amazon S3에 설치 파일 업로드CEV 생성 단원을 참조하세요.

  • 자체 Virtual Private Cloud(VPC) 및 보안 그룹 구성을 제공합니다. 자세한 내용은 IAM 및 VPC 구성 단원을 참조하세요.

  • CEV 또는 RDS Custom DB 인스턴스를 생성하는 AWS Identity and Access Management(IAM) 사용자는 IAM, CloudTrail 및 Amazon S3에 대한 필수 권한을 보유합니다.

    자세한 내용은 IAM 사용자에게 필요한 권한 부여 단원을 참조하세요.

다음 섹션에서 각 작업과 관련된 요구 사항 및 제한 사항을 설명합니다. 예를 들어, RDS Custom for Oracle DB 인스턴스를 생성할 때 Oracle Linux 7 업데이트 6을 실행하는 db.m5 또는 db.r5 인스턴스 클래스를 사용합니다. RDS Custom에 적용되는 일반 요구 사항은 Amazon RDS Custom for Oracle 요구 사항 및 제한 섹션을 참조하세요.

대칭 암호화 AWS KMS 키 보유 여부 확인

대칭 암호화 AWS KMS 키는 RDS Custom에 필수입니다. RDS Custom for Oracle DB 인스턴스를 생성할 때 KMS 키 식별자를 제공해야 합니다. 자세한 내용은 Amazon RDS Custom for Oracle의 DB 인스턴스 생성 및 연결 단원을 참조하세요.

다음과 같은 옵션이 있습니다.

  • 기존에 AWS 계정에 KMS 키가 있는 경우 RDS Custom과 함께 사용할 수 있습니다. 별도로 조치를 취할 필요가 없습니다.

  • 다른 RDS Custom 엔진에 대해 대칭 암호화 KMS 키를 이미 생성한 경우 동일한 KMS 키를 재사용할 수 있습니다. 별도로 조치를 취할 필요가 없습니다.

  • 계정에 사용 중이던 대칭 암호화 KMS 키가 없는 경우 AWS Key Management Service 개발자 가이드키 생성 지침에 따라 KMS 키를 생성합니다.

  • CEV 또는 RDS Custom DB 인스턴스를 생성하고 있으며 KMS 키가 다른 AWS 계정에 있는 경우 반드시 AWS CLI를 사용해야 합니다. 교차 계정 KMS 키에는 AWS 콘솔을 사용할 수 없습니다.

RDS Custom은 AWS 관리형 KMS 키를 지원하지 않습니다.

사용하는 대칭 암호화 키는 IAM 인스턴스 프로파일의 AWS Identity and Access Management(IAM) 역할에 kms:Decryptkms:GenerateDataKey 작업에 액세스할 수 있는 권한을 제공해야 합니다. 계정에 대칭 암호화 키를 새로 사용하는 경우에는 변경할 필요가 없습니다. 아니면 대칭 암호화 키의 정책이 이러한 작업에 액세스할 권한을 제공할 수 있는지 확인하세요.

RDS Custom for Oracle의 IAM 구성에 대한 자세한 내용은 IAM 및 VPC 구성 섹션을 참조하세요.

AWS CLI 다운로드 및 설치

AWS에서는 RDS Custom 기능을 사용할 수 있는 명령줄 인터페이스를 제공합니다. AWS CLI의 버전 1 또는 버전 2를 사용할 수 있습니다.

AWS CLI 다운로드 및 설치에 대한 내용은 AWS CLI의 최신 버전 설치 또는 업데이트를 참조하세요.

AWS Management Console에서만 RDS Custom에 액세스하려면 이 단계를 건너뜁니다.

Amazon RDS용 AWS CLI 또는 다른 RDS Custom 엔진을 이미 다운로드한 경우 이 단계를 건너뜁니다.

IAM 및 VPC 구성

다음 방법 중 하나를 사용하여 IAM 역할 및 Virtual Private Cloud(VPC)를 구성할 수 있습니다.

AWS CloudFormation을 사용하여 IAM 및 VPC 구성

설정을 간소화하기 위해 AWS CloudFormation 템플릿 파일을 사용하여 CloudFormation 스택을 만들 수 있습니다. 스택을 생성하는 방법은 AWS CloudFormation 사용 설명서AWS CloudFormation 콘솔에서 스택 생성을 참조하세요.

템플릿 파일을 다운로드하는 방법

  1. custom-oracle-iam.json 링크의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 열고 다른 이름으로 링크 저장(Save Link As)을 선택합니다.

  2. 파일을 컴퓨터에 저장합니다.

  3. custom-vpc.json 링크에 대해 이전 단계를 반복합니다.

    RDS Custom for SQL Server의 VPC를 이미 구성한 경우 이 단계를 건너뜁니다.

CloudFormation을 사용하여 IAM을 구성하는 방법

  1. https://console.aws.amazon.com/cloudformation에서 CloudFormation 콘솔을 엽니다.

  2. 스택 생성 마법사를 시작하고 스택 생성(Create Stack)을 선택합니다.

  3. 템플릿 지정 페이지에서 다음 작업을 수행합니다.

    1. 템플릿 소스(Template source)템플릿 파일 업로드(Upload a template file)를 선택합니다.

    2. 파일 선택(Choose file)에서 custom-oracle-iam.json을 찾아 선택합니다.

    3. 다음(Next)을 선택합니다.

  4. 스택 세부 정보 지정 페이지에서 다음 작업을 수행합니다.

    1. 스택 이름custom-oracle-iam을 입력합니다.

    2. 다음(Next)을 선택합니다.

  5. 스택 옵션 구성 페이지에서 다음을 선택합니다.

  6. custom-oracle-iam 검토 페이지에서 다음을 수행합니다.

    1. 기능(Capabilities)에서 이 사용자 지정 이름을 사용하여 AWS CloudFormation이 IAM 리소스를 생성할 수 있음에 동의합니다(I acknowledge that might create IAM resources with custom names) 확인란을 선택합니다.

    2. 스택 생성을 선택합니다.

    CloudFormation은 RDS Custom for Oracle에 필요한 IAM 역할을 생성합니다.

CloudFormation을 사용하여 VPC를 구성하는 방법

이 절차에서는 CloudFormation을 사용하여 IAM 역할을 생성했다고 가정합니다.

다른 RDS Custom 엔진의 VPC를 이미 구성한 경우 이 단계를 건너뜁니다.

  1. https://console.aws.amazon.com/cloudformation에서 CloudFormation 콘솔을 엽니다.

  2. 스택 페이지의 스택 생성(Create stack)에서 새 리소스 사용(표준)(With new resources (standard))을 선택합니다.

  3. 템플릿 지정 페이지에서 다음 작업을 수행합니다.

    1. 템플릿 소스(Template source)템플릿 파일 업로드(Upload a template file)를 선택합니다.

    2. 파일 선택(Choose file)의 경우 custom-vpc.json으로 이동하여 선택합니다.

    3. 다음을 선택합니다.

  4. 스택 세부 정보 지정 페이지에서 다음 작업을 수행합니다.

    1. 스택 이름custom-vpc을 입력합니다.

    2. 파라미터(Parameters)로 RDS Custom DB 인스턴스에 사용할 프라이빗 서브넷을 선택합니다.

    3. RDS Custom DB 인스턴스에 사용할 프라이빗 VPC ID를 선택합니다.

    4. 프라이빗 서브넷과 연결된 라우팅 테이블을 입력합니다.

    5. 다음(Next)을 선택합니다.

  5. 스택 옵션 구성 페이지에서 다음을 선택합니다.

  6. custom-vpc 검토 페이지에서 스택 생성(Create stack)을 선택합니다.

    CloudFormation에서 VPC를 구성합니다.

수동으로 IAM 역할과 인스턴스 프로파일 생성

RDS Custom을 사용하려면 AWSRDSCustomInstanceProfileForRdsCustomInstance라는 IAM 인스턴스 프로필을 생성합니다. 인스턴스 프로파일에 대한 IAM 역할 AWSRDSCustomInstanceRoleForRdsCustomInstance도 생성해야 합니다. 그런 다음 인스턴스 프로파일에 AWSRDSCustomInstanceRoleForRdsCustomInstance를 추가합니다.

다음 섹션에서는 CloudFormation을 사용하지 않고 작업을 수행하는 방법을 설명합니다.

RDS Custom 인스턴스 프로파일을 생성하고 필요한 역할을 추가하는 방법

  1. Amazon EC2에서 역할을 위임하는 데 사용할 수 있는 신뢰 정책을 통해 이름이 AWSRDSCustomInstanceRoleForRdsCustomInstance인 IAM 역할을 생성합니다.

  2. 액세스 정책을 AWSRDSCustomInstanceRoleForRdsCustomInstance에 추가합니다.

  3. 이름이 AWSRDSCustomInstanceProfileForRdsCustomInstance인 RDS Custom용 IAM 인스턴스 프로파일을 생성합니다.

  4. 인스턴스 프로파일에 AWSRDSCustomInstanceRoleForRdsCustomInstance IAM 역할을 추가합니다.

AWSRDSCustomInstanceRoleForRdsCustomInstance 역할 생성

다음 예제에서는 AWSRDSCustomInstanceRoleForRdsCustomInstance 역할을 생성합니다. Amazon EC2에서는 신뢰 정책을 사용하여 역할을 위임할 수 있습니다.

aws iam create-role \ --role-name AWSRDSCustomInstanceRoleForRdsCustomInstance \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }'

AWSRDSCustomInstanceRoleForRdsCustomInstance에 액세스 정책 추가

인라인 정책을 IAM 역할에 포함시켰을 때 인라인 정책은 역할의 액세스(권한) 정책의 일환으로 사용됩니다. 사용자는 Amazon EC2가 메시지를 보내고 받으며 다양한 작업을 수행할 수 있도록 허용하는 AWSRDSCustomIamRolePolicy 정책을 생성하게 됩니다.

다음 예제에서는 이름이 AWSRDSCustomIamRolePolicy인 액세스 정책을 생성하여 AWSRDSCustomInstanceRoleForRdsCustomInstance IAM 역할에 추가합니다. 이 예제에서는 AWS CLI에서 $REGION$ACCOUNT_ID 변수를 설정했다고 가정합니다. 또한, RDS Custom DB 인스턴스에 사용할 AWS KMS key의 Amazon 리소스 이름(ARN)도 예제에 필요합니다.

두 개 이상의 KMS 키를 지정하려면 문 ID(시드) 11의 Resources 섹션에 추가합니다.

aws iam put-role-policy \ --role-name AWSRDSCustomInstanceRoleForRdsCustomInstance \ --policy-name AWSRDSCustomIamRolePolicy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Action": [ "ssm:DescribeAssociation", "ssm:GetDeployablePatchSnapshotForInstance", "ssm:GetDocument", "ssm:DescribeDocument", "ssm:GetManifest", "ssm:GetParameter", "ssm:GetParameters", "ssm:ListAssociations", "ssm:ListInstanceAssociations", "ssm:PutInventory", "ssm:PutComplianceItems", "ssm:PutConfigurePackageResult", "ssm:UpdateAssociationStatus", "ssm:UpdateInstanceAssociationStatus", "ssm:UpdateInstanceInformation", "ssm:GetConnectionStatus", "ssm:DescribeInstanceInformation", "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": [ "*" ] }, { "Sid": "2", "Effect": "Allow", "Action": [ "ec2messages:AcknowledgeMessage", "ec2messages:DeleteMessage", "ec2messages:FailMessage", "ec2messages:GetEndpoint", "ec2messages:GetMessages", "ec2messages:SendReply" ], "Resource": [ "*" ] }, { "Sid": "3", "Effect": "Allow", "Action": [ "logs:PutRetentionPolicy", "logs:PutLogEvents", "logs:DescribeLogStreams", "logs:DescribeLogGroups", "logs:CreateLogStream", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:'$REGION':*:log-group:rds-custom-instance*" ] }, { "Sid": "4", "Effect": "Allow", "Action": [ "s3:putObject", "s3:getObject", "s3:getObjectVersion" ], "Resource": [ "arn:aws:s3:::do-not-delete-rds-custom-*/*" ] }, { "Sid": "5", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "cloudwatch:namespace": [ "RDSCustomForOracle/Agent" ] } } }, { "Sid": "6", "Effect": "Allow", "Action": [ "events:PutEvents" ], "Resource": [ "*" ] }, { "Sid": "7", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": [ "arn:aws:secretsmanager:'$REGION':'$ACCOUNT_ID':secret:do-not-delete-rds-custom-*" ] }, { "Sid": "8", "Effect": "Allow", "Action": [ "s3:ListBucketVersions" ], "Resource": [ "arn:aws:s3:::do-not-delete-rds-custom-*" ] }, { "Sid": "9", "Effect": "Allow", "Action": "ec2:CreateSnapshots", "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ], "Condition": { "StringEquals": { "ec2:ResourceTag/AWSRDSCustom": "custom-oracle" } } }, { "Sid": "10", "Effect": "Allow", "Action": "ec2:CreateSnapshots", "Resource": [ "arn:aws:ec2:*::snapshot/*" ] }, { "Sid": "11", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:'$REGION':'$ACCOUNT_ID':key/abcd1234-5678-eeff-9012-123456abcdef" ] }, { "Sid": "12", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*", "Condition": { "StringLike": { "ec2:CreateAction": [ "CreateSnapshots" ] } } } ] }'

RDS Custom 인스턴스 프로파일 생성

다음과 같이 IAM 인스턴스 프로파일을 생성하고 이름을 AWSRDSCustomInstanceProfileForRdsCustomInstance로 지정합니다.

aws iam create-instance-profile \ --instance-profile-name AWSRDSCustomInstanceProfileForRdsCustomInstance

RDS Custom 인스턴스 프로파일에 AWSRDSCustomInstanceRoleForRdsCustomInstance 추가

AWSRDSCustomInstanceRoleForRdsCustomInstance IAM 역할을 AWSRDSCustomInstanceProfileForRdsCustomInstance 프로파일에 추가합니다.

aws iam add-role-to-instance-profile \ --instance-profile-name AWSRDSCustomInstanceProfileForRdsCustomInstance \ --role-name AWSRDSCustomInstanceRoleForRdsCustomInstance

VPC 수동 구성

RDS Custom DB 인스턴스는 Amazon EC2 인스턴스 또는 Amazon RDS 인스턴스와 마찬가지로 Amazon VPC 서비스를 기반으로 하는 Virtual Private Cloud(VPC)에 있습니다. 자체 VPC를 제공하고 구성해야 인스턴스 네트워킹 설정을 완벽하게 제어할 수 있습니다.

RDS Custom은 DB 인스턴스에서 다른 AWS 서비스로 통신을 전송합니다. RDS Custom이 통신할 수 있도록 이러한 서비스에 대한 네트워크 연결을 검증합니다.

DB 인스턴스는 다음 AWS 서비스와 통신합니다.

  • Amazon CloudWatch

  • Amazon CloudWatch Logs

  • Amazon CloudWatch Events

  • Amazon EC2

  • Amazon EventBridge

  • Amazon S3

  • AWS Secrets Manager

  • AWS Systems Manager

DB 인스턴스와 AWS 서비스 간의 통신과 관련된 VPC 구성 요소가 다음 요구 사항으로 구성되었는지 확인합니다.

  • DB 인스턴스는 포트 443에서 다른 AWS 서비스로 아웃바운드 연결을 생성할 수 있습니다.

  • VPC는 DB 인스턴스에서 시작된 요청에 대한 수신 응답을 허용합니다.

  • 각 AWS 서비스에 대한 엔드포인트의 도메인 이름을 정확하게 확인합니다.

다른 RDS Custom 엔진의 VPC를 이미 구성한 경우 해당 VPC를 재사용하고 이 프로세스를 건너뛸 수 있습니다.

인스턴스 보안 그룹 구성

보안 그룹은 VPC 인스턴스에 대한 가상 방화벽 역할을 하며 인바운드 및 아웃바운드 트래픽을 모두 제어합니다. RDS Custom DB 인스턴스에는 인스턴스를 보호하는 기본 보안 그룹이 있습니다. 보안 그룹이 RDS Custom과 다른 AWS 서비스 간의 트래픽을 허용하는지 확인해야 합니다.

RDS Custom의 보안 그룹을 구성하는 방법

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/vpc에서 Amazon VPC 콘솔을 엽니다.

  2. RDS Custom에서 기본 보안 그룹을 사용하거나 고유한 보안 그룹을 생성하도록 허용합니다.

    자세한 지침은 보안 그룹을 생성하여 VPC 내부의 DB 인스턴스에 대한 액세스를 제공 섹션을 참조하세요.

  3. 보안 그룹이 포트 443에서 아웃바운드 연결을 허용하는지 확인합니다. RDS Custom에서 종속 AWS 서비스와 통신하려면 이 포트가 필요합니다.

  4. 프라이빗 VPC가 있고 VPC 엔드포인트를 사용하는 경우 DB 인스턴스와 연결된 보안 그룹이 포트 443에서 VPC 엔드포인트로의 아웃바운드 연결을 허용하는지 확인합니다. 또한 VPC 엔드포인트와 연결된 보안 그룹이 DB 인스턴스에서 포트 443의 인바운드 연결을 허용하는지 확인합니다.

    수신 연결을 허용하지 않으면 RDS Custom 인스턴스가 AWS Systems Manager 및 Amazon EC2 엔드포인트에 연결할 수 없습니다. 자세한 내용은 AWS Systems Manager 사용 설명서Virtual Private Cloud 엔드포인트 생성을 참조하세요.

보안 그룹에 대한 자세한 내용은 Amazon VPC 개발자 안내서VPC의 보안 그룹을 참조하세요.

종속 AWS 서비스의 엔드포인트 구성

VPC에서 DB 인스턴스가 통신하는 다음 AWS 서비스에 대한 아웃바운드 트래픽을 허용하는지 확인합니다.

  • Amazon CloudWatch

  • Amazon CloudWatch Logs

  • Amazon CloudWatch Events

  • Amazon EC2

  • Amazon EventBridge

  • Amazon S3

  • AWS Secrets Manager

  • AWS Systems Manager

다음 지침에 따라 모든 서비스에 대한 엔드포인트를 VPC에 추가하는 것이 좋습니다. 그러나 VPC가 AWS 서비스 엔드포인트와 통신할 수 있도록 하는 모든 솔루션을 사용할 수 있습니다. 예를 들어, 네트워크 주소 변환(NAT) 또는 AWS Direct Connect를 사용할 수 있습니다.

RDS Custom이 작동하는 AWS 서비스의 엔드포인트를 구성하려면

  1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

  2. 탐색 모음에서 리전 선택기를 사용하여 AWS 리전을 선택합니다.

  3. 탐색 창에서 엔드포인트를 선택합니다. 기본 창에서 엔드포인트 생성을 선택합니다.

  4. 서비스 범주(Service category)에서 AWS 서비스를 선택합니다.

  5. 서비스 이름으로 테이블에 나와 있는 엔드포인트를 선택합니다.

  6. VPC에서, VPC를 선택합니다.

  7. 서브넷에서 포함하고자 하는 각 가용 영역의 서브넷을 선택합니다.

    VPC 엔드포인트는 여러 가용 영역을 아우를 수 있습니다. AWS는 선택한 각 서브넷에 VPC 엔드포인트에 대한 탄력적 네트워크 인터페이스를 생성합니다. 각 네트워크 인터페이스에는 도메인 이름 시스템(DNS) 호스트 이름과 프라이빗 IP 주소가 있습니다.

  8. 보안 그룹(Security group)에서 보안 그룹을 선택하거나 새로 만듭니다.

    보안 그룹을 사용하면 엔드포인트에 대한 액세스를 제어하므로 방화벽을 사용하는 것과 마찬가지입니다. VPC 보안 그룹에 대한 자세한 내용은 Amazon VPC 사용 설명서VPC의 보안 그룹을 참조하세요.

  9. 필요에 따라 정책을 VPC 엔드포인트에 연결할 수 있습니다. 엔드포인트정책은 연결 중인 AWS 서비스에 대한 액세스를 제어할 수 있습니다. 기본 정책은 모든 요청이 엔드포인트를 통과하도록 허용합니다. 사용자 지정 정책을 사용하는 경우 정책에서 DB 인스턴스의 요청이 허용되는지 확인합니다.

  10. 엔드포인트 생성을 선택합니다.

다음 테이블에서는 VPC가 아웃바운드 통신에 사용해야 하는 엔드포인트 목록을 찾는 방법을 안내합니다.

서비스 엔드포인트 형식 참고 및 링크

AWS Systems Manager

다음 엔드포인트 형식을 사용합니다.

  • ssm.region.amazonaws.com

  • ssmmessages.region.amazonaws.com

각 리전의 엔드포인트 목록은 Amazon Web Services 일반 참조에서 AWS Systems Manager 엔드포인트 및 할당량을 참조하세요.

AWS Secrets Manager

secretsmanager.region.amazonaws.com 엔드포인트 형식을 사용합니다.

각 리전의 엔드포인트 목록은 Amazon Web Services 일반 참조에서 AWS Secrets Manager 엔드포인트 및 할당량을 참조하세요.

Amazon CloudWatch

다음 엔드포인트 형식을 사용합니다.

  • CloudWatch 지표의 경우 monitoring.region.amazonaws.com을 사용합니다.

  • CloudWatch Events의 경우 events.region.amazonaws.com을 사용합니다.

  • CloudWatch Logs의 경우 logs.region.amazonaws.com을 사용합니다.

모든 리전의 엔드포인트 목록은 다음을 참조하세요.

Amazon EC2

다음 엔드포인트 형식을 사용합니다.

  • ec2.region.amazonaws.com

  • ec2messages.region.amazonaws.com

각 리전의 엔드포인트 목록은 Amazon Web Services 일반 참조Amazon Elastic Compute Cloud 엔드포인트 및 할당량을 참조하세요.

Amazon S3

s3.region.amazonaws.com 엔드포인트 형식을 사용합니다.

각 리전의 엔드포인트 목록은 Amazon Web Services 일반 참조에서 Amazon Simple Storage Service 엔드포인트 및 할당량을 참조하세요.

Amazon S3용 게이트웨이 엔드포인트에 대해 자세히 알아보려면 Amazon VPC 개발자 가이드에서 Amazon S3용 엔드포인트를 참조하세요.

액세스 포인트를 생성하는 방법은 Amazon VPC 개발자 안내서액세스 포인트 생성을 참조하세요.

Amazon S3용 게이트웨이 엔드포인트를 생성하는 방법은 게이트웨이 VPC 엔드포인트를 참조하세요.

인스턴스 메타데이터 서비스 구성

인스턴스가 다음을 수행할 수 있는지 확인하세요.

  • 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 사용하여 인스턴스 메타데이터 서비스에 액세스합니다.

  • 포트 80(HTTP)을 통한 IMDS 링크 IP 주소로의 아웃바운드 통신을 허용합니다.

  • IMDSv2 링크인 http://169.254.169.254에서 인스턴스 메타데이터를 요청합니다.

자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서IMDSv2 사용을 참조하세요.

RDS Custom for Oracle 자동화는 기본 Amazon EC2 인스턴스에서 HttpTokens=enabled를 설정하여 기본적으로 IMDSv2를 사용합니다. 하지만 필요할 경우 IMDSv1을 사용할 수 있습니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 메타데이터 옵션 구성을 참조하세요.

IAM 사용자에게 필요한 권한 부여

CEV 또는 DB 인스턴스를 생성하는 IAM 보안 주체에는 다음 정책 중 하나가 있어야 합니다.

  • AdministratorAccess 정책

  • Amazon S3, AWS KMS(CEV 및 DB 생성에 모두 필요), CEV 생성 및 DB 인스턴스 생성에 필요한 권한이 있는 AmazonRDSFullAccess 정책

Amazon S3 및 AWS KMS에 필요한 권한

CEV 및 RDS Custom for Oracle DB 인스턴스를 생성하려면 IAM 보안 주체가 Amazon S3 및 AWS KMS에 액세스해야 합니다. 다음 샘플 JSON 정책은 필요한 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateS3Bucket", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPolicy", "s3:PutBucketObjectLockConfiguration", "s3:PutBucketVersioning" ], "Resource": "arn:aws:s3:::do-not-delete-rds-custom-*" }, { "Sid": "CreateKmsGrant", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "*" } ] }

kms:CreateGrant 권한에 대한 자세한 내용은 AWS KMS key 관리 섹션을 참조하세요.

CEV를 생성하는 데 필요한 권한

CEV를 생성하려면 IAM 보안 주체는 다음과 같은 추가 권한이 필요합니다.

s3:GetObjectAcl s3:GetObject s3:GetObjectTagging s3:ListBucket mediaimport:CreateDatabaseBinarySnapshot

다음 샘플 JSON 정책은 my-custom-installation-files 버킷 및 내용에 대한 추가 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessToS3MediaBucket", "Effect": "Allow", "Action": [ "s3:GetObjectAcl", "s3:GetObject", "s3:GetObjectTagging", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my-custom-installation-files", "arn:aws:s3:::my-custom-installation-files/*" ] }, { "Sid": "PermissionForByom", "Effect": "Allow", "Action": [ "mediaimport:CreateDatabaseBinarySnapshot" ], "Resource": "*" } ] }

S3 버킷 정책을 사용하여 발신자 계정에 Amazon S3에 대해 유사한 권한을 부여할 수 있습니다.

CEV에서 DB 인스턴스를 생성하는 데 필요한 권한

기존 CEV에서 DB 인스턴스를 생성하려면 IAM 보안 주체는 다음과 같은 추가 권한이 필요합니다.

iam:SimulatePrincipalPolicy cloudtrail:CreateTrail cloudtrail:StartLogging

다음 샘플 JSON 정책은 필요한 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ValidateIamRole", "Effect": "Allow", "Action": "iam:SimulatePrincipalPolicy", "Resource": "*" }, { "Sid": "CreateCloudTrail", "Effect": "Allow", "Action": [ "cloudtrail:CreateTrail", "cloudtrail:StartLogging" ], "Resource": "arn:aws:cloudtrail:*:*:trail/do-not-delete-rds-custom-*" } ] }