인터페이스 VPC 엔드포인트에서 Amazon Keyspaces 사용 - Amazon Keyspaces(Apache Cassandra용)

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

인터페이스 VPC 엔드포인트에서 Amazon Keyspaces 사용

인터페이스 VPC 엔드포인트를 사용하면 Amazon VPC에서 실행되는 Virtual Private Cloud(VPC)와 Amazon Keyspaces 간에 프라이빗 통신이 가능해집니다. 인터페이스 VPC 엔드포인트는 VPC와 서비스 간의 개인 통신을 가능하게 하는 AWS 서비스인 에 의해 AWS PrivateLink구동됩니다. AWS

AWS PrivateLink VPC에 프라이빗 IP 주소가 있는 Elastic Network 인터페이스를 사용하여 네트워크 트래픽이 Amazon 네트워크를 벗어나지 않도록 함으로써 이를 가능하게 합니다. 인터페이스 VPC 엔드포인트에는 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결이 필요하지 않습니다. 자세한 내용은 Amazon Virtual Private Cloud인터페이스 VPC 엔드포인트(AWS PrivateLink)를 참조하세요.

Amazon Keyspaces에 인터페이스 VPC 엔드포인트 사용

Amazon Keyspaces와 Amazon VPC 리소스 간의 트래픽이 인터페이스 VPC 엔드포인트를 통해 흐르기 시작하도록 인터페이스 VPC 엔드포인트를 생성할 수 있습니다. 시작하려면 단계에 따라 인터페이스 엔드포인트를 생성합니다. 다음으로 이전 단계에서 생성한 엔드포인트와 연결된 보안 그룹을 편집하고 포트 9142에 대한 인바운드 규칙을 구성합니다. 자세한 내용은 규칙 추가, 제거 및 업데이트를 참조하세요.

VPC 엔드포인트를 통해 Amazon Keyspace에 대한 연결을 구성하는 방법에 대한 step-by-step 자습서는 을 참조하십시오. 자습서: 인터페이스 엔드포인트를 사용하여 Amazon Keyspaces에 연결 VPC VPC에 있는 AWS 계정 서로 다른 애플리케이션과 분리된 Amazon Keyspaces 리소스에 대한 계정 간 액세스를 구성하는 방법을 알아보려면 을 참조하십시오. 엔드포인트를 사용하여 Amazon VPC Keyspaces에 대한 계정 간 액세스를 구성합니다.

인터페이스 VPC 엔드포인트 정보로 system.peers 테이블 항목 채우기

Apache Cassandra 드라이버는 system.peers 테이블을 사용하여 클러스터에 대한 노드 정보를 쿼리합니다. Cassandra 드라이버는 노드 정보를 사용하여 연결 부하를 분산하고 작업을 재시도합니다. Amazon Keyspaces는 퍼블릭 엔드포인트를 통해 연결하는 클라이언트에 대해 system.peers 테이블에 9개 항목을 자동으로 채웁니다.

인터페이스 VPC 엔드포인트를 통해 연결하는 클라이언트에게 유사한 기능을 제공하기 위해 Amazon Keyspaces는 VPC 엔드포인트를 사용할 수 있는 각 가용 영역에 대한 항목으로 계정의 system.peers 테이블을 채웁니다. system.peers 테이블에서 사용 가능한 인터페이스 VPC 엔드포인트를 조회하고 저장하려면 Amazon Keyspaces에서는 Amazon Keyspaces에 연결하는 데 사용되는 IAM 엔터티에 엔드포인트 및 네트워크 인터페이스 정보에 대해 VPC를 쿼리할 수 있는 액세스 권한을 부여해야 합니다.

중요

사용 가능한 인터페이스 VPC 엔드포인트로 system.peers 테이블을 채우면 로드 밸런싱이 개선되고 읽기/쓰기 처리량이 증가합니다. 인터페이스 VPC 엔드포인트를 사용하여 Amazon Keyspaces에 액세스하는 모든 클라이언트에게 권장되며 Apache Spark의 경우 필수입니다.

