클라우드 활용에 필요한 개념

* VPC
-퍼블릭 클라우드 상에서 제공되는 고객 전용 사설 네트워크
-각각의 VPC는 논리적으로 완벽하게 분리되어 있어 다른 사용자의 네트워크와 상호 간섭이 발생하는 영역없이 사용 가능
-계정마다 최대 3개의 VPC 생성 가능
-Subnet을 이용하여 VPC 내 네트워크 공간을 세분화하여 사용
-NACL을 이용해서 Inbound/Outbound 네트워크 트래픽을 Subnet 단위로 제어 가능

 

* VPC 구성 요소
VPC, Subnet, NAT Gateway, Route Table, ACG, NACL, Virtual Private Gateway, VPC Peering

 

* Subnet
-VPC 네트워크 대역 공간을 세분화해서 용도별로 사용
-인터넷 게이트웨이, NAT 게이트웨이용 서브넷을 별도로 생성하여 외부 인터넷과의 통신을 조절할 수 있음
-NACL을 이용하여 인바운드, 아웃바운드 네트워크 트래픽을 Subnet 단위로 제어 가능
※ Public Subnet은 만들 때, 인터넷게이트웨이가 자동으로 생성되어 외부와 통신 가능해짐
※ Private Subnet을 만들 때는 인터넷과의 통신이 필요할 때, NAT 게이트웨이를 따로 생성 필요

 

* NAT Gateway
-비공인 IP를 가진 다수의 서버에게 대표 공인 IP를 이용한 외부 접속을 제공하는 기능
-NAT Gateway를 통해 외부로 접속할 때 사용되는 대표 공인 IP는 해당 NAT Gateway만 독점적으로 사용하는 IP
-Autoscaling과 연계된 자동 설정 제공
-보안상 다수의 공인 IP에 대한 ACL을 오픈할 수 없는 경우 혹은 공인 IP 생성 비용 절약 가능
※ private subnet을 이용하는 vm들이 외부와 통신이 필요할 때, NAT Gateway를 생성하여 라우트 테이블 설정을 바꾸면 외부와 통신이 가능해진다.

 

* ACG
-서버 방화벽 역할, Inbound/Outbound 룰 설정 가능
-Default ACG와 Custom ACG로 구분
-프로토콜은 TCP, UDP, ICMP 중 선택, 접근 소스는 IP(CIDR), ACG Group 설정 가능
-단일 네트워크 카드는 최대 3개의 ACG를 적용할 수 있고, 단일 ACG는 최대 100개(Inbound 50개, Outbound 50개) rule 설정 가능(VPC환경)
-서버에 대한 ACG 변경/추가 할당 상시 가능
-서버의 네트워크 인터페이스 카드와 연결되어 적용

 

* NACL
-허용하거나 거부할 네트워크를 설정
-Network Access Control List의 약자로 Subnet에 연결해서 사용하는 NACL은 VPC의 보안을 강화시키는 요소
-Allow/Deny 모두 설정 가능, 상태 비저장 방식

ACG Network ACL
서버 NIC 단위로 적용 Subnet 단위로 적용
Allow 규칙에 한하여 지원 Allow, Deny 규칙 모두 지원
기본 All Deny 기본 All permit
모든 규칙을 확인하여 판단 우선 순위에 따라 규칙을 반영

 

* Virtual Private Gateway
-VPC와 IPSec VPN 또는 Cloud Connect를 연결하기 위한 접점
-보안이 확보된 통신 경로를 통해 네이버 클라우드 플랫폼과 온프레미스 네트워크를 잇는 하이브리드 클라우드를 구축
-VPC에 Virtual Private Gateway를 만들어서 IPSec VPN 또는 Cloud Connect를 연결해서 사용해야 함
※ IPSec VPN: 온프레미스 환경에 있는 네트워크와 NCP의 네트워크 환경을 망대망으로 연결해 주는 서비스
※ Cloud Connect: 온프레미스와 NCP를 전용선으로 연결하여 안정적인 네트워크 회선을 가져가도록 도와주는 서비스

* Route Table
-VPC 내에서 동작하는 고유의 라우팅 기능 제공
-외부 연계 네트워크 및 내부 사설 통신 간 흐름을 제어
-예를들어, Private Subnet의 경우 외부와 통신을 위해 NAT Gateway를 사용해야 하는데, Route Table에 NAT Gateway를 통해서 나간다는 규칙을 설정해야 함

* Compute 서비스
기본적인 서버를 생성하고 관리하는 상품
-서비스 규모와 사용목적에 적합한 성능의 서버를 선택할 수 있도록 다양한 서버 타입 제공
-일반적인 2vCPU~16vCPU 상품부터 High Memory 서버, VDS, HPC, GPU 등 다양한 상품 라인업
-서버 정지 시 컴퓨팅, 네트워크 요금은 발생하지 않으나 스토리지 비용은 발생
-High Memory 서버, VDS, GPU 서버 등 정지 시에도 표준 요금이 적용되는 서버들이 있음

* Bare Metal Server
단독으로 사용할 수 있는 고성능 물리 서버를 클라우드 형태로 제공
-물리 서버에 하이퍼바이저 없이 바로 운영체제를 설치하여 제공
-적합한 RAID 구성 방식을 2가지 중에 선택할 수 있음(RAID 1+0 / RAID 5)
-단독 서버를 사용하는 것이기 때문에 성능에 민감한 섭스도 안정적으로 운영 가능
-CentOS, ORACLE Linux와 Windows 제공
-다양한 서비스와 연계 가능(단, 내서버 이미지, 스냅샷, 추가스토리지 기능 제외)
-서버 장애시 Live Migration 불가
※ 베어메탈의 용도가 대부분 데이터베이스

