jh8579.log
로그인
jh8579.log
로그인
AWS VPC와 Subnet
지노
·
2021년 5월 18일
팔로우
0
학습 로그
0
Amazon VPC
Amazon VPC 개념
Amazon VPC는 Amazon EC2의 네트워킹 계층
Virtual Private Cloud(VPC) — 사용자의 AWS 계정 전용 가상 네트워크입니다.
서브넷 — VPC의 IP 주소 범위입니다.
라우팅 테이블 — 네트워크 트래픽을 전달할 위치를 결정하는 데 사용하는 라우팅이라는 이름의 규칙 집합입니다.
인터넷 게이트웨이 — VPC의 리소스와 인터넷 간의 통신을 활성화하기 위해 VPC에 연결하는 게이트웨이입니다.
VPC 엔드포인트 — 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결 없이도 PrivateLink로 구동하는 지원되는 AWS 서비스 및 VPC 엔드포인트 서비스에 비공개로 연결할 수 있게 합니다.
VPC의 인스턴스는 서비스의 리소스와 통신하는 데 퍼블릭 IP 주소를 필요로 하지 않습니다.
VPC와 기타 서비스 간의 트래픽은 Amazon 네트워크를 벗어나지 않습니다.
자세한 내용은 AWS PrivateLink 및 VPC 엔드포인트를 참조하십시오.
CIDR 블록
클래스 없는 도메인 간 라우팅입니다.
인터넷 프로토콜 주소 할당 및 라우팅 집계 방법입니다.
자세한 내용은 Wikipedia의 Classless Inter-Domain Routing을 참조하십시오.
??? 일단 하나하나 만들어보자
1. VPC 생성
CIDR 블록 지정
VPC에 대한 CIDR 블록, 즉 네트워크 범위에 대한 지정을 할 수 있다.
CIDR 블록 크기는 /16 ~ /28 넷마스크 범위 내에서 가능
CIDR이란?
https://kim-dragon.tistory.com/9
이 블로그에 내용 정리가 너무 잘되어있음
CIDR = Classless Inter-Domain Routing
클래스 없이 네트워크 구분을 하겠다!
CIDR 이전에는 네트워크 구분을 위와 같이 Class를 기준으로 나누었다.
하지만 Class를 사용하여 서비스에 딱 맞게! 네트워크를 나눌 수 없었다.
CIDR을 사용해서 나에게 딱 맞는 네트워크 구분을 할 수 있다!
어떻게 나누지?
CIDR 표기에 가장 마지막 부분을 보면 "/숫자"를 사용한 것을 볼 수 있다.
이게 바로 CIDR 표기법!
IP
IP를 옥텟이라는 단위로 나눌 수 있다.
하나의 옥텟은 8bit
우리가 자주 사용하는 IPv4 주소는 4개의 옥텟으로 이루어져 있다.
만약 CIDR이 "/24"라면 앞에서부터 24비트 이후에 오는 파란색 부분을 전부 사용할 수 있다라는 표현
하나의 옥텟은 8비트로 2의8승 인 256개 이기 때문에
CIDR이
143.7.65.203/24
라면 143.7.65.0 ~ 143.7.65.255 까지 사용이 가능한 것
CIDR이 옥텟 기준(8의 배수)가 아닌 "/22"로 걸쳐 있는 경우에는? -> 위 블로그 참조
어쨌든 CIDR을 사용하면 네트워크 범위를 편하게 정할 수 있다!
AWS에서 예시로 제공하는 10.0.0.0/16 CIDR을 사용하면
10.0.0.0 ~ 10.0.255.255의 네트워크 범위를 지정한 것
VPC 생성 완료!
2. 서브넷 생성
VPC 지정
서브넷은 VPC 내부에 존재하는 네트워크 구분을 위함
서브넷이 위치할 VPC를 지정
가용 영역(AZ) 지정
서브넷의 가용 영역(AZ)를 지정할 수 있다.
AZ끼리는 물리적인 위치(서로 다른 데이터센터)가 다름
여러 AZ로 구성했을 때 하나의 데이터센터에 문제가 생기더라도 서비스 중단을 피할 수 있음
서브넷 CIDR 지정
서브넷은 VPC에 포함되기 때문에 CIDR도 VPC에서 벗어나는 네트워크 범위를 지정할 수 없다.
포함되는 CIDR로 변경
서브넷 생성 완료!
서브넷 추가 생성
방금 생성한 서브넷과 중첩되는 네트워크를 지정할 수 없음
범위 수정
기존에 CIDR이 10.0.0.0/24이었고 해당 범위가 (10.0.0.0 ~ 10.0.0.255)
VPC에 속하면서 기존 서브넷 범위와 중첩이 되지 않는 10.0.1.0/24로 지정
서브넷 추가 완료!
인터넷 게이트웨이(IGW)
VPC의 인스턴스와 인터넷 간에 통신할 수 있게 해줍니다.
인터넷 게이트웨이에는 인터넷 라우팅 가능 트래픽에 대한 VPC 라우팅 테이블에 대상을 제공
퍼블릭 IPv4 주소가 할당된 인스턴스에 대해 NAT(네트워크 주소 변환)를 수행하는 두 가지 목적
IGW에 대한 라우팅 추가
새로운 라우팅 테이블 생성
라우팅 편집
라우팅 테이블 확인
public subnet에 라우트 테이블 추가
public subnet에 인스턴스 생성
public ip 생성
인스턴스에 public ip 적용
접속 확인
private subnet
private subnet은 인터넷 연결을 허용하지 않게 하고 싶음
* DB Server와 같은 Server에 외부에서 쉽게 접근하지 못하게 하기 위함
그렇게 되면 private subnet 내부 인스턴스에는 원격으로 접속 불가능!
그래서 Bastion Server가 필요! 아하
Bastion 이외에도 비슷한 역할을 하는 NAT나 AWS SSM을 사용하여 접속 가능!
참조
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html
https://kim-dragon.tistory.com/9
https://tech.cloud.nongshim.co.kr/2018/10/16/4-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0vpc-subnet-route-table-internet-gateway/
지노
Spring Framework를 이용한 웹 개발과 AWS 서비스, Container를 사용한 CI/CD 인프라에 관심이 있습니다.
팔로우
이전 포스트
nginx docker
다음 포스트
Spring Request 처리 과정
1개의 댓글
댓글 작성
Hyun
2024년 9월 9일
도움 많이 되었습니다. 추석 잘 보내세요!
답글 달기
도움 많이 되었습니다. 추석 잘 보내세요!