'엔드포인트'에 해당되는 글 3건

  1. 2019.01.06 AWS - VPC : Part 13 [Endpoint-5]
  2. 2019.01.05 AWS - VPC : Part 12 [Endpoint-4]
  3. 2019.01.01 AWS - VPC : Part 11 [Endpoint-3]

Today Keys :Endpoint, Service, 엔드포인트, 서비스, Private Link, VPC, AWS, cloud, 아마존, Amazon, NLB, ELB


이번 포스팅은 VPC Endpoint Service를 생성하고, 생성한 Endpoint Service를 Endpoint(Private link)로

생성해서 직접 사용해보는 2번째 예제입니다. 1번째에서는 NLB를 '인터넷 연결'용으로 생성하였고,

이번 포스팅에서는 '내부'용으로 생성해서 Endpoint Service를 연결합니다.

본 예제에서 다뤄지는 최종 그림은 다음과 같습니다.

 

 

※ 설명에 필요한 컴포넌트만 넣었으면, 전체 컴포넌트가 표기되진 않았습니다.

관련 포스팅 : AWS - VPC : Part 12 [Endpoint-4]

                    AWS - VPC : Part 11 [Endpoint-3] 

                    AWS - VPC : Part 9 [Endpoint-2]  

                    AWS - VPC : Part 8 [Endpoint-1]  