* GPU Server
병렬 처리에 최적화된 GPU 서버의 고성능 컴퓨팅 파워를 제공
-NVIDIA P40, V100 장착
-NVIDIA GRID 기술이 아닌 Pass Through를 적용하여 제
※ Grid 기술: 하나의 그래픽카드를 여러 VM들이 나눠서 사용할 수 있도록 하는 기능

* Server Image
서버 이미지란 콘솔에서 만든 하나의 VM서버 자체를 이미지로 뜬다는 개념이다.
-서버 이미지를 만들 때는 서버 정지 필요 없음
-서버 이미지를 통해 새로운 서버를 생성할 때, 원하는 디스크 타입으로 변경해서 생성 가능
-리전 간 이미지 공유 가능

* Snapshot
특정 볼륨 하나에 대해서 복사본을 만드는 작업
-서버가 운영중인 상태에서 사용 가능
-리전 간 이미지 공유가 가능하지만

* 유사 서버
특정 서버가 가지고 있는 스펙을 떠오는 서버
-기존 서버의 디스크 타입같은 스펙 및 특성들을 그대로 가져와서 만드는 것이 유사 서버 생성

* Server Image Builder
-Packer를 활용한 내서버 이미지 생성 서비스
-이미지 디스크립션 파일을 이용해서 내서버 이미지 생성 가능
※ Packer는 기존에 존재하는 오픈소스 이미지 빌드 도구

* Init Script
서버를 생성할 때, 초기에 1회만 서버가 부팅하고 난 후, 동작하는 Script
-서버에 설치하여야 하는 패키지나 초기 설정 내용을 스크립트로 선언하여 서버 초기화를 최대한 빠르고 편리하게 구성
-같은 용도 서버를 여러 대 일괄로 생성하는 경우, 동일한 환경의 서버를 주기적으로 생성하는 경우, 용도별로 서버 초기 환경 관리가 필요한 경우

* Anti-Virus
-Windows OS에 한하여 백신 기본 제공
-리눅스의 경우, 별도 비용 발생

* 기타 보안/관리 사항
-Security Monitoring(IDS, IPS, WAF, DDos) 이용 추가 보안 및 사용자가 설정한 임계치 기반 모니터링 시스템 구성 가능

* 추가 스토리지(Block Storage) 구성
1. OS 영역인 50GB에 추가로 더 큰 로컬 스토리지 용량이 필요할 경우 사용
-스토리지 당 10GB에서 2TB까지 생성 가능
2. 스토리지 추가 개수 제한
-단일 서버에 최대 15개의 추가 스토리지를 추가할 수 있음(기본 OS 이미지 1개 + 추가 스토리지 15개)
3. 스토리지 볼륨을 2TB 이상 사용하고자 하는 경우
-Linux는 LVM, windows는 동적 디스크 할당을 통해 여러 개의 디스크를 하나의 볼륨으로 묶을 수 있음
4. 스토리지 Detach/Attach 기능 제공
-서버에 연결된 디스크를 다른 서버로 옮길 수 있음
5. 디스크 크기 변경 기능 적용
-사용중인 디스크의 크기가 부족할 경우 필요한 크기로 확장

* Load Balancer
-부하 분산을 위해 서버 앞단에서 트래픽을 분산하는 기능
-기본적으로 로드밸런서 하나를 생성하면 뒷단에 Load Balancer 서버 2개가 생성되고, 도메인에 바인딩 되어 제공
-로드밸런서는 선택한 부하 처리 성능에 따라 최대 9만 CPS 까지 이용이 가능

* Load Balancer 종류
-애플리케이션 로드밸런서
-네트워크 로드밸런서
-네트워크 프록시 로드밸런서

NCP 네이버 클라우드 Hands-on 강의 참고

 

* 로드밸런싱 알고리즘(부하 분산 및 분배 알고리즘)
-Round Robin: 클라이언트에서 요청이 오면 서버에 1개씩 분배하는 방식
-Least Connection: 클라이언트 연결이 제일 적은 서버에게 새로운 커넥션을 분배하는 방식
-Source IP Hash: 클라이언트 IP에 대한 해시테이블을 가지고 클라이언트 IP에 매핑되는 서버에 새로운 커넥션을 분배하는 방식

* Autoscaling
유연한 인프라 확장 기능으로, 사용자가 정의한 주기(스케줄링), 사용자가 설정한 메트릭(모니터링), 사용자 요청(온디멘드)에 따라 서버를 자동 생성, 삭제 진행하는 기능

* Autoscaling 설정
1.Launch COnfiguration
-이름으로 구분도므로 한 계정 내 유일
-액션의 대상이 되는 서버의 기본 ㅔㅁ플릿 (이미지, 서버 타입, ACG 등)
-베이스 이미지는 퍼블릭 이미지, 커스텀 이미지인 내서버 이미지 사용 가능
2. Autoscaling Server Group
-Scaling, Management 액션을 위한 논리적 그룹
-minSize <= desiredCapacity <= maxSize 대소 관계 유지
3. Event Rule
-액션의 기준이 되는 모니터링 메트릭 설정