View a markdown version of this page

네트워킹, 보안 그룹 및 IAM 인증 구성 - Amazon Neptune

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

네트워킹, 보안 그룹 및 IAM 인증 구성

Amazon ECS 또는 Amazon EKS의 컨테이너화된 배포를 Neptune에 연결하려면 올바른 네트워크 구성 및 IAM 자격 증명 관리가 필요합니다.

보안 그룹 체크리스트

  • Neptune 클러스터 보안 그룹은 Amazon EKS 노드 또는 포드 CIDR 범위에서 포트 8182(또는 Neptune 클러스터에 대해 구성된 사용자 지정 포트)의 인바운드 TCP를 허용해야 합니다.

  • 사용자 지정 네트워킹과 함께 Amazon VPC CNI 플러그인을 사용하는 경우 포드 서브넷에 Neptune 서브넷에 대한 경로가 있는지 확인합니다.

  • Neptune은 Amazon ECS 또는 Amazon EKS 클러스터와 동일한 Amazon VPC에 있거나 Amazon VPC 피어링 또는 Transit Gateway를 통해 연결되어 있어야 합니다.

컨테이너 내부에서 연결 확인

애플리케이션 수준 문제를 디버깅하기 전에 컨테이너 내부에서 다음 명령 중 하나를 실행하여 네트워크 경로를 확인합니다.

AWS CLI
aws neptunedata get-engine-status \ --endpoint-url https://your-neptune-endpoint:8182

자세한 내용은 AWS CLI 명령 참조의 get-engine-status를 참조하세요.

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', region_name='us-east-1', endpoint_url='https://your-neptune-endpoint:8182', config=Config(read_timeout=10) ) response = client.get_engine_status() print(response['status'])
awscurl
awscurl https://your-neptune-endpoint:8182/status \ --region us-east-1 \ --service neptune-db
참고

이 예제에서는 자격 AWS 증명이 환경에 구성되어 있다고 가정합니다. us-east-1을 Neptune 클러스터의 리전으로 바꿉니다.

curl
curl -k https://your-neptune-endpoint:8182/status
참고

-k 플래그는 인증서 확인을 건너뜁니다. 프로덕션 코드가 아닌 연결 테스트에만 사용합니다.

응답이 성공하면 보안 그룹, 라우팅 및 DNS 확인이 모두 작동하는지 확인합니다. 제한 시간은 네트워크 수준 문제를 나타냅니다.

IAM 자격 증명 새로 고침

Neptune에서 IAM 인증을 사용하는 경우 포드가 만료되기 전에 자격 증명을 새로 고쳐야 합니다. 새 배포에는 Amazon EKS Pod Identity를 사용하는 것이 좋습니다. 서비스 계정에 대한 IAM 역할(IRSA)도 지원되며 널리 사용됩니다.

두 방법 중 하나를 사용하면 시작 시 한 번이 아니라 인증 생성기 함수 내에서 자격 증명을 검색합니다. IRSA 및 Pod Identity 토큰은 1시간 후에 만료됩니다. 초기화 시 자격 증명을 캐시하면 토큰이 만료된 AccessDeniedException: security token expired 후에서 요청이 실패합니다.

  • gremlin-go의 경우:에 전달된 gen 함수 cfg.Credentials.Retrieve(ctx) 내에서를 호출합니다NewDynamicAuth.

  • Java의 경우: 각 새 연결에서 SigV4 서명을 새로 고HandshakeInterceptor치는와 NeptuneGremlinClient 함께 사용합니다.

교차 계정 액세스

Neptune은 직접 교차 계정 IAM 인증을 지원하지 않습니다. Amazon EKS 클러스터가 Neptune 클러스터와 다른 AWS 계정에 있는 경우, 포드는 인증하기 전에 먼저 Neptune 계정에서 역할을 맡아야 합니다.

Graph Explorer의 수신 구성

컨테이너화된 환경에서 Graph Explorer를 실행하는 경우 만이 아니라 프록시가 모든 경로에 액세스할 수 있는지 확인합니다/explorer. Amazon EKS에서 모든 경로를 허용하도록 수신 컨트롤러 규칙을 구성합니다. Amazon ECS에서 모든 경로를 Graph Explorer 컨테이너로 전달하도록 Application Load Balancer 대상 그룹 및 리스너 규칙을 구성합니다. Graph Explorer의 프록시는 /summary, /gremlin, /openCypher및를 호출합니다/sparql. 경로 제한 라우팅 규칙은 프록시를 자동으로 중단합니다.