[AWS] 엔드포인트 실행 결과 비교
/*
정보글이 아닌, 공부한 내용을 정리한 글입니다.
정보가 필요하시다면 다른 글을 찾아보시는게 졓을 것 같숩니다 : )
*/
환경 설정은 다음과 같습니다. 아래 작성된 순서대로 설정합니다.
밑에서 언급하지 않는 설정은 AWS 기본 설정으로 합니다.
VPC
Name : Test-VPC
IPv4 CIDR : 10.0.0.0/23 (2개의 서브넷을 구성하기 위해서 prefix를 23으로 설정했습니다.)
Subnet
Name : Public-SB
VPC : Test-VPC(위에서 생성한 VPC)
가용 영역 : ap-northeast-2a
IPv4 CIDR 블록 : 10.0.0.0/24
Name : Private-SB
VPC : Test-VPC(위에서 생성한 VPC)
가용 영역 : ap-northeast-2a
IPv4 CIDR 블록 : 10.0.1.0/24
Internet Gateway
Name : Test-IGW
VPC : Test-VPC(IGW 생성 후에 작업 버튼을 눌러 따로 연결)
NAT Gateway
Name : Test-NAT-GW
Subnet : Public-1-SB (위에서 설정한 퍼블릭 서브넷)
탄력적 IP : 새롭게 할당, 기존에 할당받은게 있다면 그것으로 설정
Routing Table
Name : Public-RT
VPC : Test-VPC(위에서 생성한 VPC)
Subnet : Public-SB
Routing : 0.0.0.0/0 인터넷 게이트웨이(Test-IGW)
Name : Private-RT
VPC : Test-VPC(위에서 생성한 VPC)
Subnet : Private-SB
Routing : 0.0.0.0/0 NAT 게이트웨이(Test-NAT-GW)
EC2
AMI : Amazon Linux2 AMI (HVM) 프리티어
네트워크 : Test-VPC
서브넷 : Public-SB
퍼블릭 IP 자동 할당 : 활성화
태그 : Key : Name, Value : Public-EC2
보안그룹 : SSH 소스 위치무관 -> 내 IP
키페어 : 기존에 가지고 있는 키페어
AMI : Amazon Linux2 AMI (HVM) 프리티어
네트워크 : Test-VPC
서브넷 : Private-SB
퍼블릭 IP 자동 할당 : 서브넷 사용 설정(비활성화)
인스턴스 구성 -> 고급 세부 정보 -> 사용자 데이터
아래의 링크의 텍스트 복사 붙여넣기
https://github.com/caputdraconis050630/Networks/blob/master/private-subnet-user-data.txt
태그 : Key : Name, Value : Private-EC2
키페어 : 기존에 가지고 있는 키페어
putty를 사용해 Public-EC2의 Public IPv4 주소로 ssh 연결을 진행합니다.
user name은 ec2-user가 기본값입니다.
Private subnet은 외부로부터의 접근으로부터 독립되어 있기에 Public subnet을 통해 접속하여야 합니다.
위에서 Public EC2에 접속해 있는 상태에서 Private-EC2의 프라이빗 IPv4 주소를 이용해 ssh 연결을 실행합니다.
위에서 환경을 설정하면서 이 Private-EC2를 비밀번호 만으로 접속이 가능한 상태로 바꿔주었기 때문에
root / qwe123으로 로그인하면 됩니다.
nslookup 명령어를 사용해 EC2 API endpoint에 도달하기 위한 IP 주소를 확인합니다. 위의 캡처에서는 52.95.193.80입니다. 이 결과는 private subnet이 NAT Gateway를 통해 외부와의 통신을 했다는 것을 보여줍니다.
nslookup ec2.ap-northeast-2.amazonaws.com
이제 위의 환경에서 Interface Endpoint를 생성한 후 결과를 확인해보겠습니다.
Endpoint
서비스 이름 : com.amazonaws.ap-northeast-2.ec2(위의 환경에서 실습할 때 EC2 endpoint를 기준으로 했기에 여기서도 ec2 서비스로 설정했습니다.)
VPC : Test-VPC
Subnet : 가용 영역 2a - Private-SB
생성 시 아래와 같이 private DNS 확인 관련 오류가 발생한다면 Test-VPC의 설정에서 DNS 호스트 이름 편집에 들어가 DNS 호스트 이름을 활성해 주고 다시 엔드포인트를 생성하면 됩니다.
엔드포인트를 생성하는데 시간이 조금 걸립니다. 상태가 사용가능으로 바뀌면 Private-EC2의 콘솔창에서 아까 입력했던 아래의 명령어를 입력해줍니다.
nslookup ec2.ap-northeast-2.amazonaws.com
아까의 실행결과가 다르게 이번에는 EC2 API endpoint에 도달하기 위한 IP 주소가 공인 IP가 아닌 프라이빗 서브넷 내의 주소로 잡힙니다. 이 결과를 보면 EC2 API endpoint에 도달하기 위해서 NAT Gateway를 통해서 가지 않고, 생성된 엔드포인트를 통해서 도달함을 알 수 있습니다.
댓글
이 글 공유하기
다른 글
-
[Networks] AWS 로드 밸런싱 - ALB
[Networks] AWS 로드 밸런싱 - ALB
2022.01.20 -
[Networks] OSI 7 계층 정리
[Networks] OSI 7 계층 정리
2022.01.17 -
[AWS] VPC란? VPC 엔드포인트 설정
[AWS] VPC란? VPC 엔드포인트 설정
2022.01.11 -
[Networks] TCP timers
[Networks] TCP timers
2021.11.10