🖤 UMC 서버 2주차 스터디 - AWS (VPC & Internet Gateway & EC2) 🖤
0. 사전 지식
1 ) IP (Internet Protocol)
https://sosoeunii.tistory.com/99
🖤 IP (Internet Protocol) 🖤
IP ( Internet Protocol ) : 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 부여하는 고유 주소 IP는 IPv4와 IPv6가 있는데 현재 전세계적으로 사용하고 있는 것은 IPv4다. IPv4는 123.89.46.72 처럼 10
sosoeunii.tistory.com
2 ) 서브넷팅
https://sosoeunii.tistory.com/100
🖤 서브넷팅, 서브넷, 서브 마스크 🖤
IP ( Internet Protocol ) https://sosoeunii.tistory.com/99 🖤 IP (Internet Protocol) 🖤 IP ( Internet Protocol ) : 인터넷에 연결되어 있는 모든 장치들을 식별할 수 있도록 부여하는 고유 주소 IP는 IPv4와 IPv6가 있는데
sosoeunii.tistory.com
3 ) 라우팅 ( Routing )
라우팅 : 네트워크에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 프로세스
라우팅을 위해 필요한 것
- 출발지와 목적지의 네트워크 정보
- 목적지로 가는 모든 경로
- 최적 경로
- 지속적인 네트워크 상태 확인
라우팅을 수행하는 장치를 라우터라고 하며 라우터에는 라우팅 테이블이 포함되어 있다.
라우팅 테이블(Routing Table)은 목적지로 가기 위한 최적 경로를 저장하는 곳을 의미한다.
라우팅의 유형
Static : 관리자가 직접 라우팅 정보를 입력하는 방법
Dynamic : 라우팅 정보를 인접한 다른 라우터들과 자동으로 교환하여 작성하는 방법
1. AWS (VPC & Internet Gateway & EC2)
1 ) AWS
AWS(Amazon Web Service) : Amazon에서 제공하는 클라우드 컴퓨팅 플랫폼을 구성하는 원격 컴퓨팅 서비스 모음
AWS의 리전과 가용영역
AWS에서 수많은 컴퓨팅 서비스들을 제공하기 위해서는 서버 컴퓨터를 모아두는 곳이 필요하다.
이때 이 서버 컴퓨터들을 한곳에 모아두는 것은 위험성도 높고 지역마다 서비스의 질이 다를 것이다.
그렇기 때문에 서버 컴퓨터들을 여러 곳에 분산해서 배치해두는데 이를 리전이라고 한다.
리전을 한번 더 분산해서 배치한 것을 가용영역이라고 부른다.
2 ) VPC
VPC (Virtual Private Cloud) : 퍼블릭 클라우드 내에서 호스팅되는 안전하고 격리된 프라이빗 클라우드
VPC와 IP대역
VPC는 가상 네트워크의 영역이기 때문에 사설 IP 주소를 갖는다.
하나의 VPC에는 네트워크 대역 혹은 서브넷 대역이 할당 가능하다.
VPC의 실제 사용
VPC는 VPC 자체에서도 서브넷을 나눠서 사용하게 된다.
단, VPC를 나눈 서브넷을 다시 나누는 것은 불가능하다.
VPC 서브넷 IP 대역에서는 5개의 IP 주소를 호스트에 할당할 수 없는데
아래 5개에게 IP 주소를 할당해줘야 하기 때문이다.
1. 서브넷의 Network Address
2. VPC 내 라우터
3. Amazon이 제공하는 DNS
4. 미래를 위해 예약
5. Broadcast Address
VPC의 통신
VPC는 어떤 식으로 통신할까?
VPC 내부 서브넷끼리의 통신과 외부 네트워크와의 통신에 대해 알아보겠다.
내부 통신
VPC의 내부 서브넷끼리의 통신은 VPC 내부에 할당되어 있는 라우터를 통해 가능하다.
외부 통신
앞서 말했듯이 VPC는 기본적으로 사설 IP 주소를 갖고 있기 때문에 직접적인 인터넷 통신이 불가능하다.
이 때문에 나타난 개념이 바로 Public Subnet이다.
VPC(사설 IP 사용)의 서브넷은 기본적으로 아무런 조치를 취하지 않으면 외부와 연결될 수 없다.
이처럼 외부와 통신할 수 없는 서브넷을 Private Subnet이라고 한다.
하지만 이러한 서브넷에 Internet Gateway를 연결해서 Internet Gateway를 거쳐
외부와 통신하도록 설정해주면 인터넷 통신이 가능하도록 해주는 Public Subnet이 되는 것이다.
즉, 서브넷을 Public Subnet으로 만들고 싶다면 Internet Gateway를 통해 밖으로 나가도록 라우팅 테이블 설정을 해주면 되는 것이다.
이와 같이 라우팅을 해줘야 하는데
Destination은 목적지를 의미하고 Target은 목적지로 가기 위해 거쳐야 하는 길을 의미한다.
Destination : 0.0.0.0 / 0 (모든 IP 주소 의미 = 외부의 모든 IP = 외부로 나갈 때)
Target : igw(internet gateway 의미)
위와 같이 설정해주면 Public Subnet 생성이 완료된 것이다.
그렇다면 Private Subnet을 사용하는 이유는 무엇일까?
우선 Private Subnet이 할당받는 사설 IP의 의의를 살펴보면
1. IP 주소 고갈 문제 해결
2. 높은 보안성
이라고 할 수 있다.
1번은 블로그의 IP(Internet Protocol) 게시물에 상세히 설명해놓았으므로 넘어가겠다.
사설 IP를 사용하는 장치들은 데이터를 전달받을 때 무조건 공유기를 거치게 되어있다.
이때 공유기에서 위험하다고 판단되는 데이터를 걸러준다면 높은 보안성을 유지할 수 있는 것이다.
따라서 Private Subnet은 철저한 보안이 필요한 정보의 데이터 베이스를 보호할 때 유용하다고 할 수 있다.
이때 Private Subnet은 외부 통신이 불가능하기 때문에 데이터 베이스를 적절한 위치에 배치해줘야 하는데
데이터 베이스를 사용하는 컴퓨팅 자원을 같은 VPC에 배치하면 된다.
VPC는 내부 라우터 덕에 VPC 내 Private Subnet간의 내부 통신은 원활하기 때문이다.
그렇다면 외부에서 원격으로 데이터베이스를 조종하고 싶은 경우는 어떻게 해야 할까?
바로 Private Subnet의 Bastion host를 이용하면 된다.
위와 같이 Private Subnet( 데이터 베이스가 속해 있는 )과 같은 VPC에 존재하는 Public Subnet(Bastion host)의 도움을 받는 것이다.
2. 실습