VPC 엔드포인트 "AWS 서비스"와 "이름으로 서비스 검색"의 차이점
8903 단어 vpcendpointPrivateLinkAWS
개요
AWS VPC 엔드포인트의 인터페이스형(PrivateLink)은 3가지다.
AWS PrivateLink 사용법 및 주의점~ VPC 귀걸이와 구분해서 사용~
결론
EC2
AWS 프린터 서비스
예를 들어, EC2에서 API로 작성됩니다.아래의 문장은 매우 참고 가치가 있다.
등장한 EC2 및 ELB에서 AWS PrivateLink 사용 방법
프로비저닝
Private 서브넷에 구성된 EC2에서 시작하여 aws cli를 실행하여 EC2의 API를 실행합니다.(EC2 API를 쓰는 위치가 여기에 있는지 모르겠어요...)
실행 결과
Private DNS를 Time 으로 설정
endpoint를 지정하지 않은 상태에서PrivateDNS를 사용합니다
aws ec2 describe-availability-zones
{
"AvailabilityZones": [
{
"OptInStatus": "opt-in-not-required",
"Messages": [],
"ZoneId": "use2-az1",
"GroupName": "us-east-2",
"State": "available",
"NetworkBorderGroup": "us-east-2",
"ZoneName": "us-east-2a",
"RegionName": "us-east-2"
},
# 以下、省略
PrivateDNS를 endpoint로 지정(고유의 endpoint라도 OK)$ aws ec2 describe-availability-zones --endpoint-url https://ec2.us-east-2.amazonaws.com
{
"AvailabilityZones": [
{
"OptInStatus": "opt-in-not-required",
"Messages": [],
# 以下、省略
Private DNS를 가짜로 설정할 때
endpoint가 지정되지 않은 경우 통과하지 않습니다. (PrivateDNS가 가짜이기 때문입니다.)
[ec2-user@ip-10-0-20-44 ~]$ aws ec2 describe-availability-zones
# レスポンス無し
지정한 고유 endpoint가 있고 응답이 있습니다aws ec2 describe-availability-zones --endpoint-url https://XXXXXXXXX.ec2.us-east-2.vpce.amazonaws.com
{
"AvailabilityZones": [
{
"OptInStatus": "opt-in-not-required",
"Messages": [],
# 以下、省略
독립 서비스
절차의 개요는 다음과 같다.
[새로운 기능] PrivateLink에서 독립된 단점을 만들고 응용 프로그램 #reinvent 공개
구성도
Private의 서브넷에서 다른 VPC의 Private 서브넷의 EC2에 액세스합니다.
EC2에 구축된 REST API
파이썬의 Flash를 사용하여 리소스에서 5000번 GET를 사용한 후 메시지 API만 반환합니다.API에 대한 NLB를 생성합니다.
hello.py
import json
def get_hello():
message = "Hello, good evening"
return_json = json.dumps({"message": message})
return return_json
server.pyfrom flask import Flask
from hello import get_hello
app = Flask(__name__)
@app.route('/hello', methods=['GET'])
def local_endpoint():
return get_hello()
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
public 서브넷에서 준비한 점프 서버의 팟캐스트 결과[ec2-user@ip-10-0-10-166 ~]$ curl http://10.0.30.21:5000/hello
{"message": "Hello, good evening"}
NLB에서 액세스할 수 있는지 여부는 상태 점검을 참조하십시오.unhealthy의 경우 EC2의 보안 그룹에 대한 설정이 좋지 않을 수 있습니다.이번 API로 말하자면 같은 서브넷/hello
으로부터 5천호의 허가를 받아야 한다.(다음 그림 3행)실행 결과
생성된 끝점에 표시된 DNS 이름을 요청합니다.
다른 VPC를 위한 인스턴스의 요청 결과
[ec2-user@ip-10-0-20-44 ~]$ curl http://XXXXXXXXX.XXXXXXXXXXXX.us-east-2.vpce.amazonaws.com/hello
{"message": "Hello, good evening"}
VPC 엔드포인트 보안 그룹은 내장형으로서 액세스 소스인 EC2로부터의 통신을 허용해야 합니다.default에서 VPC 단점을 제작할 때 설정되지 않기 때문에 명확하게 제작해야 한다.포트가 NLB 청취자와 일치합니다.개인 DNS 이름을 사용하는 경우
아래 기사에서 소개한 바와 같이 2020년 1월 업데이트에서 설정된 개인 DNS명을 청구자의 종점으로 삼을 수 있다.VPC 엔드포인트에서 제작한 DNS 이름에 랜덤 ID가 들어가 있어 식별이 어려워 접근이 용이하다.
[새로운 기능] ProvateLink의 공개 서비스에 개인 DNS 이름을 지정할 수 있습니다.
예를 들어 도메인 이름
10.0.30.0/24
의 경우 엔드포인트 서비스를 만들 때 Private DNS name을 설정하면 다음과 같이 액세스할 수 있습니다.또한 Route 53의 TXT 레코드에 로그인해야 합니다.example.com
.example.com [Domain verification name]
[ec2-user@ip-10-0-20-44 ~]$ curl http://example.com/hello
{"message": "Hello, good evening"}
끝맺다
만드는 과정에서 깨달았어요. 완전 다른 건데...
또 독자적인 서비스를 만들면 VPC 단점과 단점 서비스의 차이도 이해할 수 있다.역시 손놀림이 중요해.
Reference
이 문제에 관하여(VPC 엔드포인트 "AWS 서비스"와 "이름으로 서비스 검색"의 차이점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ny7760/items/54ed5f10bf10ed571088텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)