AWS PrivateLink가 등장 EC2나 ELB에서 어떻게 사용하는지
AWS Private link 정보
요 전날 AWS Private link라는 기능이 발표되었습니다.
htps : // 아 ws. 아마존. 이 m / jp / b ぉ gs / 아 ws / 네 w 아 ws p ri d-e lb-api s-in-rvpc /
지금까지의 방식(DynamoDB, S3)은 엔드포인트의 게이트웨이 경유로 각 서비스의 API에 접속하는 형태였지만
새로운 방식으로는 엔드포인트가 ENI에 연결되어 VPC의 개인 IP를 가진 형태가 됩니다.
이 방식의 장점으로는
· 보안 그룹에서 엔드포인트에 대한 액세스를 관리할 수 있습니다.
· 엔드포인트에 Direct Connect를 통해 액세스할 수 있음
라고 하는 것이 큰가라고 생각합니다.
Private link에 해당하는 서비스
이번 타이밍에 다음 서비스가 새롭게 VPC 중에서 사용할 수 있게 되었습니다.
그 외의 서비스도 Coming Soon에서 지원 예정이라는 것.
EC2 및 ELB에서 사용하기
Kinesis의 대응은 이해하기 쉽습니다.
프라이빗 EC2에서 Kinesis로 데이터 푸시할 수 있다든가 최고인가.
그렇지만 EC2나 ELB의 엔드 포인트란? 그리고 나는 생각해 버렸다.
예를 들어, EC2라면 다른 VPC의 퍼블릭 EC2에 비공개로 연결? 라든지 잘 모르는 것을 생각 처음 버렸다.
기본으로 돌아와 문서를 확인했습니다.
새로운 방법 (인터페이스 VPC 엔드 포인트)에 대해서는 아직 일본어 문서가 없습니다.
원본 문서는 다음 URL에서 볼 수 있습니다.
htp // // cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 아마 존 VPC / 아 st / 우세 r 구이로 / vp 세 - 엔 r 흠. HTML
페이지 하단의 Accessing an AWS Service Through an Interface Endpoint에 ELB
엔드포인트에 AWS CLI에서 액세스하는 예제가 있습니다.
aws elbv2 describe-load-balancers --endpoint-url https://vpce-0f89a33420c193abc-bluzidnv.elasticloadbalancing.us-east-1.vpce.amazonaws.com/
단순히 AWS CLI나 SDK에서 API를 조작할 때 사용하면 좋은 이미지일까요?
말해 보면 처음의 Blog의 타이틀도 ~Amazon EC2 APIs, and ELB APIs in your VPC 였습니다.
EC2에서 시도
우선 단순히 프라이빗 EC2로 AWS CLI를 조작해 보겠습니다.
당연하지만 연결 오류가 발생했습니다.
$aws ec2 describe-availability-zones
HTTPSConnectionPool(host='ec2.ap-northeast-1.amazonaws.com', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x7f002bf53e10>, 'Connection to ec2.ap-northeast-1.amazonaws.com timed out. (connect timeout=60)'))
PrivateLink 만들기
콘솔의 VPC 메뉴에서 엔드포인트 → Create Endpoint로 이동합니다.
S3 및 Dynamodb 엔드포인트만 선택할 수 있는 경우 콘솔의 언어 설정을 영어로 설정하면
다음과 같은 화면이 표시되었습니다.
서비스 이름: com.amazonaws.ap-northeast-1.ec2 선택
VPC, subnet, SecurityGroup: 각각 임의의 것을 지정합니다.
SecurityGroup에서는 443개의 인바운드를 허용해야 합니다.
Enable for this endpoint:
PrivateLink 엔드포인트는 VPC의 IP 주소를 사용하므로 VPC의 개인 DNS를 사용하여
AWS 서비스의 DNS 이름을 덮어쓸 수 있습니다.
체크를 넣으면 「ec2.ap-northeast-1.amazonaws.com」의 VPC내의 룩업이,
생성할 엔드포인트의 IP 주소로 확인됩니다.
위를 지정한 후 화면 하단의 Create endpoint를 누릅니다.
동작 확인
이전처럼 개인 EC2에서 AWS CLI를 실행합니다.
$ aws ec2 describe-availability-zones
{
"AvailabilityZones": [
{
"State": "available",
"ZoneName": "ap-northeast-1a",
"Messages": []
"RegionName": "ap-northeast-1"
},
{
"State": "available",
"ZoneName": "ap-northeast-1c",
"Messages": [],
"RegionName": "ap-northeast-1"
}
]
}
Enable for this endpoint에 체크를 넣었기 때문에 똑같은 명령으로 실행할 수 있었습니다.
비공개 DNS 이름을 사용하지 않으려면 (선택하지 않음) --endpoint-url
엔드포인트별로 할당된 DNS 이름을 지정하면 연결할 수 있습니다.
$ aws ec2 describe-availability-zones --endpoint-url https://vpce-xxxxxxxxxx-xxxxxx.ec2.ap-northeast-1.vpce.amazonaws.com
{
"AvailabilityZones": [
{
"State": "available",
"ZoneName": "ap-northeast-1a",
"Messages": [],
"RegionName": "ap-northeast-1"
},
{
"State": "available",
"ZoneName": "ap-northeast-1c",
"Messages": [],
"RegionName": "ap-northeast-1"
}
]
}
기본적인 내용일지도 모릅니다만, 참고가 되면 다행입니다.
이상입니다.
Reference
이 문제에 관하여(AWS PrivateLink가 등장 EC2나 ELB에서 어떻게 사용하는지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hayao_k/items/2d64c180f6c6ca57e41b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$aws ec2 describe-availability-zones
HTTPSConnectionPool(host='ec2.ap-northeast-1.amazonaws.com', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x7f002bf53e10>, 'Connection to ec2.ap-northeast-1.amazonaws.com timed out. (connect timeout=60)'))
$ aws ec2 describe-availability-zones
{
"AvailabilityZones": [
{
"State": "available",
"ZoneName": "ap-northeast-1a",
"Messages": []
"RegionName": "ap-northeast-1"
},
{
"State": "available",
"ZoneName": "ap-northeast-1c",
"Messages": [],
"RegionName": "ap-northeast-1"
}
]
}
$ aws ec2 describe-availability-zones --endpoint-url https://vpce-xxxxxxxxxx-xxxxxx.ec2.ap-northeast-1.vpce.amazonaws.com
{
"AvailabilityZones": [
{
"State": "available",
"ZoneName": "ap-northeast-1a",
"Messages": [],
"RegionName": "ap-northeast-1"
},
{
"State": "available",
"ZoneName": "ap-northeast-1c",
"Messages": [],
"RegionName": "ap-northeast-1"
}
]
}
Reference
이 문제에 관하여(AWS PrivateLink가 등장 EC2나 ELB에서 어떻게 사용하는지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hayao_k/items/2d64c180f6c6ca57e41b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)