AWS 활용에 관한 기초개념
VPC란?
네트워크는 옛날에는 랜선을 꽂아 인터넷이 가능했고 이것을 네트워크라 부른다.
VPC는 랜선을 꽂는등 물리적인 망이 아닌 논리적으로 분리한 가상의 네트워크이다
AWS 환경에서 네트워크를 구분할때 사용하는 가장 최소한의 단위를 말한다.
- VPC(virtual Private Cloud) 는 논리적으로 분리한 네트워크로 AWS 환경내의 네트워크 최소단위.
- 사용자의 AWS 계정 전용 가상 네트워크, 하나의 리전에 대해 계정 당 하나의 VPC를 받는다.
- 아마존 EC2와 같은 AWS리소스를 VPC 에서 실행할 수 있다.
- VPC에서 실행된 AWS 리소스는 다른 리소스 혹은 인터넷에 연결될 수 있다.
subnet 이란?
![](https://velog.velcdn.com/images/glory_95/post/95c46fa0-f080-46b7-a14d-02a71caf6fac/image.png)
-
서브넷은 VPC의 분할된 IP주소 범위이다. VPC CIDR블럭을 서브넷으로 지정한다. 지정된 서브넷으로 AWS 리소스를 실행할 수 있다.
-
각 서브넷은 단일 가용 영역 내에서만 존재해야 하며, 여러 영역으로 확장할 수 없다.
유저 A의 VPC의 가용영역 A의 서브넷1만 존재할 수 있다. 서브넷1과 서브넷4를 함께 가지는것은 불가능하다.
-
별도의 가용영역에서 인스턴스를 시작함으로써, 단일 영역에서 장애가 발생할 경우 애플리케이션을 보호할 수 있다.
유저 A의 VPC의 거용영역의 서브넷1이 장애가 발생하여 서버가 죽는 상황이 오면, 설정을 통해 가용영역 B의 서브넷2가 실행이 될 수 있다.
CIDR이란?
- 클래스없는 도메인간 라우팅 기법
- CIDR을 이용하여 network 파트와 host파트를 구분할 수 있으며, 특정 host가 어떤 network에 포함되는지 빠르게 확인 가능하다.
- IPv4는 8비트가 4번 등장하는 구조로 되어 있으며, 이런 IPv4뒤에 /24와 같이 / 를 이용하여 CIDR를 표현할 수 있다. 즉, /24의 경우 앞의 24 비트를 network 파트로 이용하고 뒤 8비트를 host파트로 이용하는 것을 의미한다.
- 192.168.1.1/24의 경우 앞의 24비트에 해당하는 192.168.1 가 network파트에 해당된다.
192.168.1.0 ~ 192.168.1.255 가 동일한 network 파트에 속한다.
![](https://velog.velcdn.com/images/glory_95/post/ae8af331-d53b-4fae-bafd-9773faf421ed/image.png)
해당이미지를 보면 CIDR을 보면 /16 이다.
이말은 즉 172.31.0.0/16 중이 한자리에 8비트 즉 .를 기준으로 2자리인 172.31 까지가 network파트 이며, 172.31 뒤에 0~255까지는 같은 네트워크를 사용한다고 보면 된다.
AWS에서 subnet마다 예약된 IP주소
- subnet의 몇몇 IP는 특정용도를 위해 subnet 생성과 함께 예약된다.
- 예를들어 10.0.0.0/24 대역으로 CIDR블럭을 생성한다면, 아래ip는 사용자의 AWS리소스의 ip로 사용할 수 없다.
10.0.0.0 : Network address
10.0.0.1 : VPC router 에서 사용됨
10.0.0.2 : DNS 서버로 사용됨
10.0.0.3 : 미래에 AWS에서 필요한 경우 사용하기 위해 남겨둠
10.0.0.255 : Network broadcast 주소
Internet Gateway
- Internet Gateway는 VPC와 인터넷을 연결해주는 하나의 관문
- VPC와 Internet 간의 통신을 가능하게 해준다.
subnet의 라우팅 테이블에 172.31.0.0/16 에 매칭되지 않은 ip의 경우 0.0.0.0/0에 해당되는 Internet Gateway로 라우팅 된다.
![](https://velog.velcdn.com/images/glory_95/post/4f3f681a-d931-42e5-8c61-cd4385876a07/image.png)
NAT Gateway
- NAT Gateway는 프라이빗 서브넷이 인터넷과 통신하기 위한 아웃바운드 인스턴스이다.
- 프라이빗 네트워크가 외부에서 요청되는 인바운드는 필요없더라도, 아웃바운드 트래픽만 허용되어야 하는 경우 사용된다.
- NAT Gateway는 프라이빗 서브넷에서 외부로 요청하는 트래픽을 받아 Internet Gateway와 연결한다.
풀어서 말하자면, 외부에서의 트래픽 및 데이터를 받아와야 할 때 사용되는 GateWay이다.
![](https://velog.velcdn.com/images/glory_95/post/0765284e-bbac-47b8-8c09-1b292da2e9f9/image.png)
Security Group & Network ACL
ACL 과 Security Group(보안그룹)은 방화벽과 같은 역할을 하며, 트래픽에 대한 보안정책을 설정할 수 있다.
보안그룹
- 인스턴스 기준으로 적용
- 룰에 대한 허용 규칙만 적용
- 아웃바운드 요청에 대한 응답 자동 허용
ACL
- 서브넷 기준 적용
- 룰에 대한 허용 및 거부 규칙 적용
- 아웃바운드 요청에 대한 응답 규칙 적용필요
![](https://velog.velcdn.com/images/glory_95/post/31a4ece6-dc1b-4df1-8082-ad62e3e461a4/image.png)
해당 본문에 대해 쉽고 잘 설명해준 블로그 참고
출처 : https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098