EndPoint Service를 이용해서 PrivateLink 구성 해보기

EndPoint Service를 이용해서 PrivateLink를 구성해 봤습니다.
2021.10.03

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 EndPoint Service를 이용해서 PrivateLink를 구성해 봤습니다.

현재 환경

퍼블릭에서 연결 테스트

MyVPC에서 CustomVPC로의 통신을 테스트해 보겠습니다.

dig +short NLB-test-c82933481368db30.elb.ap-northeast-1.amazonaws.com

네임 서버의 정보를 가져오기 위해서 dig 명령어를 사용합니다. 대상은 네트워크 로드밸런서의 dns를 입력하면 됩니다.

그럼 현재 NLB-test dns주소에 대한 IP 정보를 확인할 수 있습니다.

curl NLB-test-c82933481368db30.elb.ap-northeast-1.amazonaws.com

curl 명령어를 입력하면 웹 서버의 html 코드가 출력됩니다 이 명령어로 현재 웹 서버에 대한 접근을 확인할 수 있습니다. 이렇게 통신이 가능한 이유는 외부 인터넷을 통해서 VPC간 통신을 하고 있기 때문이라고 할 수 있습니다. 여기서 외부 인터넷이 아닌 프라이빗 경로를 통해서 통신을 해보는것이 오늘의 목표라고 할 수 있겠습니다.

엔드포인트 생성

VPC간 프라이빗 연결을 하기 위해서는 먼저 환경을 구성해야 합니다. 먼저 엔드포인트 서비스와 CustomVPC를 연결하겠습니다.

엔드포인트 서비스로 들어가서「엔드포인트 서비스 생성」버튼을 클릭합니다.

엔드포인트 서비스 이름을 입력하고, 사용 가능한 로드 밸런서는 조금전 만들어두었던「NLB-test」를 선택하고 생성 버튼을 클릭합니다.

이어서 MyVPC에 인터페이스 엔드포인트를 생성하도록 하겠습니다.

「이름별 서비스 찾기」를 선택하고 서비스 이름에 조금전 생성한 엔드포인트 서비스 이름을 입력합니다. VPC는 MyVPC를 선택합니다.

MyEC2의 보안 그룹을 선택하고「엔드포인트 생성」버튼을 클릭합니다.

엔드포인트를 확인해 보면 상태가「수락 대기 중」입니다. 여기서 엔드포인트 서비스와 연결을 수락 해야만 연결을 할 수 있습니다.

엔드포인트 서비스로 들어와서「엔드포인트 연결」탭을 누르고 작업->엔드포인트 연결 요청 수락 버튼을 클릭합니다.

엔드포인트 서비스 테스트

다시 엔드포인트러 들어와서「DNS 이름」을 확인해 보면, 2개의 DNS을 확인할 수 있습니다. 여기서 둘중 하나를 복사합니다.

dig +short vpce-0014dea8a6f821bad-eviog1uz.vpce-svc-06378c80c0bf0cd69.ap-northeast-1.vpce.amazonaws.com

아까와 똑같이 IP 정보가 나오는 것을 확인할 수 있습니다.

curl vpce-0014dea8a6f821bad-eviog1uz.vpce-svc-06378c80c0bf0cd69.ap-northeast-1.vpce.amazonaws.com

curl 또 한 잘 출력되는 것을 볼 수 있습니다.

현재 통신 상태를 아키텍쳐로 본다면, MyVPC에서 CustomVPC에 위치하는 웹 서비스로 서비스를 요청할 때, 인터페이스 엔드포인트로 데이터를 전달 합니다.  그리고 프라이빗 링크를 통해 엔드포인트 서비스가 생성된 CustomVPC의 NLB로 전달합니다.

즉 외부 인터넷을 통해서가 아닌, 엔드포인트 서비스 기능을 통해 AWS 자체의 프라이빗 네트워크로 통신이 이루어집니다.

참고