Search
Duplicate
📒

[AWS - SAA] 20-2. AWS Network - VPC, Public/Private Subnet 통신

상태
완료
수업
AWS - Solutions Architect
주제
AWS-Network
연관 노트
3 more properties
참고

AWS 네트워킹

VPC

NOTE
VPC 생성은 크게 어렵지 않다.
IPV4 주소범위의 CIDR만 지정해주면 된다.
CIDR 범위를 여러개 가질수도 있다.

서브넷

NOTE
Subnet 생성
VPC 선택
Subnet CIDR 설정
서브넷에서 CIDR범위 5개가 제외되어 있다.
IP주소 5개는 Subnet에서 미리 할당된 값이다.

인스턴스 인터넷 접속

Public IP 설정

NOTE
인스턴스 생성시, 퍼블릭 IP할당을 활성화 시킬 수 있다!
서브넷 설정에서도 설정할 수 있음!
위와같이 VPCPublicSubnet을 할당해도 아직 서버에 접속할수 없다.
VPC가 아직 인터넷게이트웨이와 연결되지 않았기 때문

인터넷 게이트웨이

NOTE
인터넷 게이트웨이 생성!
DempVPC와 DemoIGW를 연결시켜서 접속이 가능하게 해줌!
VPCIGW를 연결했어도 아직은 인스턴스에 접속할수 없다.
RouteTable설정도 해줘야함!

RoteTable

NOTE
RouteTable 생성!
이름과 VPC를 설정한다!
PublicRouteTable에는 PublicSubnet을 연결시킨다.
PrivateRouteTable에는 PrivateSubnet을 연결시킨다.
PublicRouteTable에서 라우팅 추가!
1번째 규칙인 local에 걸리지 않으면 다음 규칙으로 넘어간다.
모든 IP에 대해서 IGW로 통신하도록 함!
이제 정상적으로 인스턴스가 인터넷에 접속이 가능해진다!

Private Subnet 통신

베스쳔 호스트

NOTE
프라이빗 서브넷에 있는 EC2에 접근하려함.
프라이빗 서브넷에 인터넷 접근권한이 없으므로, 퍼블릭 서브넷에 private 서브넷과 통신하는 용도로 만들어준다.
SSH로 베스천 호스트 접속 → 베스천 호스트에서 private ssh로 접속
1대1이 아닌 1대다로도 가능.
보안그룹이 인터넷접근을 허용해야함
Bastion host(Public Instance)에 대해 보안그룹을 설정해준다!
프라이빗 서브넷을 사용하는 인스턴스 SG에서, Bastion host의 Sg접속을 허용
# 키페어 생성후 권한 변경 chmod 0400 DemoKeyPair.pem # ssh로 BastionHost에서 PrivateInstance 접속 ssh -i DemoKeyPair.pem ec2-user@10.0.20.78
Ruby
복사

Nat(Network Address Translation) Instance

NOTE
인스턴스 생성시 nat으로 검색하면 전용 이미지를 찾을 수 있다!
VPC는 DemoVPC, Subnet은 PublicSubnet
SG에서 HTTP와 HTTPS에 대해서 PrivateSubnet의 CIDR을 허용해준다.
사설 서브넷을 인터넷에 연결한다
src/dest 개념 설명 (src 자신, dest 목적지)
# BastionHost에서 Private ip로 접속 ssh ec2-user@10.0.20.78 -i DemoKeyPair.pem # 인터넷 연결 확인 => 현재는 실패 ping google.com
Ruby
복사
PrivateRouteTable에서 Nat Instance를 연결해주면 이제 PrivateInstance에서 외부통신이 가능해짐!
실습에서 잘 안되더라..
근데 어차피 NatGateWay방법이 더 좋으므로 생략하도록 한다.
AWS에서도 NAT Gateway사용을 더 권장함

Nat Gateway

NOTE
Nat 인스턴스보다 훨씬 높은 대역폭을 가지고 있다.
가용성이 높으며 관리할 필요가 없다.
특정 AZ에 생성되고 탄력적 IP를 이어받는다.
EC2인스턴스와 동일 서브넷에 둘수없으므로, 다른 서브넷인경우에만 도움됨
Private Subnet ⇒ NatGW ⇒ IGW
보안그룹 관리필요없음
NatGW를 Public 서브넷에 둔다.
PrivateSubnet을 NatGW와 연결
실습 과정