AWS PrivateLink 기반 서비스 생성
엔드포인트 서비스라고 하는 AWS PrivateLink 기반 자체 서비스를 생성할 수 있습니다. 서비스를 생성하면 서비스 공급자이고 해당 서비스에 대한 연결을 생성하는 AWS 보안 주체는 서비스 소비자입니다.
엔드포인트 서비스에는 Network Load Balancer나 Gateway Load Balancer가 필요합니다. 로드 밸런서는 서비스 소비자의 요청을 받아 서비스로 전달합니다. 여기서는 Network Load Balancer를 사용하여 엔드포인트 서비스를 생성합니다. Gateway Load Balancer를 사용하여 엔드포인트 서비스를 생성하는 방법에 대한 자세한 내용은 가상 어플라이언스 액세스 섹션을 참조하세요.
고려 사항
-
엔드포인트 서비스는 해당 서비스를 생성한 리전에서 사용할 수 있습니다. VPC 피어링을 사용하면 다른 리전에서 엔드포인트 서비스에 액세스할 수 있습니다.
-
엔드포인트 서비스는 TCP를 통한 트래픽만 지원합니다.
-
서비스 소비자가 엔드포인트 서비스에 대한 정보를 검색할 때 서비스 공급자와 공통되는 가용 영역만 볼 수 있습니다. 서비스 공급자와 서비스 소비자가 다른 계정에 있는 경우 각 AWS 계정의 다른 물리적 가용 영역에
us-east-1a
와 같은 가용 영역 이름이 매핑될 수 있습니다. AZ ID를 사용하여 서비스의 가용 영역을 일관되게 식별할 수 있습니다. 자세한 내용은 Amazon EC2 사용 설명서의 AZ ID를 참조하세요. -
서비스 소비자가 인터페이스 엔드포인트를 통해 서비스로 트래픽을 전송할 때 애플리케이션에 제공된 원본 IP 주소는 서비스 소비자의 IP 주소가 아니라 로드 밸런서 노드의 프라이빗 IP 주소입니다. 로드 밸런서에서 프록시 프로토콜을 활성화하는 경우 프록시 프로토콜 헤더에서 서비스 소비자의 주소와 인터페이스 엔드포인트의 ID를 확인할 수 있습니다. 자세한 내용은 Network Load Balancer 사용 설명서의 프록시 프로토콜을 참조하세요.
-
Network Load Balancer는 단일 엔드포인트 서비스에 연결될 수 있지만 엔드포인트 서비스는 여러 Network Load Balancer에 연결될 수 있습니다.
-
엔드포인트 서비스가 여러 Network Load Balancer에 연결되어 있는 경우 각 엔드포인트 네트워크 인터페이스는 하나의 로드 밸런서와만 연결됩니다. 엔드포인트 네트워크 인터페이스에서 첫 번째 연결이 시작되면 엔드포인트 네트워크 인터페이스와 동일한 가용 영역에 있는 Network Load Balancer 중 하나를 임의로 선택합니다. 이 엔드포인트 네트워크 인터페이스의 모든 후속 연결 요청은 선택한 로드 밸런서를 사용합니다. 어떤 로드 밸런서를 선택하든 소비자가 엔드포인트 서비스를 사용할 수 있도록 엔드포인트 서비스의 모든 로드 밸런서에 동일한 리스너 및 대상 그룹 구성을 사용하는 것이 좋습니다.
-
AWS PrivateLink 리소스에는 할당량이 있습니다. 자세한 내용은 AWS PrivateLink 할당량 단원을 참조하십시오.
사전 조건
-
서비스를 제공할 각 가용 영역에서 하나 이상의 서브넷을 사용하여 엔드포인트 서비스의 VPC를 생성합니다.
-
서비스 소비자가 엔드포인트 서비스의 IPv6 인터페이스 VPC 엔드포인트를 생성할 수 있도록 하려면 VPC와 서브넷에는 연결된 IPv6 CIDR 블록이 있어야 합니다.
-
VPC에서 Network Load Balancer를 생성합니다. 서비스 소비자에게 서비스를 제공할 가용 영역당 하나의 서브넷을 선택합니다. 낮은 지연 시간과 내결함성을 지원하기 위해 리전에서 두 개 이상의 가용 영역에 서비스를 제공하는 것이 좋습니다.
-
Network Load Balancer에 보안 그룹이 있는 경우 클라이언트의 IP 주소에서 오는 인바운드 트래픽을 허용해야 합니다. 또는 AWS PrivateLink를 통해 트래픽에 대한 인바운드 보안 그룹 규칙의 평가를 끌 수 있습니다. 자세한 내용은 Network Load Balancer 사용 설명서의 보안 그룹을 참조하세요.
-
엔드포인트 서비스에서 IPv6 요청을 수락할 수 있도록 하려면 해당 Network Load Balancer가 듀얼 스택 IP 주소 유형을 사용해야 합니다. 대상에서 IPv6 트래픽을 지원할 필요는 없습니다. 자세한 내용은 Network Load Balancer 사용 설명서의 IP 주소 유형을 참조하세요.
프록시 프로토콜 버전 2 헤더의 소스 IP 주소를 처리하는 경우 IPv6 주소를 처리할 수 있는지 확인합니다.
-
서비스를 제공할 각 가용 영역에서 인스턴스를 시작하고 로드 밸런서 대상 그룹에 등록합니다. 활성화된 가용 영역 일부에서 인스턴스를 시작하지 않는 경우 교차 영역 로드 밸런싱을 활성화하여 영역 DNS 호스트 이름을 사용해 서비스에 액세스하는 서비스 소비자를 지원할 수 있습니다. 교차 영역 로드 밸런싱을 활성화하는 경우 리전 데이터 전송 요금이 부과될 수 있습니다. 자세한 내용은 Network Load Balancer 사용 설명서의 교차 영역 로드 밸런싱을 참조하세요.
엔드포인트 서비스 생성
Network Load Balancer를 사용하여 엔드포인트 서비스를 생성하려면 다음 절차를 따르세요.
콘솔을 사용하여 엔드포codedeploy-commands-인트 서비스 생성하기
https://console.aws.amazon.com/vpc/
에서 Amazon VPC 콘솔을 엽니다. -
탐색 창에서 엔드포인트 서비스(Endpoint services)를 선택합니다.
-
엔드포인트 서비스 생성(Create endpoint service)을 선택합니다.
-
로드 밸런서 유형(Load balancer type)에서 네트워크(Network)를 선택합니다.
-
사용 가능한 로드 밸런서(Available load balancers)에서 엔드포인트 서비스에 연결할 Network Load Balancer를 선택합니다. 포함된 가용 영역에는 선택한 Network Load Balancer에 대해 활성화된 가용 영역이 나열됩니다. 엔드포인트 서비스는 이러한 가용 영역에서 사용할 수 있습니다.
-
Require acceptance for endpoint(엔드포인트 수락 필요)에서 엔드포인트 서비스에 대한 연결 요청을 수동으로 수락하도록 하려면 Acceptance required(수락 필요)를 선택합니다. 그러지 않으면 요청이 자동으로 수락됩니다.
-
프라이빗 DNS 이름 활성화(Enable private DNS name)에서 프라이빗 DNS 이름을 서비스에 연결(Associate a private DNS name with the service)을 선택하여 서비스 소비자가 서비스에 액세스하는 데 사용할 수 있는 프라이빗 DNS 이름을 연결한 다음 프라이빗 DNS 이름을 입력합니다. 그러지 않으면 서비스 소비자는 AWS에서 제공하는 엔드포인트별 DNS 이름을 사용할 수 있습니다. 서비스 소비자가 프라이빗 DNS 이름을 사용할 수 있으려면 서비스 공급자가 소비자의 도메인 소유 사실을 증명해야 합니다. 자세한 내용은 DNS 이름 관리 단원을 참조하십시오.
-
Supported IP address types(지원되는 IP 주소 유형)에서 다음 중 하나를 수행합니다.
-
IPv4 선택 - IPv4 요청을 수락하도록 엔드포인트 서비스를 활성화합니다.
-
IPv6 선택 - IPv6 요청을 수락하도록 엔드포인트 서비스를 활성화합니다.
-
IPv4 및 IPv6 선택 - IPv4 및 IPv6 요청을 모두 수락하도록 엔드포인트 서비스를 활성화합니다.
-
-
(선택 사항) 태그를 추가하려면 새로운 태그 추가(Add new tag)를 선택하고 태그 키와 태그 값을 입력합니다.
-
생성(Create)을 선택합니다.
명령줄을 사용하여 엔드포인트 서비스 생성하기
-
New-EC2VpcEndpointServiceConfiguration(Windows PowerShell용 도구)
서비스 소비자가 엔드포인트 서비스를 사용할 수 있도록 설정
AWS 보안 주체는 인터페이스 VPC 엔드포인트를 생성하여 엔드포인트 서비스에 비공개로 연결할 수 있습니다. 서비스 공급자는 서비스를 서비스 소비자가 사용할 수 있도록 하려면 다음을 수행해야 합니다.
-
각 서비스 소비자가 엔드포인트 서비스에 연결할 수 있도록 권한을 추가합니다. 자세한 내용은 권한 관리 단원을 참조하십시오.
-
서비스 소비자가 인터페이스 엔드포인트를 생성하여 서비스에 연결할 수 있도록 서비스 소비자에게 서비스의 이름과 지원되는 가용 영역을 제공합니다. 자세한 내용은 다음 절차를 참조하세요.
-
서비스 소비자의 엔드포인트 연결 요청을 수락합니다. 자세한 내용은 연결 요청 수락 또는 거부 단원을 참조하십시오.
서비스 소비자로 엔드포인트 서비스에 연결
서비스 소비자는 다음 절차에 따라 인터페이스 엔드포인트를 생성하여 엔드포인트 서비스에 연결합니다.
콘솔을 사용하여 인터페이스 엔드포인트 생성하기
https://console.aws.amazon.com/vpc/
에서 Amazon VPC 콘솔을 엽니다. -
탐색 창에서 엔드포인트를 선택합니다.
-
Create endpoint(엔드포인트 생성)을 선택합니다.
-
서비스 범주(Service category)에서 기타 엔드포인트 서비스(Other endpoint services)를 선택합니다.
-
서비스 이름(Service name)에 서비스의 이름(예:
com.amazonaws.vpce.us-east-1.vpce-svc-0e123abc123198abc
)을 입력하고 서비스 확인(Verify service)을 선택합니다. -
VPC에서 엔드포인트를 생성할 VPC를 선택합니다.
-
Subnets(서브넷)에서 엔드포인트 서비스에 액세스할 서브넷(가용 영역)을 선택합니다.
-
IP 주소 유형(IP address type)에서 다음 옵션 중에서 선택합니다.
-
IPv4 - 엔드포인트 네트워크 인터페이스에 IPv4 주소를 할당합니다. 이 옵션은 선택한 모든 서브넷에 IPv4 주소 범위가 있으며 엔드포인트 서비스가 IPv4 요청을 수락하는 경우에만 지원됩니다.
-
IPv6 - 엔드포인트 네트워크 인터페이스에 IPv6 주소를 할당합니다. 이 옵션은 선택한 모든 서브넷이 IPv6 전용 서브넷이며 엔드포인트 서비스가 IPv6 요청을 수락하는 경우에만 지원됩니다.
-
듀얼 스택 - 엔드포인트 네트워크 인터페이스에 IPv4 및 IPv6 주소를 모두 할당합니다. 이 옵션은 선택한 모든 서브넷에 IPv4 및 IPv6 주소 범위가 모두 있으며 엔드포인트 서비스가 IPv4 및 IPv6 요청을 수락하는 경우에만 지원됩니다.
-
-
DNS 레코드 IP 유형(DNS record IP type)에서 다음 옵션 중에서 선택합니다.
-
IPv4 - 프라이빗, 리전 및 영역 DNS 이름에 대해 A 레코드를 생성합니다. IP 주소 유형은 IPv4 또는 Dualstack(듀얼 스택)이어야 합니다.
-
IPv6 - 프라이빗, 리전 및 영역 DNS 이름에 대해 AAAA 레코드를 생성합니다. IP 주소 유형은 IPv6 또는 듀얼 스택이어야 합니다.
-
듀얼 스택 - 프라이빗, 리전 및 영역 DNS 이름에 대해 A 및 AAAA 레코드를 생성합니다. IP 주소 유형은 듀얼 스택이어야 합니다.
-
Service defined(서비스 정의) - 프라이빗, 리전 및 영역 DNS 이름에 대해 A 레코드, 리전 및 영역 DNS 이름에 대해 AAAA 레코드를 생성합니다. IP 주소 유형은 듀얼 스택이어야 합니다.
-
-
보안 그룹(Security group)에서 엔드포인트 네트워크 인터페이스에 연결할 보안 그룹을 선택합니다.
-
Create endpoint(엔드포인트 생성)을 선택합니다.
명령줄을 사용하여 인터페이스 엔드포인트 생성하기
-
create-vpc-endpoint(AWS CLI)
-
New-EC2VpcEndpoint(Windows PowerShell용 도구)