클라우드

AWS 초심자를 위한 VPC 네트워크 수동 구성하기(VPC ~ IGW)

jeff_kim 2024. 9. 30. 17:35

오랜만에 블로그 글을 씁니다~~

이전에 클라우드 교육을 받은 적이 있는데요. 이전에 배운것을 까먹으면 안되기 때문에 다시 차근차근 블로그에 작성하며 이전 기억을 되살려 보려고 합니다. 

 

오늘은 AWS를 처음 이용하는 초심자에게 적합하게 쉽게 설명하며 수동으로 VPC 구성을 해보려합니다. 요즘은 VPC 구성을 자동으로 해주긴하지만 "그래도"!! 수동으로 구성하는 것이 기본이기 때문에 빠질 수 없겠죠?

기초부터 천천히 한 번 시작해보겠습니다

 

 

1. 리전 (Region)

클라우드를 사용하는데 리전이라는 말을 많이 사용하는데요. AWS가 전 세계에 가지고 있는 데이터 센터의 물리적 위치를 리전이라고 합니다.

콘솔에서도 확인할 수 있는데요. 이것들이 리전을 나타내죠 서울도 있고 가까운 오사카에도 리전이 있는 것으로 보입니다.

 

 

2. 가용영역(AZ)

각 리전에는 가용영역이라고 하는 격리된 위치의 여러 개의 데이터센터를 가지고 있습니다. 가용성(서버가 지속적으로 유지하는 것을 보장하는 것)이 보장되기 위해서 데이터센터가 하나만 있으면 안되겠죠?? 보조로 두 세개는 있어야 한다는 것입니다.

쉽게 설명하자면 안경을 하나만 사용하는데 안경이 부서지면 예비 안경이 있어야 합니다. 안경을 착용하는 사람은 공감하겠지만 1개만 가지고 있지는 않죠?? 이렇게 생각하면 쉽습니다!

그래서 나중에 직접 실습해볼때 보겠지만 서울에는 4개의 가용영역이 있습니다. 각각 다른 지역의 데이터센터에서 자원을 사용하는 것이죠.

 

 

3. VPC(Virtual Private Cloud)

AWS를 사용할 줄 안다면 필수적으로 알아야하는 개념인데요.

VPC는 클라우드 환경에서 퍼블릭과 프라이빗으로 논리적으로 독립된 네트워크 영역을 의미합니다. VPC 안에는 서브넷, 라우팅테이블, 인터넷 게이트웨이, NAT 게이트웨이, 보안 그룹 등등 다양한 구성요소로 이루어져있습니다.

 

좀 쉽게 하려면 네트워크에 대한 부분이 깊게는 아니더라도 좀 알고 있어야 이해가 쉽게 될 것 같습니다.

실습을 위주로 설명을 계속 진행하겠습니다.

!실습!

1. VPC 생성을 눌러줍니다!

 

2. "VPC 만" 을 선택하고 아래와 같이 설정해줍니다.

여기서 "VPC 등"을 선택하면 자동으로 서브넷과 라우팅 테이블을 다 구성해줍니다. 저희는 수동으로 할 것 이기 때문에 "VPC 만"으로 설정해줍니다.

 

IPv4 CIDR은 사용할 사설 IP 대역대를 설정해주는 것인데요. 10.0.0.0/16 으로 설정하여 10.0.0.1 ~ 10.0.255.255 총 65534 개를 사용할 수 있도록 해줍니다.

잘 생성된 모습입니다. 이제 바로 서브넷으로 가봅시다.

 

그리고 수동으로 구성할 땐 이 순서를 잘 기억해 주셔야합니다!

 

 

4. 서브넷(Subnet)

서브넷은 서브네트워크를 줄임말입니다. IP 네트워크의 논리적인 영역을 부분적으로 나눈 하위 망을 말하는 것이죠.