Endpoint Service는 Endpoint-3 포스팅에서 언급된 것처럼 앞단에 NLB(Network Load Balancer를 구성해야 합니다 .

NLB 구성은 다음과 같이 '인터넷 연결'과 '내부' 용으로 나뉘는 데,  

Endpoint-4 포스팅에서는 '인터넷 연결'로 생성한 로드밸런서로 Endpoint Service를 만들었었고

이번 Endpoint-5에서 '내부'로 생성한 로드밸런서로 Endpoint Service로 만들겠습니다.    

 

 

  '내부'용으로 ELB를 다음과 같이 생성 하였습니다.  

 

 

  ELB로 생성된 도메인을 질의해보면, 다음과 같이 사설 Subnet IP를 갖고 있는 인스턴스가 반환됩니다.  

 

  ELB를 생성하지 않은 다른 VPC의 인스턴스에서도 ELB 도메인에 대한 질의를 확인해봅니다.

 

  물론 사설이기 때문에 정상적으로 서비스가 되지는 않습니다. 

(VPC Peering을 맺는다면 또 다른 얘기겠지만... )

 

  이제 Endpoint Service를 생성합니다.

사설로 만든 ELB(NLB)를 연결합니다.

 

 

  정상적으로 Endpoint Service가 만들어진 것을 확인 할 수 있습니다.  

 

   생성된 Endpoint Service의 '서비스 이름'을 확인합니다.

 

 

  이제 Endpoint Service를 사용 할 엔드포인트를 생성합니다.

이름으로 서비스 찾기에서 방금 전에 만든 Endpoint Service의 '서비스 이름'을 입력하면 서비스를 찾을 수 있습니다.  

 

Endpoint가 정상적으로 만들어시고 상태도 '사용 가능'으로 되면, 

Endpoint의 DNS 이름을 확인합니다.  

  

 

 Endpoint의 DNS 이름을 확인해보면, 다음과 같이 Endpoint를 생성한 AZ의 서브넷 IP로 할당이 됩니다.     

 

 서비스 호출도 Endpoint(Private Link)를 통해서 이제 정상적으로 되는 것을 확인할 수 있습니다. 

 

 경로를 확인하면 바로 직접 연결된 Endpoint(Private Link)로 끝나게 됩니다. 

 

 앞서 AWS 서비스로 Endpoint를 만들 때도 확인했던 부분이지만,

Interface Endpoint 유형의 IP 주소는 Endpoint의 '서브넷' 탭을 보면 어느 AZ에 속한 것인지 확인 할 수 있습니다.  

 

 

 

 

 

 

Posted by 네떡지기

Today Keys :Endpoint, Service, 엔드포인트, 서비스, Private Link, VPC, AWS, cloud, 아마존, Amazon, NLB, ELB


이번 포스팅은 VPC Endpoint Service를 생성하고, 생성한 Endpoint Service를 Endpoint(Private link)로

생성해서 직접 사용해보는 예제입니다.

 본 에제에서 다뤄지는 최종 그림은 다음과 같습니다.

※ 설명에 필요한 컴포넌트만 넣었으면, 전체 컴포넌트가 표기되진 않았습니다.

관련 포스팅 : AWS - VPC : Part 11 [Endpoint-3] 

                    AWS - VPC : Part 9 [Endpoint-2]  

                    AWS - VPC : Part 8 [Endpoint-1]  


 

Endpoint Service는 Endpoint-3 포스팅에서 언급된 것처럼 앞단에 NLB(Network Load Balancer를 구성해야 합니다 .

NLB 구성은 다음과 같이 '인터넷 연결'과 '내부' 용으로 나뉘는 데,  

Endpoint-4 포스팅에서는 '인터넷 연결'로 생성한 로드밸런서로 Endpoint Service를 만들고

Endpoint-5에서 '내부'로 생성한 로드밸런서로 Endpoint Service를 각각 만들 것입니다.

(실제 Endpoint Service를 만드는 데는 차이는 없긴합니다.)

 

 NLB를 다음과 같이 생성해 놓았습니다.

서로 다른 AZ에 1개씩 Instance를 생성하였고, 80 서비스를 각각 올려두었습니다.

 

  구성도로 보면 다음과 같습니다.

 

   제 로컬 PC에서 ELB에 대한 도메인을 확인해보면, ELB에 할당된 인스턴스의 EIP로 응답하는 것을 볼 수 있습니다.

앞서 NLB를 생성 할 때. '인터넷 연결'용으로 만들었기 때문에 NLB 생성 시에 할당한 EIP로 응답합니다.

 

 

  AWS의  ELB를 생성한 VPC가 아닌 다른 VPC이 인스턴스에서 확인을 해도 동일하게 보입니다.  

정상적으로 서비스가 되는지 보기 위해서 curl로 확인해보니

제가 설정한 'ZIGISPACE - SVR#1'과 'ZIGISPACE - SVR#2' 라는 값이 정상적으로 보입니다.

 

  다음은 다른 VPC의 인스턴스에서 Traceroute에 대한 값입니다.

실제 통신이 IGW를 통해서 공인 IP로 통신합니다. 

 

  이제 본격적으로 Endpoint Service를 만듭니다.

NLB를 생성한 곳에서 Endpoint Service를 생성합니다.  

 

   Endpoint Service 생성 시에는 어떤 NLB로 연결할지 고르게 되어 있습니다.

앞서 만든 'ZIGI-ELB-Pub'로 선택합니다.

아래 옵션 중에 '엔드포인트 연결 수락 필수'가 기본적으로 체크되어 있습니다.

여기서는 체크되어 있다는 것만 인지하고 뒤에서 보겠습니다..

 

  서비스 생성 버튼을 누르면 다음과 같이 Endpoint Service 생성이 완료됩니다. 

 

  생성이 완료된 안내창과 생성 후 세부정보를 보면 Endpoint Service의 DNS 이름이 있습니다.

이제 이 이름으로 Endpoint를 생성 할 수 있습니다.  

 

 

  이제 Endpoint를 만들겠습니다. 

 

 

  Endpoint를 생성할 때, 예전 포스팅에서는 기본 AWS 서비스로 Endpoint를 만들었다면, 

이번에는 '이름으로 서비스 찾기'를 합니다.

그리고 서비스 이름에 앞서 만든 Endpoint Service의 DNS이름을 선택하면 해당 서비스를 찾을 수 있습니다.

Endpint를 만들 VPC와 사용 영역별로 서브넷을 지정합니다.

하나의 가용 영역에 하나의 서브넷만 지정이 가능합니다.  

 

 

'엔드포인트 생성' 버튼을 누르면 다음과 같이 Endpoint를 만들어 지는 데,

바로 사용 할 수 있는 것이 아니라, '수락 대기 중' 상태로 뜹니다.

앞서 Endpoint Service를 만들 때 '엔드포인트 연결 수락 필수'가 체크되어 있기 때문입니다.

만약 체크를 해제하면 바로 사용할 수 있지만, 그게    아니라면 이렇게 수락이 필요합니다.

 

  Endpoint Service 쪽에서 보면 '엔드포인트 연결' 탭에 수락대기 중인 Endpoint가 확인됩니다.  

      

 

  해당 Endpoint를 선택해서 요청을 수락하면, 

 

   이렇게 다시 한 번 요청을 수락할 것인지 묻는 데, 수락을 합니다.

 

 

 Endpoint가 사용이 가능한 상태로 바뀌게 됩니다.   

 

  이제 Endpoint를 만든 VPC에서 Endpoint 도메인으로 질의를 하면,

Endpoint 생성 시에 지정한 VPC의 서브넷으로 Endpoint가 만들어집니다.

 

 

Endpoint로 서비스를 호출하면 정상적으로 서비스가 호출되는 것을 확인 할 수 있습니다. 

 

  실제 Trace를 직어보면 바로 Endpoint로 만들어진 VPC 내의 서브넷을 호출하고 정상적으로 완료되는 것을 볼 수 있습니다.  

 

 

 

 

Posted by 네떡지기

Today Keys : VPC, endpoint, privatelink, private, link, 엔드포인트, 서비스, 게이트웨이, 인터페이스, interface,NLB


Private Link

VPC Endpoint는 게이트웨이 형식과 인터페이스 형식으로 구분 됨.

인터페이스 형식으로 구분되는 EndPoint를 Private Link라고도 합니다.

▪ VPC Endpoint 이외에 VPC Endpoint Service라는 것이 있는 데,  

  VPC Endpoint Service는 AWS 서비스가 아닌 AWS 사용자가 직접 만든 서비스를 접근하도록 하는 Private Link 임.

 

정리하면

  VPC Endpoint

     ▪ 게이트웨이 형식

     ▪ 인터페이스 형식 (Private Link) - 사용자

  VPC Endpoint Service  (Private Link) - 제공자

 

PrivateLink

▪ Private Link를 통한 AWS 일반 서비스 접근(VPC Endpoint : 인터페이스 형식)

     - 별도의 인터넷 경로없이 AWS 내부망을 통한 통신

     - Internet Gateway, NAT Gateway, Public IP 등이 필요하지 않음.

     - Direct Connect와 VPN을 통해서도 Private Link 접근 가능.

 

▪  Private Link를 통한 서비스 공유(VPC Endpoint Service)

   - 직접 만든 서비스를  VPC Endpoint Service로 만들어서 다른 AWS 사용자가 서비스에 접근 가능하도록 함.

   - 3rd party 서비스(SaaS)

   - 서비스 제공을 위해서는 NLB를 사용 필수

   ※ VPC Endpoint Service를 통해서 생성된 PrivateLink는 VPC Endpoint에서 사용

 

  


VPC Endpoint  Service 생성

   Step 1. NLB를 생성하여 서비스 연결

   Step 2. VPC EndPoint Service를 생성하면서 NLB를 연결.

 

VPC Endpoint Service 사용

   Step 1 특정 서비스 사용자(소비자)에게 Endpoint Service를 사용 할 수 있는 권한 부여

              - AWS 계정, IAM 사용자 및 IAM 역할

   Step 2 권한을 부여 받은 사용자는 Interface Endpoint 생성

   Step 3 연결을 활성화하기 위해 Interface Endpoint 연결 요청을 수락

              - Default로 수동 수락이지만, Endpoint Service 생성 시에 자동 수락으로 설정 가능.

 

Posted by 네떡지기

티스토리 툴바