모든 내용은 Cousera의 'AWS Cloud Technical Essentials' 강좌 내용을 기반으로 정리하였습니다.
네트워크는 여러 컴퓨터들을 연결하고 서로 통신할 수 있도록 만들어주는 방법입니다. AWS에서는 Datan Center, Availability Zones, Region과 리소스 네트워크를 생성합니다.
네트워크의 기본 사항을 이해하기 위해 편지를 수신하거나 송신하는 과정을 예로 들어 설멍하겠습니다. 편지를 보낼 때는 편지, 보낸 사람과 받는 사람의 이름과 주소, 거리, 사는 도시,국가,우편번호 등 등이 필요합니다. 이러한 정보가 하나라도 빠지만 받는 사람에게 편지가 제대로 갈 수 없습니다. 네트워크 또한 이와 유사한 방식으로 컴퓨터에게 메세지 전달을 처리하는데 이를 라우팅이라 합니다.
메세지를 특정 위치로 올바르게 라우팅하기 위해서는 주소가 필요합니다. 컴퓨터는 우편 번호, 거리, 도시, 도, 국가의 조합을 이용하는 데신에 비트의 조합 즉 0,1의 조합을 사용합니다.
바이너리 형식으로는 IP주소를 나타낼수 없기 때문에, 10진수 형식으로 변환하여 IPv4 주소로 표시합니다. 32비트를 8비트 그룹으로 그룹화하여, 마침표로 구분합니다.
192.169.1.211는 단일 IP 주소 입니다. 만약 192.168.1.0 에서 192.168.1.255 사이의 IP주소를 표현하고 싶다면 CIDR을 이용하여 표시하면 됩니다. CIDR 표시법은 위와 같이 IP주소 뒤에 /
가 붙습니다. 그리고 그 뒤의 숫자가 나오는데요. 이 숫자의 의미는 고정된 bit
의 수입니다. 24
의 의미는 32비트 주소 중, 앞에서부터 24개의 비트가 고정되어 있다는 의미이고, 나머지 부분은 유동적으로 바꿀 수 있다는 것을 의미합니다.
VPC는 AWS 클라우드에서 만든 네트워크로, 기존의 네트워크와 유사한 방식으로 작동합니다. VPC 생성할 때는 크게 VPC의 이름, Region, 가용 영역, VPC의 IP범위를 선택하고, 이 정보를 사용하여 임의의 네트워크나 IP주소를 해당 네트워크에 프로비저닝 합니다.
VPC를 생성한 후에는 이 네트워크 내부에 서브넷을 생성해야 합니다. 서브넷이란 기본 네트워크 내부의 소규모 네트워크 또는 기존 on-premise 네트워크의 VLAN으로 생각하면 됩니다. 서브넷을 생성할 때는 상주할 VPC, 가용영역, CIDR 블록 등을 설정해야 합니다. EC2 인스턴스를 시작할 때, 선택할 가용 영역 내에 위치할 서브넷 내에서 시작합니다.
서브넷을 생성할 때는 중복성과 내결함성을 고려하여 서브넷을 2개 이상 만들어 백업할 리소스를 확보하는 것이 중요합니다.
AWS가 VPC를 적절하게 구성할 수 있도록 각 서브넷에 IP주소를 예약합니다. 이러한 IP 주소는 라우팅, DNS 및 네트워크 관리에 사용됩니다.
VPC에 인터넷 연결을 활성화하기 위해서는, Internet Gateway를 만들어야 합니다. 게이트웨이는 모뎀과 비슷한데요. 모뎀이 컴퓨터와 인터넷을 연결하는 것처럼 인터넷 게이트웨이는 VPC를 인터넷에 연결합니다. 모뎀은 다운되거나 오프라인 상태가 되지만 게이트웨이는 가용성과 확장성이 뛰어나다는 장점이 있습니다.
Virtual Private Gateway를 사용하면 VPC를 다른 Private Nework에 연결할 수 있습니다. Virtual Private Gateway를 사용하여 VPC에 연결하면, 게이트웨이가 연결하려는 AWS측에서 앵커 역할을 합니다. 연결 반대편에서 고객 게이트웨이를 다른 사설 네트워크에 연결해야 합니다. 고객 게이트웨이 장치는 연결 측의 물리적 장치 또는 소프트웨어 응용 프로그램입니다. 두 게이트웨이가 모두 있으면 양측 간에 암호화된 VPN을 설정할 수 있습니다.
VPC를 생성할 때, Main Routing Table을 생성합니다. Main Routing Table은 너트워크 트래픽이 전달되는 위치를 결정하는데 사용되는 규칙집합이 포함되어 있습니다. AWS는 서브넷이 있는 새 VPC를 생성할 때 서브넷 간에 트래픽이 흐른다는 것을 가정합니다. 그렇기 때문에 Main Route Table은 로컬 네트워크 내의 모든 서브넷 간의 트래픽을 허용합니다. Main Routing Table에는 두 가지 주요 부분이 있습니다. 첫 번째는 트래픽을 보낼 IP주소 범위인 Destination입니다. 편지를 보낼 때의 목적지 처럼 라우팅 트래픽을 보낼 때에도 VPC 네트워크의 IP 범위를 알아야 합니다. 두번째는 Target입니다. Target의 경우, 트래픽은 로컬 VPC를 통해 라우팅 됩니다. 즉, The Main Routing Table은 VPC에 대한 라우팅을 제어하는 역할을 합니다.
특정 서브넷에 대한 트래픽 라우팅 방법을 세부적으로 알고 싶은 경우가 있습니다. 예를 들어, 애플리케이션은 Front-end와 Database로 구성되는데 이러한 리소스에 대해 별도의 서브넷을 만들고 각각에 대해 다른 경로를 제공할 수 있습니다.
사용자 지정 라우팅 테이블을 서브넷과 연결하면, 서브넷은 기본 라우팅 테이블 대신 서브넷을 사용합니다. 기본적으로 생성한 각 사용자 지정 라우팅 테이블에는 이미 내부 경로가 있으므로 VPC 내부의 모든 리소스와 서브넷 간에 통신이 흐를 수 있게 됩니다.
네트워크 프로비저닝(Network Provisioning) : 사용자, 서버, 컨테이너, IoT 기기가 액세스할 네트워크를 설정하는 것
VPN : Public Network를 통해 한 회사나 몇몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 Private Networking이다.