COMPUTE
먼저 서버 가상화 구조는 위와 같다.
하드웨어에 주로 CPU, NIC카드 등이 꽂히고 그 위에 하이퍼바이저(다양한 OS를 동시 지원), 그 위에 각각의 OS를 가지는 virtual machine들이 생성된다. 이때 각 VM들은 하나의 물리자원을 나눠 쓰게 된다(리소스 경합이 일어난다).
Type1과 Type2의 차이점은 무엇인가?
Type1은 native나 bare-metal방식으로도 불리는데, 하드웨어 위에 바로 하이퍼바이저를 깔고 vm을 올리는 방식이다. 이는 중간에 host OS가 없어서 좀더 빠르다고? 한다. 일반적으로 기업에서 사용하는 방식이라고 함..
(대표적으로 XenServer, Hyper-V, Vmware ESXi가 있음)
Type2는 hosted방식으로, 하드웨어위에 hostOS가 깔려있는 방식이다. 일반적으로 학부공부할 때 노트북(window)위에 가상머신을 통해 linux를 깔아 사용하는 방식으로 이해하면 된다.
(대표적으로 VMware Workstation, XenClient, VirtualBox가 있음)
NCP 일반 서버의 타입
먼저 NCP의 서버는 크게 2가지 타입으로 나뉜다. classic과 VPC(virtual private cloud)이다. 최근엔 vpc를 거의 사용하는 추세라고 하셨던 것 같다.
강사님께서 classic은 NCP라는 큰 땅에 개인들이 vm을 땅땅 짓는 형식이라면 VPC는 땅 자체를 통채로 사서 그 안에 vm들을 땅땅 짓는 형식이라고 하셨던 기억이 난다.. 예전에 AWS에서 EC2로 배포할 때는 이런게 없었던 것 같아서 강사님께 물어보니 aws는 vpc만 사용하고 있다고 하셨다. ncp에서 vpc를 사용할때 하는 서브네팅같은 과정을 aws에서 자체적으로 해줘서 classic같이 느껴진걸거라고..
Classic 서버는 서버 내에서 g(generation)1, g2로 나뉜다. g2가 좀 더 최신버전이다. Classic에서 제공하는 서버스펙은 아래 g2서버들과 함께 Micro, Standard/Compact, High Memory, CPU Intensive가 있다.
VPC서버 기준 스펙은 다음과 같다.(g2만 있음)
서버 타입 | CPU:Memory 비율 |
Standard-g2 | 1:4 (2C:32GB ~ 32C:128GB) |
High-CPU-g2 | 1:2 (2C:4GB ~ 32C:64GB) |
High-Memory-g2 | 1:8 (2C:16GB ~ 32C:256GB) |
- 제공하는 OS는 Linux(Ubuntu, CentOS), Windows가 있다.
- OS스토리지 크기는 linux의 경우 50GB, windows의 경우 100GB이다.
- 블록스토리지는 추가로 vm당 15개 부착 가능하다. (기본 os이미지 1개 + 추가 스토리지 15개) (크기:10GB~2TB)
- 스토리지 타입은 HDD, SSD중 선택 가능하다
* HDD의 경우 SAS디스크로 제공됨.
SSD의 경우 IOPS가 보장된다. 기본 4000iops(최소)부터 100GB이상 시 1GB당 40iops씩 보장된다. 최대 20000iops까지 보장.
베어메탈 서버(Bare Metal Server)
앞에서 말한 리소스 경합을 피하기 위해 사용하는 방식은 베어메탈 서버다. (type1에서 말하는 bare-metal과는 좀 다르다. 이 경우 hypervisor가 없다.)
지금 말하는 베어메탈은 사진의 1번 그림이다. 두번째 그림은 앞의 type1에서 얘기한 bare-metal이다. 첫번째 그림의 구조를 사용하는 경우, 서버 리소스를 독점적으로 사용하기 때문에 리소스경합이 일어나지 않는다. 이러한 구조는 게임서버나 데이터베이스와 같이 성능에 민감한 작업이나 oracle 사용시 라이선스 문제를 벗어나기 위해 보통 사용한다고 한다.
- NCP에서는 베어메탈 서버 사용 시 RAID 구성 방식을 선택할 수 있다(RAID1+0, RAID5).
- NCP의 다양한 서비스와 연계 가능하다. (내서버 이미지, 스냅샷, 추가스토리지 기능은 불가)
- 서버 장애시 Live Migration, Cold Migration이 불가능하다. (서버 장애시 복구가 불가능하다는,,,)
- NCP의 베어메탈 서버는 서버 정지시에도 일반요금이 부과된다.
GPU 서버
GPU서버는 병렬 처리에 최적화 된 서버로 연산처리가 빠르다. CPU보다 항상 좋은건 아니고 무슨 작업을 할꺼냐에 따라 다르다고한다. 강사님 말로는 일반 작업 시에는 GPU가 CPU보다 더 느리다고..?.. 일반적으로 머신러닝, AI분야나 고사양게임할때 사용한다고 한다.
- NCP에서 제공하는 GPU는 NVIDIA의 T4, V100이다.
- NVIDIA GRID기술이 아닌 pass through 방식으로 제공 (gpu를 바로 부착)
*pass through방식은 그래픽카드 리소스를 특정 vm에서만 단독으로 사용하게 하기때문에 성능이 더 좋다. grid방식은 하나의 GPU를 여러 vm이 나눠 사용한다.
- 서버 당 최대 4장의 GPU를 제공 (추후 8장까지 늘릴계획)
- NCP의 GPU서버는 서버 정지시에도 일반요금이 부과된다.
HPC(High-Performance Computing) 서버
고급연산문제를 풀기위해 사용되는 슈퍼컴퓨터.. classic에서만 사용가능하다고 한다.
Autoscaling (중요)
IaaS 단에서 서비스의 상태에 맞에 인프라를 확장 및 축소 해준다(Scale out/in). 클라우드의 장점인 유연한 인프라 확장 및 축소를 제공하는 서비스이다.
Autoscaling 설정
1. Launch Configuration (서버 스펙 정의)
2. Autoscaling Server Group (몇대로 늘리고 줄일건지 정함)
3. Event Rule (언제 이벤트가 발생할지 설정 - 스케줄링/모니터링/온디멘드)
- 스케줄링: 사용자가 정의한 주기 (ex. 매주 금요일 6시)
- 모니터링: 사용자가 설정한 매트릭 (ex. CPU 차지율이 60% 이상일 때)
- 온디멘드: 사용자 요청 시
Scale Up 과 Scale Out의 차이는 뭘까?
Scale Up은 서버 대수(number of server)는 유지하고, 서버 스펙을 높이는 것이고 Scale Out은 서버 스펙은 유지하되, 서버 대수를 늘리는 것이다. 둘다 장단점이 있는데 Scale Up을 하는 경우 서버 개수가 그대로이기 때문에 관리가 편리하지만 비용이 많이 든다. Scale Out의 경우 동일스펙을 여러대 두는 것이기 때문에 비용은 많이 안들어도 관리가 어려워진다는 단점이 있다.
서버 이미지 | 스냅샷 | 유사서버 | |
대상 | 서버 OS + 추가볼륨 | 볼륨 (스토리지 단위) | 서버 OS |
서버 이비지의 경우 백업용도로 사용하거나, server scale in/out시 마스터 본으로 사용한다.
Init Script
서버 생성 시 실행할 스크립트를 저장한다. 설치해야하는 패키지나 초기 설정내용 포함. 서버 생성시 최초 1회 실행되고 서버생성 이후 수정이나 재실행 불가능하다. Linux는 python, pearl, bash shell로 작성, Windows는 visual basic으로 작성.
Tip - 서버 이미지로 어플리케이션이나 기본 환경에 대한것을 이미지로 뜨고, init script로 업데이트 된 내용이나 원본 소스를 불러오는 방식과 같이 두 방법을 함께 사용하는 것이 효율적! (빠른 scale out)
ACG(Access Control Group)
server 에 종속적인 서버 방화벽이다.
- inbound 와 outbound를 각각 설정할 수 있고, inbound는 deny, outbound는 allow가 기본 값이다.
- 프로토콜은 TCP, UDP, ICMP중 선택, 접근 소스는 IP(CIDR), ACG Group설정 가능하다.
- VPC당 500개 생성 가능하다.
- NIC카드 당 최대 3개의 ACG 적용 가능하며, 단일 ACG는 최대 100개의 rule설정 가능. (VPC환경)
'NCP' 카테고리의 다른 글
[NCP] Storage (0) | 2022.07.04 |
---|---|
[NCP] Storage 용어 및 개념정리 (0) | 2022.07.04 |
[NCP] Network (0) | 2022.07.04 |
[NCA(naver cloud associate)] Network 용어정리 (0) | 2022.07.01 |
[NCA(naver cloud associate)] container, kubernetes (0) | 2022.06.29 |