Amazon Keyspaces에 연결하는 데 사용되는 IAM 엔터티에 필요한 인터페이스 VPC 엔드포인트 정보를 조회할 수 있는 권한을 부여하려면 다음 예와 같이 기존 IAM 역할 또는 사용자 정책을 업데이트하거나 새 IAM 정책을 생성할 수 있습니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ListVPCEndpoints", "Effect":"Allow", "Action":[ "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcEndpoints" ], "Resource":"*" } ] }
참고

관리형 정책 AmazonKeyspacesReadOnlyAccess_v2AmazonKeyspacesFullAccess에는 Amazon Keyspaces가 Amazon EC2 인스턴스에 액세스하여 사용 가능한 인터페이스 VPC 엔드포인트에 대한 정보를 읽을 수 있도록 하는 데 필요한 권한이 포함되어 있습니다.

정책이 올바르게 설정되었는지 확인하려면 system.peers 테이블을 쿼리하여 네트워킹 정보를 확인합니다. system.peers 테이블이 비어 있으면 정책이 성공적으로 구성되지 않았거나 DescribeNetworkInterfacesDescribeVPCEndpoints API 작업에 대한 요청 속도 할당량을 초과했음을 의미할 수 있습니다. DescribeVPCEndpointsDescribe* 범주에 속하며 변경 불가 작업으로 간주됩니다. DescribeNetworkInterfaces필터링되지 않은 작업과 페이지가 지정되지 않은 변경 불가 작업의 하위 집합에 속하며 다른 할당량이 적용됩니다. 자세한 내용은 Amazon EC2 API 참조의 요청 토큰 버킷 크기 및 리필 속도를 참조하세요.

빈 테이블이 보이면 몇 분 후에 다시 시도하여 요청 속도 할당량 문제를 배제합니다. VPC 엔드포인트를 올바르게 구성했는지 확인하려면 VPC 엔드포인트 연결이 제대로 작동하지 않음 섹션을 참조하세요. 쿼리가 테이블의 결과를 반환하면 정책이 올바르게 구성된 것입니다.

Amazon Keyspaces의 인터페이스 VPC 엔드포인트에 대한 액세스 제어

VPC 엔드포인트 정책을 사용하면 다음 두 가지 방법으로 리소스에 대한 액세스를 제어할 수 있습니다.

  • IAM 정책 - 사용자는 특정 VPC 엔드포인트를 통해 Amazon Keyspaces에 액세스하는 데 허용되는 요청, 사용자 또는 그룹을 제어할 수 있습니다. IAM 사용자, 그룹 또는 역할에 연결된 정책의 조건 키를 사용하여 이를 수행할 수 있습니다.

  • VPC 정책 - 정책을 연결하여 Amazon Keyspaces 리소스에 액세스할 수 있는 VPC 엔드포인트를 제어할 수 있습니다. 특정 VPC 엔드포인트를 통해 들어오는 트래픽만 허용하도록 특정 키스페이스 또는 테이블에 대한 액세스를 제한하려면 리소스 액세스를 제한하는 기존 IAM 정책을 편집하고 해당 VPC 엔드포인트를 추가합니다.

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

  • IAM 정책 예: 트래픽이 지정된 VPC 엔드포인트에서 들어오지 않는 한 특정 Amazon Keyspaces 테이블에 대한 모든 액세스 제한 - 이 샘플 정책은 IAM 사용자, 역할 또는 그룹에 연결할 수 있습니다. 들어오는 트래픽이 지정된 VPC 엔드포인트에서 시작되지 않는 한 지정된 Amazon Keyspaces 테이블에 대한 액세스를 제한합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "UserOrRolePolicyToDenyAccess", "Action": "cassandra:*", "Effect": "Deny", "Resource": [ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ], "Condition": { "StringNotEquals" : { "aws:sourceVpce": "vpce-abc123" } } } ] }
    참고

    특정 테이블에 대한 액세스를 제한하려면 시스템 테이블에 대한 액세스 권한도 포함해야 합니다. 시스템 테이블은 읽기 전용입니다.

  • VPC 정책 예제: 읽기 전용 액세스 - 이 샘플 정책은 VPC 엔드포인트에 연결할 수 있습니다. (자세한 내용은 Amazon VPC 리소스에 대한 액세스 제어를 참조하세요.) 연결된 VPC 엔드포인트를 통해 Amazon Keyspaces 리소스에 대한 읽기 전용 액세스로 작업을 제한합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnly", "Principal": "*", "Action": [ "cassandra:Select" ], "Effect": "Allow", "Resource": "*" } ] }
  • VPC 정책 예: 특정 Amazon Keyspaces 테이블에 대한 액세스 제한 - 이 샘플 정책은 VPC 엔드포인트에 연결할 수 있습니다. 연결된 VPC 엔드포인트를 통한 특정 테이블에 대한 액세스를 제한합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "RestrictAccessToTable", "Principal": "*", "Action": "cassandra:*", "Effect": "Allow", "Resource": [ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }
    참고

    특정 테이블에 대한 액세스를 제한하려면 시스템 테이블에 대한 액세스 권한도 포함해야 합니다. 시스템 테이블은 읽기 전용입니다.

