참고
AWS 네트워킹
VPC
서브넷
NOTE
Subnet 생성
•
VPC 선택
•
Subnet CIDR 설정
서브넷에서 CIDR범위 5개가 제외되어 있다.
•
IP주소 5개는 Subnet에서 미리 할당된 값이다.
인스턴스 인터넷 접속
Public IP 설정
NOTE
인스턴스 생성시, 퍼블릭 IP할당을 활성화 시킬 수 있다!
서브넷 설정에서도 설정할 수 있음!
•
위와같이 VPC와 PublicSubnet을 할당해도 아직 서버에 접속할수 없다.
•
VPC가 아직 인터넷게이트웨이와 연결되지 않았기 때문
인터넷 게이트웨이
NOTE
인터넷 게이트웨이 생성!
DempVPC와 DemoIGW를 연결시켜서 접속이 가능하게 해줌!
•
VPC와 IGW를 연결했어도 아직은 인스턴스에 접속할수 없다.
•
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와 연결
실습 과정