![[OSSCA] NCP를 이용하여 인프라 설정하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdouDGZ%2FbtsIGZR0Ubw%2FAAAAAAAAAAAAAAAAAAAAAHQ1ZHKervveh5z-mJMkODIBBhhIbWrfmW4mc1YdgCIn%2Fimg.webp%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DTgPSHzMaWHkwFLEJtjLtKzdnKMw%253D)
2주차 실습은 NCP 환경에서 제시된 인프라 환경을 설정하는 것이다. 과제 수행 플로우와, 실습 아키텍처에 대해 기록을 남겨보고자 한다.
실습 아키텍처
실습 대상 아키텍처이다. 인터넷 게이트웨이가 존재하고, Private Subnet의 경우, NAT Gateway를 거쳐 외부와 통신을 하고 있다. Public Subnet의 경우에는 바로 Internet Gateway와 통신을 하는 구조이며, DB들은 모두 Private Subnet에 위치해 있다. 해당 구조를 만들기 앞서, 각종 용어들에 대해 알아보고 지나가자.
용어 알아보기
VPC
VPC는 클라우드 내에서 논리적으로 격리된 네트워크를 생성하는 서비스를 말한다. VPC를 사용하면 사용자는 IP 주소범위, 서브넷, 라우팅 테이블, 네트워크 게이트웨이 등 네트워크 환경을 세부적으로 제어할 수 있도록 도와준다. 우리는 VPC 내에서 Private Subnet과 Public Subnet 등 네트워크를 분할하고 보안 그룹을 통해 네트워크 트래픽을 제어할 수 있도록 도와준다.
Subnet
서브넷은 VPC 내에서 IP 주소의 범위를 세분화 한것을 말한다. 서브넷은 프라이빗 서브넷과 퍼블릭 서브넷으로 나뉘며, 퍼블릭 서브넷은 인터넷 게이트웨이를 통해 외부와 직접적으로 통신이 가능하지만 프라이빗 서브넷은 NAT 게이트웨이를 통해 간접적으로 통신한다. 각 서브넷은 고유의 IP 주소범위를 가지며 네트워크 보안 및 트래픽 관리 정책을 서브넷 단위로 적용할 수 있도록 해준다.
Internet Gateway
게이트웨이는 라우터와 동일한 개념으로 이해할 수 있다. 라우터는 네트워크 장비의 일종이며 패킷을 다른 네트워크로 보내는 역할을 한다. 이와 함께 최적의 네트워크 경로를 찾아주는 역할을 수행한다. 다만, 게이트웨이는 라우터보다 포괄적인 개념으로 이해해야 한다.
게이트웨이는 컴퓨터가 속해 있는 (로컬) 네트워크 구역 내에서는 IP 주소와 서브넷 마스크만 있어도 통신이 가능하다. 하지만, 다른 네트워크 구역으로 나가게 되면 게이트웨이가 있어야 하며 IP주소, 서브넷 마스크와 함께 게이트웨이 주소 또한 정확하게 설정해야 한다.
즉, VPC 내부의 리소스가 인터넷과 상호작용할 수 있도록 트래픽을 라우팅하며 VPC 내부의 퍼블릭 서브넷에 배치된 리소스는 게이트웨이를 통해 인터넷에 접근할 수 있도록 도와준다.
NAT Gateway
NAT Gateway는 프라이빗 서브넷에 있는 리소스가 인터넷에 접근할 수 있도록 해주는 서비스를 말한다. NAT(Network Address Translation) Gateway는 프라이빗 IP 주소를 퍼블릭 IP 주소로 변환하며 외부 인터넷과의 통신을 가능하게 한다. NAT Gateway를 이용하면, 프라이빗 서브넷의 인스턴스는 외부와 통신이 가능하지만 여전히 외부에서는 프라이빗 서브넷의 인스턴스에 직접 접근하는 것은 불가능하다. 이는, 보안 측면에서 중요한 역할을 하며 내부 리소스가 안전하게 인터넷을 사용할 수 있도록 한다.
LoadBalancer
네트워크 트래픽을 여러 서버 인스턴스에 분산시켜 서버의 부하를 줄여주고, 애플리케이션의 가용성과 응답 속도를 향상시키는 역할을 한다. 즉, 트래픽을 분산시켜 특정 서버에 과부하가 걸리지 않도록 하고, 서버가 장애를 일으킬 경우에도 다른 서버로 트래픽을 전환하여 서비스의 연속성을 보장하게 한다.
실습하기
VPC 설정하기
Service → Networking → VPC로 VPC를 선택한다.
다음과 같이 IP 주소 범위를 넣어 VPC를 생성한다.
Subnet 생성하기
위와 같이 VPC 내에서 작동하는 Subnet을 생성한다.
네트워크 접근 설정
접근제어와 같은 것 → 디폴트로 생성되어 있는 것을 추가한다.(Default ACG 사용)
위와 같이 설정된 기본 설정을 활용하고자 한다.
서버 생성하기
Compute → Server에서 또한 Server를 생성이 가능하다. AWS에서 사용하던 EC2와 같은 것으로, 이전에 만든 네트워크 접근 설정을 활용하여 서버를 만들도록 하자.
이전에 만든 ACL을 설정하고, Gateway 여부에 Y(Public)을 선택하여 Public Subnet을 생성하자.
현재는 모두 KR1 Zone을 사용하고, KR2 Zone의 경우 이중화 구조를 위해 활용할 것이다.
서버 접속해보기
- 서버 관리 및 설정 변경 → 관리자 용 비밀번호로 쉽게 접속이 가능하다.
- Public 서버에 접속한 뒤 위와 같이 private 서버를 접속하면 private 서버를 접속하는 것 또한 가능하다.
NAT Gateway 설정하기
이전 개념에서 본것처럼 NAT Gateway를 통해 내부에서 외부 통신이 가능하도록 할것이다. 이를 위해서는 다음과 같은 절차를 따르자.
NAT 연결 시 NAT를 위한 subnet을 생성해야 한다. 위와 같이 Subnet을 만들고 NAT Gateway와 연결해주자
NAT Gateway 생성하기
이렇게 생성이 되는 것을 볼 수 있다.
⇒ NAT Gateway를 Route Table에서 사용할 수 있도록 설정해 주어야 한다.
NAT Gateway 설정하기
위와 같이 설정하면 Private Server에서 외부로 Ping을 쏘는 등의 외부로의 접근이 가능하다. 목적지를 전체 ip로 설정해주었기 때문에 전체 ip를 대상으로 외부와의 연결이 가능해진다.
NAT Gateway를 연결해주었기 때문에 google로 ping을 쏘자 반응이 잡히는 것을 위와 같이 파악할 수 있다.
LoadBalancer 처리를 위한 KR2 설정
서버 장애 대응을 위해 동일한 서버를 생성하는 과정이다. 이전과 유사한 과정을 반복해주자.
⇒ KR2에서도 이전과 동일하게 새로운 Subnet을 생성할 수 있다.
기존에 사용한 private 서버와 같은 내용을 수행해야 하므로 이미지를 생성하여 기존의 서버를 쉽게 복사하는 것이 가능하다.
Load Balancer
로드밸런서 생성을 위해 로드밸런서 전용 서브넷을 만들어 주어야 한다.
Target Group
LoadBalancer는 어떤 Group으로 보내야 할지 알아야 하므로 Target Group을 생성해야 한다. 여기서는 두가지 Private server에 대해 로드밸런싱을 할 계획이므로 두개를 선택해준다.
헬스체크
⇒ 정상임계값 : 해당 서버로 헬스체크를 했을 때 2번 성공이면 성곡이라 판단 / 실패도 마찬가지
⇒ 다음과 같은 로드밸런서를 만들고 접속 정보를 체크하면 현재는 503이 뜬다. inbound 규칙을 추가하도록 하자.
Inbound 규칙 설정
⇒ 80 포트를 추가하여 접속하도록 하자
⇒ 엔진엑스 페이지가 보이는 것을 확인이 가능하다.
taget 상태 확인이 가능하다.
출처
네트워크 항해의 첫 관문 - 게이트웨이(Gateway)
게이트웨이(gateway)는 ‘관문’이나 ‘출입구’라는 의미로 다양한 분야에서 일반적으로 사용되는 용어다. 컴퓨터 네트워크에서의 게이트웨이는 현재 사용자가 위치한 네트워크(정확히는 세그
it.donga.com
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html
Amazon VPC란 무엇인가? - Amazon Virtual Private Cloud
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
https://avinetworks.com/glossary/load-balancer/
What is a Load Balancer? Definition & FAQs | Avi Networks
A load balancer is a hardware or software solution that optimizes the use of network resources while moving packets efficiently. Check out our glossary!
avinetworks.wpengine.com
https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-a-subnet/
https://www.techtarget.com/iotagenda/definition/gateway
What is a Gateway? Definition from WhatIs.com
This definition explains a gateway, or a component of telecommunications used to connect two networks together, and common gateway types.
www.techtarget.com
'Infra > Terraform' 카테고리의 다른 글
[OSSCA] Terraform Provider 개발(1) - Go API 분석하기 (0) | 2024.07.29 |
---|---|
[OSSCA] Terraform Provider SDK 와 Framework 버전 차이를 알아보자 (1) | 2024.07.24 |
[OSSCA] Terraform Provider 살펴보기 (2) | 2024.07.23 |
[OSSCA] Terraform으로 NCP 사용하기 (6) | 2024.07.23 |
[OSSCA] Terraform 이란? (0) | 2024.07.22 |
보안 전공 개발자지만 대학로에서 살고 싶어요
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!