Amazon Virtual Private Cloud
사용 설명서

Amazon DynamoDB에 대한 엔드포인트

VPC에서 DynamoDB 테이블로의 액세스를 이미 설정한 경우, 엔드포인트를 설정한 후에도 보통 때처럼 테이블에 계속 액세스할 수 있습니다. 하지만 다음에 유의하십시오.

  • 엔드포인트에는 DynamoDB 리소스에 액세스하기 위한 엔드포인트 사용을 제어하는 정책이 있습니다. 기본 정책은 모든 AWS 계정부터 모든 DynamoDB 리소스까지 자격 증명을 사용하는 VPC 내 모든 사용자 또는 서비스의 액세스를 허용합니다. 자세한 내용은 VPC 엔드포인트으로 서비스 액세스 제어 단원을 참조하십시오.

  • DynamoDB는 리소스 기반 정책(예: 테이블에 대해)을 지원하지 않습니다. DynamoDB에 대한 액세스는 개별 IAM 사용자 및 역할에 대한 엔드포인트 정책 및 IAM 정책을 통해 제어됩니다.

  • VPC 엔드포인트를 통해 Amazon DynamoDB 스트림에 액세스할 수 없습니다.

  • 현재 엔드포인트는 교차 리전 요청—을 지원하지 않습니다. DynamoDB 테이블과 같은 리전에 엔드포인트를 생성하는지 확인하십시오.

  • AWS CloudTrail를 사용하여 DynamoDB 작업을 기록할 경우 로그 파일에는 VPC에 있는 EC2 인스턴스의 프라이빗 IP 주소와 엔드포인트를 통해 수행된 액세스에 대한 엔드포인트 ID가 포함되어 있습니다.

  • 해당 서브넷에 있는 인스턴스의 원본 IPv4 주소는 VPC의 퍼블릭 IPv4 주소에서 프라이빗 IPv4 주소로 변경됩니다. 엔드포인트는 네트워크 라우팅을 스위칭하고 열린 TCP 연결을 끊습니다. 전환 시 작업이 중단되고 퍼블릭 IPv4 주소를 사용하는 이전의 모든 연결은 재개되지 않습니다. 따라서 엔드포인트를 만들거나 수정할 때는 중요한 작업을 실행하지 않는 것이 좋으며 또한 연결이 끊어진 후에는 소프트웨어가 자동으로 DynamoDB에 다시 연결할 수 있는지를 테스트하는 것이 좋습니다.

DynamoDB에서 엔드포인트를 사용하기 전에 다음의 일반 제한을 읽으십시오. 게이트웨이 엔드포인트 제한.

DynamoDB용 엔드포인트 정책 사용

다음은 DynamoDB에 액세스하기 위한 엔드포인트 정책의 예입니다.

중요

IAM 사용자 정책, 엔드포인트 정책과 같은 모든 유형의 정책은 DynamoDB에 액세스하기 위해 필요한 권한을 부여해야 합니다.

예: 읽기 전용 액세스

VPC 엔드포인트를 통한 DynamoDB 테이블 나열 및 설명으로만 작업을 제한하는 정책을 만들 수 있습니다.

{ "Statement": [ { "Sid": "ReadOnly", "Principal": "*", "Action": [ "dynamodb:DescribeTable", "dynamodb:ListTables" ], "Effect": "Allow", "Resource": "*" } ] }

예: 특정 테이블에 대한 액세스 제한

특정 DynamoDB 테이블에 대한 액세스를 제한하는 정책을 만들 수 있습니다. 이 예의 엔드포인트 정책은 StockTable에 대해서만 액세스를 허용합니다.

{ "Statement": [ { "Sid": "AccessToSpecificTable", "Principal": "*", "Action": [ "dynamodb:Batch*", "dynamodb:Delete*", "dynamodb:DescribeTable", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Update*" ], "Effect": "Allow", "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/StockTable" } ] }

IAM 정책을 사용하여 DynamoDB에 대한 액세스 제어

IAM 사용자, 그룹 또는 역할이 특정 VPC 엔드포인트에서만 DynamoDB 테이블에 액세스하도록 제한하는 IAM 정책을 만들 수 있습니다. 이렇게 하려면 IAM 정책에서 테이블 리소스에 대한 aws:sourceVpce 조건 키를 사용할 수 있습니다.

DynamoDB에 대한 액세스를 관리하는 방법에 대한 자세한 내용은 Amazon DynamoDB 개발자 안내서Authentication and Access Control for Amazon DynamoDB 단원을 참조하십시오.

예: 특정 엔드포인트에서의 액세스 제한

이 예에서는 엔드포인트 vpce-11aa22bb를 통해 액세스하는 경우를 제외하고 사용자의 DynamoDB 테이블 사용 권한이 거부됩니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessFromSpecificEndpoint", "Action": "dynamodb:*", "Effect": "Deny", "Resource": "arn:aws:dynamodb:region:account-id:table/*", "Condition": { "StringNotEquals" : { "aws:sourceVpce": "vpce-11aa22bb" } } } ] }