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

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

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

인터페이스 VPC 엔드포인트는 Amazon VPC에서 실행되는 Virtual Private Cloud (VPC) 와 Amazon VPC 간에 프라이빗 통신을 Keyspaces 수 있습니다. 인터페이스 VPC 엔드포인트는 다음으로 구동됩니다.AWS PrivateLink() 는AWSVPC와 VPC 간의 사설 통신을 가능하게 하는 서비스AWS서비스.

AWS PrivateLink이를 위해 VPC 내 프라이빗 IP 주소와 함께 elastic network interface 사용하여 네트워크 트래픽이 Amazon 네트워크를 떠나지 않습니다. 인터페이스 VPC 엔드포인트에는 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결이 필요하지 않습니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.Amazon Virtual Private Cloud인터페이스 VPC 엔드포인트 ()AWS PrivateLink).

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

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

거주하는 중system.peers인터페이스 VPC 엔드포인트 정보가 포함된 테이블 항목

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

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

중요

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

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

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

정책이 올바르게 설정되었는지 확인하려면system.peers테이블은 네트워킹 정보를 볼 수 있습니다. 만약system.peers테이블이 비어 있습니다. 정책이 성공적으로 구성되지 않았거나 에 대한 요청 속도 할당량을 초과했음을 나타낼 수 있습니다.DescribeNetworkInterfacesDescribeVPCEndpointsAPI 작업.DescribeVPCEndpoints에 빠지다Describe*카테고리이며 다음과 같은 것으로 간주됩니다비 돌연변이 작용.DescribeNetworkInterfaces의 하위 집합에 속합니다.필터링되지 않은 액션과 페이지가 지정되지 않은 비변이 액션다른 할당량이 적용됩니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.토큰 버킷 크기 및 리필 요금 요청Amazon EC2 API 참조의 내용을 참조하십시오.

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

Amazon 키스페이스의 인터페이스 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 키스페이스는 모든 인터페이스에서 VPC 엔드포인트 사용을 지원합니다.AWS 리전서비스를 이용할 수 있는 곳 자세한 내용은 Amazon 키스페이스의 서비스 엔드포인트을 참조하세요.

VPC 종단점 정책 및 Amazon Keyspaces point-in-time복구 (PITR)

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

{ "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 가상 프라이빗 클라우드를 사용하고 있고 Amazon 키스페이스에 연결하는 경우 다음과 같은 경고가 표시될 수 있습니다.

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.

이 경고는 다음과 같은 이유로 발생합니다system.peers테이블에는 연결된 Amazon VPC 엔드포인트를 비롯하여 Amazon 키스페이스가 볼 수 있는 권한이 있는 모든 Amazon VPC 엔드포인트에 대한 항목이 포함되어 있습니다. 이 경고는 무시해도 됩니다.

기타 오류에 대해서는 을 참조하십시오.VPC 엔드포인트 연결이 제대로 작동하지 않음.