Gateway Endpoint 를 사용하면 AWS PrivateLink 를 사용하지 않고도 Internet Gateway 와 NAT Gateway 없이도 AWS 서비스에 연결할 수 있습니다.


게이트웨이 엔드포인트를 통한 액세스

다음 다이어그램은 인스턴스에서 게이트웨이 엔드포인트를 통해 Amazon S3 및 DynamoDB에 액세스하는 방법을 보여줍니다. VPC에서 Amazon S3 또는 DynamoDB로의 트래픽은 게이트웨이 엔드포인트로 라우팅됩니다. 각 서브넷 라우팅 테이블에는 서비스로 전송되는 트래픽을 서비스의 접두사 목록을 사용하여 게이트웨이 엔드포인트로 보내는 라우팅이 있어야 합니다.


[참고사항]

 

인터넷 게이트웨이를 통한 액세스

다음 다이어그램은 인스턴스에서 퍼블릭 서비스 엔드포인트를 통해 Amazon S3 및 DynamoDB에 액세스하는 방법을 보여줍니다. 퍼블릭 서브넷의 인스턴스에서 Amazon S3 또는 DynamoDB로의 트래픽은 VPC의 인터넷 게이트웨이를 거쳐 서비스로 라우팅됩니다. 프라이빗 서브넷의 인스턴스는 Amazon S3 또는 DynamoDB로 트래픽을 전송할 수 없습니다. 기본적으로 프라이빗 서브넷에는 인터넷 게이트웨이에 대한 라우팅이 없기 때문입니다. 프라이빗 서브넷의 인스턴스에서 Amazon S3 또는 DynamoDB로 트래픽을 보내려면 퍼블릭 서브넷에 NAT 디바이스를 추가하고 프라이빗 서브넷의 트래픽을 NAT 디바이스로 라우팅합니다. Amazon S3 또는 DynamoDB로 전송되는 트래픽은 인터넷 게이트웨이를 통과하지만 AWS 네트워크를 벗어나지 않습니다.

'AWS' 카테고리의 다른 글

Route53 라우팅 정책  (0) 2023.08.05
AWS Route53 DNA Type  (0) 2023.07.22
AWS 특정 트래픽 헬스체크 알람생성 방법  (0) 2023.07.16
AWS 특정 VPC, IP S3 버킷 허용 하는 방법  (0) 2023.07.11
AWS EC2 Instance Metadata(IMDS)  (0) 2023.07.10

개요 : AWS 계정에서 다른 리전간의 Endpoint 공유 방법


일반적으로 AWS 서비스 엔드포인트(공인IP) 를 사용하면 문제없이 사용 가능하다. 하지만 내부 엔드포인트 인터페이스를 통해서만 엔드포인트를 사용 하고 싶은 경우에는 설정이 필요하다.

 

방법 : VPC 피어링을 통해 VPC 간 데이터를 공유할 수 있도록 설정 한 다음 Route53 에서 피어링된 VPC 두개를 대상으로 잡고 DNS 를 엔드포인트 DNS 를 사용하면 내부망에 있는 엔드포인트를 사용하여 서비스를 운영할 수 있다.


개념 설명 : Route53 은 글로벌 서비스로 지정한 VPC 에 대해서 DNS 서비스를 제공해준다.

따라서 VPC 피어링을 통해 VPC 간 연결을 생성한 다음 Route53 서비스 영역(VPC) 로 피어링을 맺은 두개의 VPC 를 지정하면, 지정된 두개의 VPC 에서는 Route53 을통해 DNS 조회가 가능하다


예를들어 서울리전과, 도쿄리전에서 엔드포인트를 공유 하고자 하는 경우로 설명 하겠다.

ex) 서울리전(ap-northeast-2) 에서 도쿄리전(ap-northeast-1) 의 엔드포인트를 사용 하고자 할 경우

-> 서울리전에 있는 EC2 에서 도쿄리전에 있는 리소스 조회를 위해 됴쿄리전에 있는 ec2 엔드포인트가 필요하다고 가정


방법

1. VPC 피어링을 통해 서울리전과 됴쿄리전을 연결

2. Route53 에서 대상 VPC 에 1번에서 피어링을 맺은 서울리전과 도쿄리전을 모두 지정

3. 됴쿄리전에 ec2 엔드포인트를 생성 (주의사항 : 퍼블릭 DNS 기능 제거)

4. Route53 에서 ec2 엔드포인트 주소인 ec2.ap-northeast-1.amazonaws.com 을 호스팅으로 지정

5. ec2.ap-northeast-1.amazonaws.com 에 레코드에서 별칭사용 -> 됴쿄리전 VPC 종단점 -> ec2 엔드포인트 지정

6. 서울리전 ec2 에서 https://ec2.ap-northeast-1.amazonaws.com 을  지정하면 사용 가능

 

참고자료 : https://docs.aws.amazon.com/ko_kr/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-access-to-vpc-private-endpoints.html#cross-region-endpoint-access

'AWS' 카테고리의 다른 글

AWS EKS SVC 로 NLB 사용 시 Time out 발생 현상  (1) 2023.07.09
EKS Config Update  (0) 2023.07.08
AWS EKS efs-csi-driver install  (0) 2023.06.07
AWS Multi Region Network 구성  (0) 2023.06.07
ECR Multi Region Replication  (0) 2023.06.04

보안그룹이 모두 열려있는 개인이 가진 AWS 콘솔에서는 문제가 없겠지만, 사설망에서 사용하는경우 와 빡빡하게 보안그룹을 관리하는 경우에는 EKS 생성시 필요한 조건이 충족되지 못하여 EKS Cluster Join Failed 에러가 종종 발생한다.

 

이를 해결하기 위해 몇일 찾아봤지만 마땅한 답을 찾지 못했다. 그래서 AWS 서포트에 문의를 했고 해당 원인을 찾을 수 있었다.

 

EKS 생성에는 여러가지 조건이 있겠지만 내가 놓친 부분은 Endpoint 에 대한 부분 이었다.

같은 VPC 대역대이고, IAM 권한등을 다 확인을 했지만 문제를 찾지 못했는데 예상외로 EKS 생성시 필요한 Endpoint 가 많았다. 

 

1. EC2 Endpoint

2.  ECR.API Endpoint

3. ECR.dkr Endpoint 

4. S3 Endpoint 

EKS nodegroup 생성시 join failed error 가 발생하면 위 Endpoint 의 보안그룹을 확인해 보는걸 추천한다.

 

EKS 문서를 보면 자세하게 나와 있으니 참고하면 된다.

https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-worker-nodes-cluster/

 

작업자 노드를 Amazon EKS 클러스터에 조인

내 워커 노드를 내 Amazon EKS 클러스터에 조인하려면 어떻게 해야 합니까? 최종 업데이트 날짜: 2022년 7월 29일 내 워커 노드가 Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터에 조인되지 않습니다. 간

aws.amazon.com

https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshooteksworkernode.html

 

AWSSupport-TroubleshootEKSWorkerNode - AWS Systems Manager Automation runbook reference

To successfully run this automation, the state of your Amazon EC2 worker node must be running , and the Amazon EKS cluster state must be ACTIVE .

docs.aws.amazon.com

 

 

'AWS' 카테고리의 다른 글

EKS 최초 생성 권한 문제  (0) 2023.04.16
AWS LB Annotations  (0) 2023.01.23
EventBridge 를 사용한 알람 발송  (0) 2023.01.20
AWS Instance Network Bandwidth  (0) 2022.10.30
AWS Certification 종류  (0) 2022.10.30

+ Recent posts