10.0.0.0/16은 65534개를 사용할 수 있다고 했습니다. 여기서 서버는 10대만 있으면 되는데 10.0.0.0/16을 하면 IP가 낭비되겠죠?? 그것을 방지하기 위해서 각 서브넷으로 논리적으로 IP를 나눠주는 것입니다.

 

예시, 10.0.0.0/16 은 10.0.0.0 ~ 10.0.0.1 ~ 10.0.255.255 입니다. 

A subnet (10.0.0.0/24) => 10.0.0.0 ~ 10.0.0.255 까지  사용 가능합니다.

B subnet (10.0.10.0/24) => 10.0.10.0 ~ 10.0.0.255 까지 사용 가능합니다.

 

VPC에서 할당한 IP 대역대를 벗어나지 않고 서브넷으로 논리적으로 한번 더 나눠 주는 것이죠. VPC CIDR를 벗어나지 않는다면 서브넷을 몇개로 나눠도, 몇 개를 생성해도 상관없습니다. 다만 관리적인 측면에서도 생각을 해야하죠.

 

그래서 서브넷은 인터넷에 노출되어 있는 퍼블릭 서브넷과 인터넷에 노출되어 있지 않고 숨겨져있는 프라이빗 서브넷으로 나눠집니다.  여기서도 중요한 것이 있는데, 진행하면서 계속 설명을 해드리겠습니다~!!

 

 

!실습!

1. "서브넷 생성"을 눌러줍니다.

 

2. 이전에 생성한 VPC를 선택해줍니다.

 

이제 서브넷을 생성할 건데요 저는 그냥 간단히 2개만 생성해 보겠습니다.

 

쉽게 작업을 하기 위해서는 네이밍 작업도 중요합니다.

첫 번째 서브넷은 public 서브넷으로 설정을 하기 위해서 pub라는 네이밍을 해줍니다. SB는 subnet입니다.

가용영역은 ap-northeast-2a로 설정해줍니다. 지정해주지 않으면 랜덤으로 배치되니 꼭 확인해주셔야합니다!

 

그리고 아까 가용역역에 대해서 설명했었죠? 서브넷을 생성할 때 가용영역에 대한 항목이 있습니다.

2a,2b,2c,2d 즉, 서울 리전에는 4개의 가용영역이 있다. 이렇게 설명이 가능하고, 고가용성 보장을 위해서는 서브넷을 서로 다른 가용영역에 배치를 해야합니다.

 

두 번째 서브넷 입니다. CIDR는 10.0.10.0/24로 설정해줍니다. 가용영역은 ap-northeast-2c 입니다.

이후 서브넷을 생성해줍니다.

 

잘 생성되었습니다.

 

 

4. 인터넷 게이트웨이(Internet GateWay)

인터넷 게이트웨이는 VPC와 인터넷간의 논리적인 연결입니다. 1개의 VPC당 1개의 IGW만 연결이 가능하며 IGW가 연결이 되어 있지않다면 그 서브넷은 폐쇠망 즉, 인터넷이 되지 않습니다.

인터넷 게이트웨이는 양방향으로 연결을 지원하기 때문에 외부 인터넷에서 퍼블릭 서브넷의 퍼블릭 IP로도 정상적인 통신이 가능한 것이죠!

 

 

!실습!

1. "인터넷 게이트웨이 생성"을 눌러줍니다.

 

2. 네이밍 후 "인터넷 게이트웨이 생성"을 눌러줍니다.

처음 생성하면 상태가 Detached 로 되어 있습니다. 이유는 VPC와 연결을 아직 시켜주지 않아서 그런것ㅇ비니다. 당황하지 말고 계속 진행합니다.

 

 

2. 작업 -> VPC 연결 -> test-vpc 선택

이제 정상적으로 Attached 가 되었습니다. VPC에 IGW가 붙었다는 말이죠. 하지만 붙이기만 해서는 안됩니다!!

라우팅 테이블에 추가해줘야 퍼블릭 서브넷에 인터넷이 되겠죠?

 

5. 라우팅 테이블(Routing Table)

