323. NAT 인스턴스
NAT Instance
- NAT= Network Address Translation
- 사설 서브넷의 EC2 인스턴스가 인터넷에 연결되게 한다. ( 배스천 서버랑 비슷한 듯 다르다.)
- 공용 서브넷에 NAT 을 설치해야한다.
- EC2 설정에서 : Source / destination Check 옵션을 비활성화 해야한다.
- EIP 가 부착되어야한다.
- 라우팅 테이블에 사설 서브넷이 NAT 인스턴스로 연결되도록 구성해야한다.
사설 서브넷의 ec2가 외부의 server 와 통신할려면 .공용 서브넷의 NAT 인스턴스에 연결하고 여기서 라우팅을 변경한다.
server 입장에서 패킷을 받았을때 10.0.0.20 소스가 아니라 12.34.56.78 소스이다.
이런 식으로 구성해 볼 것이다.
Comment
사실 NAT 인스턴스는 이제 NatGateway로 구현할 수 있다.
가용성도 낮고 대역폭도 작다.
그래도 실습해보자!
324. NAT 인스턴스 실습
인스턴스 설치
아마존에서 지원 하지 않기 때문에 커뮤니티 이미지를 설치해야한다.
x86_64
네트워크 설정
지난 시간에 만든 PrivateInstance가 NAT 인스턴스로 접속하게 한다.
중지로 저장
BastionHost 에서 privateInstance 접속하기
ssh 명령어로 로그인
핑을 쏴도 보내지지 않는다. ?
프라이빗 서브넷에 접속은 가능하지만 인터넷에 연결이 되어있지는 않다.
프라이빗 라우팅 테이블 수정하기
0.0.0.0/0 외부 ip 로 갈려면 nat 인스턴스를 통해 가야하도록 정했다.
하지만 여전히 인터넷 접속 불가능하다.
Nat 인스턴스의 보안그룹 편집
모든 ICMP - IPv4 허용
이제 핑이 된다.
Nat 인스턴스 삭제하기
324. NAT Gateway
NAT Gateway
- AWS 에서 제공하는 NAT, 높은 광대역, 가용성 , 완전관리형
- 사용한 만큼 비용청구
- 특별한 가용존에 사용되고 EIP를 사용한다.
- ec2 와 같은 서브넷에서 사용될 수 없다.
- IGW 가 필요하다 private subnet -> NATGW -> IGW
- 5~45Gbps 광대역
- 보안그룹 관리할 필요 없음.
NAT GW 를 통해서 인터넷에 연결한다.
NAT GW 의 고가용성
NAT GW은 az에 국한된다.
여러개의 NAT GW를 구성해서 내결함성을 가질 수 있다.
AZ를 가로질러 갈 수 없다.
NAT GW 와 NAT instance 와 비교
결론은 NAT GW 가 좋다.
보안그룹 x , 배스천 호스트 쓸 필요도 없다.
326. NAT Gateway 실습
Nat Instance 삭제
위에서 Nat instance를 삭제하고 나면
privateRouteTable에서 라우팅 에러가 뜬다 .
0.0.0.0/0 의 대상은 nat instance 였기 때문
NAT Gateway 생성
EIP 를 할당해서 생성해보자!
라우팅 테이블 편집
privateRoubeTable 에서 0.0.0.0/0 은 NatGW 로 가게 한다.
privateinstance 가 인터넷에 연결 가능해졌다
327. NACL 및 보안그룹
NACL 은 stateless 라서 들어오고 나가는거 다 확인하지만
SG는 stateful 이라서 한번이라도 확인하면 그후에는 검사안하고 허용해준다.
- NACL 은 서브넷 단의 방화벽 역할
- 한 서브넷당 하나의 NACL 을 가지고 처음에는 기본 NACL 을 가진다.
- NACL 규칙
- 1~32766 의 번호를 가지고 낮은 숫자일 수록 우선 순위가 높다.
- 100 단위로 하는 것을 권장
- 초기에 NACL 은 모든 접속을 거부할 것이다.
- NACL은 특정 IP 주소의 접근을 차단하는 훌륭한 방법이다.
기본 NACL
기본 NACL 은 모든 인/아웃바운드를 허용한다.
임시 포트
- 클라이언트가 연결할려면 포트를 지정해야한다. 하지만 응답 받을때 특정한 포트로 받을 수 있다.
- OS 에 따라 포트 범위가 다르다.
접속할때 443 포트를 지정했지만 응답시 50105 임의의 포트로 응답받게 했다.
NACL 과 임시포트
웹서버에서 db로 접속할때 3306 을 명시한다.
응답 받을 때는 임시 포트로 응답받기 때문에 다른 범위의 포트로 받게 되면 못 받기 때문에 조심해야한다.
각각의 연결 조합을 고려해야한다.
Security Group vs. NACLs
sg 는 인스턴스 NACL 은 서브넷 단
sg는 허용 규칙 NACL 은 허용, 거부 규칙 가능 -> 특정 ip 거부 가능
328. NACL 및 보안 그룹 실습
인바운드 규칙에 모두 허용이다. 100 숫자가 낮기 때문에
HTTPD 서버 설치
배스천 호스트로 이동
sudo yum install -y httpd
sudo systemctl enable httpd
sudo systemctl start httpd
sudo su
echo "hello world" > /var/www/html/index.html
bastion 호스트의 sg 인바운드 규칙 편집
배스천 호스트에 접속할 수 있다.
NACL 수정해보기
80 번으로 http 접속을 거부하는 규칙을 추가해보자
-> 무한로딩에 걸린다 .
80을 140 으로 하면 100이 우선시 되서 접속이 잘된다.
329. VPC 피어링
VPC Peering
서로다른 aws 네트워크를 연결하는 기술
같은 네트워크에 있는 것처럼한다.
CIDR를 중복시키지 말것
전이 되지 않는다. ( a와 b 연결, b와 c 연결 했다고해서 a~c 연결되는 것은 아니다. )
Good to know
다른 계정, 다른 리전의 VPC 와 연결할 수 있다.
보안 그룹도 공유할 수 있다.
VPC 피어링을 해보자!
330. VPC 피어링 실습
DdfaultVPC 와 DemoVPC 를 연결해보자!
Default Instance 만들기
DefaultVPC 로 지정한다 .
해당 인스턴스로 접속
bastion 호스트에도 접속
지난 시간에 만들었던거
여기서도 똑같이 뜨게 만들자.
피어링 연결 생성
요청 수락 작업을 한다.
라우팅 테이블 수정하기
Default 라우팅 테이블이랑 PublicRouteTable을 연결할 것이다.
DefaultVPC 의 CIDR 172.31.0.0/16 으로 들어오는건 피어링 연결로 다 접속 시킨다.
이번엔 DefaultRouteTable 수정
DemoVPC의 CIDR 10.0.0.0/16 으로는 피어링 연결로 보낸다.
연결되었다.
결론
vpc 피어링하고 서로 연결하게 할려면 routetable 두개다 수정해야한다.
'aws' 카테고리의 다른 글
잡코리아의_영업_관리_시스템과_조직_문화_모더나이제이션_여정 AWS INNOVATE 20240926 (0) | 2024.12.02 |
---|---|
AWS AWSOME DAY 온라인 컨퍼런스 20240711 (0) | 2024.12.02 |
AWS Certified Solutions Architect Associate 강의 Udemy | Section 28: 네트워킹- VPC(1) (0) | 2023.02.14 |
Amazon Certified Solutions Architect - Associate 자격증 합격 후기!! (0) | 2023.01.31 |
AWS Certified Solutions Architect Associate 강의 Udemy | Section 17: AWS 스토리지 추가 기능 (0) | 2023.01.18 |