최근 갑작스럽게 BE ~ AWS 환경 구축까지 담당을 하게되었다.
당시 상태는 AWS 인프라는 VPC도 모르는 상태에서 요구조건을 맞춰야 했고, GPT, 인프런, 유투브 등 활용할수있는 모든 것을 동원한 신선한 뉴비 그 자체였다.
따라서, AWS인프라를 모르는 사람의 입장에서 최대한 쉽게 작성해보려고 노력해보았다. 우선 우리가 최종적으로 완성할 인프라의 구조도는 아래와 같다.
1. PrivateSubnet에 API 서버를 두고 보안을 더욱 강화한다.
2. publicSubnet에는 Bastion서버를 두고 privateSubnet과 소통하는 역할을한다.
3. NatGatway를 통해 PrivateSubnet을 인터넷과 통신되도록한다.
이 구조도 사이에는 IGW(InternetGateway)나 다른 여런 부가 요소들이 있지만, 뉴비들에겐 공포심만 줄수 있는 내용이기에, 실질적으로 우리가 구현할 부분들만 도식화하였다.
AWS VPC < VPC 생성으로 들어가보자
1) VPC등으로 작업을진행하자
이름은 사용하고자하는 VPC명을 작성하면된다.
2) 이제 IPv4 CIDR 블록을 지정해주자. 어떤 값을 적어야 할까?VPC는 외부와 소통을 하기때문에 만드는 모든 VPC의 IP가 똑같다면, 라우팅이 내부적으로 패킷을 계속 도는 이슈가 발생할수 있다. 따라서 같은 Ip주소의 사용은 지양해주자
그래서 값을 어떻게 정해야할까?
국제 인터넷 표준화 기구(IETF)에서는 이미 이에대한 표준을 지정해 놨으니, 우린 그 값을 그대로 사용하기만 하면된다.
RFC1918
IP 대역 | CIDR |
10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 |
172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 |
192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 |
다만 마스킹값은 /16으로 지정해주자
cf) 예를 들어, IP 주소 범위가 10.0.0.0/16인 경우:
- 네트워크 주소는 10.0 이다.
- 호스트 주소는 0.0부터 255.255까지 가능하다
따라서 전체 주소 범위는 10.0.0.0부터 10.0.255.255까지로 이해하면된다.
(이 마스킹영역은 추가적인 학습이 완료되면 다른 게시물에서 더 다뤄보도록하겠다.)
즉 뉴비의 입장에선 /8, /12 로 설정하면 가용가능한 IP를 추가로 계산해야하는 애석한 상황이 발생한다.
그러므로 쿨하게 모든 대역을 사용하는 /16을 사용하도록 하자
이제 다음 항목들을 살펴보자
3) AZ 영역을 설정해주자
AWS는 Region별로 리소스를 제공한다.
이 과정에서는 물리적 서버가 존재하야하는데, 리전은 이 물리적 서버가 존재하는 국가를 뜻한다.
자신의 국가는 우측 상단에 이미 세팅되어있을것이다.
한국 리전은 "ap-northeast-2" 로 불린다.
그런데 만약 서울의 물리서버에 문제가 발생한다면 어떻게 될까? 해당 서버를 이용하는 모든 서비스는 중단될것이다.
이를 방지하기 위해 AZ(Availability Zone)의 개념이 등장한다. 가용가능 영역을 세팅하는것이다.
대표적으로 서울리전은 총 3개의 AZ가 존재하며, 한곳에서 문제가발생하더라도, 다른영역에서 이에 대한 백업이 가능한 프로세스이다.
이것을 ap-northeast-2a, ap-northeast-2b, ap-northeast-2c 로 나타낸다.
TMI이지만 유저마다 ap-northeast-2a 를 나타내는 지역은 다를 수 있다.
만약 데이터센터가 서울, 수원, 평택이라고 한다면
누군가에겐 ap-northeast-2a가 서울이지만, 누군가에겐 "평택" 일수도 있는것이다. (1섭 폭주를 막기위한 효율적인 랜덤배치)
나는 가용영역을 2로 세팅해놓는 편이다. 아는 범위에서 한번 생성한 VPC에 대해서 가용영역은 수정 하는 부분을 못찾아서,
만약을 위해 스페어로 영역확보만 해놓았다.
그리고 영역별로 각각 한개의 public, private 서브넷을 배치해놓기위해 배치 수는 2 / 2 로 해놓았다.
다만 Nat게이트웨이는 1개의 AZ로 배치해 놓았다. Nat까지 2개를 만들어서, 추가 과금을 하고싶진 않기 때문이다.
그러면 위와같은 미리보기 VPC 구조가 완성된다.
이제 다음 게시글에서 VPC안에 EC2를 만드는 작업을 진행해보자
[AWS] Bastion서버 구축기 (2) - EC2, Public Subnet, Private Subnet, Bastion 터널링
[AWS] Bastion서버 구축기 (1) - VPC, Region, AZ, CIDR 설정 까지 까지 완료했다면 우린 아래와같은 인프라를 구현한것이다. (더 정확히는 앞에서 설정한 AZ에 따라 2개의 Public과 2개의 private Subnet이 생성되
michael-cho.tistory.com
'AWS' 카테고리의 다른 글
[AWS] Bastion서버 구축기 (2) - EC2, Public Subnet, Private Subnet, Bastion 터널링 (0) | 2024.02.25 |
---|