VPC를 생성하면 자동으로 가상 라우터가 생성됩니다. 이 가상 라우터에는 각각 분리된 네트워크의 주소(VPC)를 나타낼 수 있는 라우팅 테이블이 정의되어 있는데요.

참, 라우터는 데이터 패킷을 목적지로 최적의 경로로 전송시켜주는 장치입니다. 최적의 경로를 지정해주는 것이 라우팅 테이블에 정의되어 있지요. 자세한 내용은 검색을 해서 찾아보기를 추천드립니다...!

 

 

처음에는 기본으로 생성되는 라우팅 테이블이 있지만, 실습을 위해서 따로 설정해줄 것입니다.

 

 

!실습!

1. "라우팅 테이블 생성"을 눌러줍니다.

기본적으로 생성되어 있는 라우팅 테이블이 있는데요 무시하고 새로 두개를 만들어줄것입니다.

이렇게 라우팅 테이블이 잘 생성되었습니다. 여기서 중요한 내용을 알려드리겠습니다.

 

 

지금 생성한 서브넷과 라우팅 테이블에 pub과 pri 이라고 네이밍을 해줬습니다. 그럼 네이밍을 해준 것만으로 퍼블릭 서브넷과 프라이빗 서브넷이 자동으로 설정될까요??

 

답은 아닙니다. 서브넷이 퍼블릭과 프라이빗으로 나눠지는 것은 바로 인터넷과 통신할 수 있도록 도와주는 게이트웨이인 IGW(인터넷 게이트웨이) 유무에 따라서 나눠집니다.

 

즉, 라우팅 테이블IGW가 들어가 있다면. 퍼블릭 서브넷 으로 분류

라우팅 테이블에 프라이빗 서브넷이 외부와 통신할 수 있도록 도와주는 NAT 게이트웨이에 들어가 있다면 프라이빗 서브넷으로 분류 됩니다.

 

어떤 식으로 서브넷이 나눠지고 나눠지는 기준이 무엇인지에 따라 정확히 확인하고 설명할 줄 알 필요가 있습니다.

 

 

2. "test-pub-RT"에 IGW 경로 추가하기

현재는 퍼블릭 서브넷에 IGW가 라우팅 테이블에 추가되어 있지 않은 것을 확인할 수 있는데요. 작업을 해보겠습니다.

 

 

3. "라우팅 편집" -> "라우팅 추가"

 

라우팅 추가를 해줬습니다. 대상은 0.0.0.0/0으로 설정해줍니다. 의미는 모든 IP의 접근을 허용하겠다. 라는 의미입니다. 

후에 인터넷 게이트웨이를 눌러주면 생성했던 인터넷 게이트웨이가 뜨는 것을 확인할 수 있습니다.

이후에 "변경 사항 저장"을 눌러줍니다.

이제 이 라우팅 테이블은 인터넷 게이트웨이가 포함이 되어 있습니다. 그럼 이 라우팅 테이블을 퍼블릭 서브넷에 연결시켜줘야겠죠?!!

 

헷갈릴 수도 있겠지만 모든 것이 논리적으로 나눠져있고 그것을 연결을 시켜주는 것입니다.

 

 

 

4. "서브넷 연결" -> "서브넷 연결 편집" -> 퍼블릭 서브넷 선택

여기서 퍼블릭 서브넷을 선택해줍니다. 

프라이빗 서브넷은 선택하시면 안됩니다!!! 그럼 프라이빗이 프라이빗이 아니게됩니다....!

그리고 VPC 만들 때 생성된 - 이름을 가진 기본 라우팅 테이블에서 퍼블릭 라우팅 테이블을 기본으로 설정해줍니다.

 

이제 깔끔하네요!

 

 

오늘은 여기까지하고 다음 포스트에서는 NAT 게이트웨이 부터 진행을 해보도록 하겠습니다.

 

 

'클라우드' 카테고리의 다른 글

AWS EC2 인스턴스를 이용해 NAT 구성하기  (2) 2024.10.02