가용성

Amazon Keyspace는 서비스가 제공되는 모든 AWS 리전 곳에서 인터페이스 VPC 엔드포인트를 사용할 수 있도록 지원합니다. 자세한 정보는 Amazon Keyspaces의 서비스 엔드포인트을 참조하세요.

VPC 엔드포인트 정책 및 아마존 키스페이스 point-in-time 복구 (PITR)

IAM 정책을 조건 키와 함께 사용하여 들어오는 트래픽을 제한하는 경우 테이블 복원 작업이 실패할 수 있습니다. 예를 들어 aws:SourceVpce 조건 키를 사용하여 소스 트래픽을 특정 VPC 엔드포인트로 제한하는 경우 테이블 복원 작업이 실패합니다. Amazon Keyspaces가 보안 주체를 대신하여 테이블 복원 작업을 수행하도록 허용하려면 IAM 정책에 aws:ViaAWSService 조건 키를 추가해야 합니다. aws:ViaAWSService조건 키는 모든 AWS 서비스가 보안 주체의 자격 증명을 사용하여 요청할 때 액세스를 허용합니다. 자세한 내용은 IAM 사용 설명서의 IAM JSON 정책 요소: 조건 키를 참조하세요. 다음은 이에 대한 정책 예제입니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"CassandraAccessForVPCE", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"false" }, "StringEquals":{ "aws:SourceVpce":[ "vpce-12345678901234567" ] } } }, { "Sid":"CassandraAccessForAwsService", "Effect":"Allow", "Action":"cassandra:*", "Resource":"*", "Condition":{ "Bool":{ "aws:ViaAWSService":"true" } } } ] }

일반적인 오류 및 경고

Amazon Virtual Private Cloud를 사용하고 있고 Amazon Keyspaces에 연결하는 경우 다음 경고가 표시될 수 있습니다.

Control node cassandra.us-east-1.amazonaws.com/1.111.111.111:9142 has an entry for itself in system.peers: this entry will be ignored. This is likely due to a misconfiguration; please verify your rpc_address configuration in cassandra.yaml on all nodes in your cluster.

이 경고는 연결된 Amazon VPC 엔드포인트를 포함하여 Amazon Keyspaces가 볼 수 있는 권한을 가진 모든 Amazon VPC 엔드포인트에 대한 항목이 system.peers 테이블에 포함되어 있기 때문에 발생합니다. 이 경고는 무시해도 됩니다.

기타 오류는 VPC 엔드포인트 연결이 제대로 작동하지 않음 섹션을 참조하세요.