-
Notifications
You must be signed in to change notification settings - Fork 4
03 ‐ NHN Cloud
OpenStack 기반 On-Demand 인프라 서비스로 저렴한 비용으로 인프라 리소스를 필요한 만큼 사용할 수 있다.
인스턴스는 가상의 CPU, 메모리, 루트 블록 스토리지로 구성된 가상 서버이다. AWS로 대비하면 EC2라고 생각하면 될 듯하다.
-
이미지
: 인스턴스의 운영체제를 담고 있는 가상 디스크 -
타입(flavor)
: 인스턴스의 가상 하드웨어 성능 -
가용성 영역(AZ, availability zone)
: 인스턴스가 만들어질 물리적인 위치 -
키페어(key-pair)
: 인스턴스 접속 수단으로 사용되는 키 -
보안 그룹(security group)
: 인스턴스 네트워크 보안 설정 -
네트워크
: 인스턴스가 연결될 가상 네트워크
이미지는 운영체제를 담고 있는 가상 디스크이다. NHN Cloud는 현재 CentOS
, Debian
, Ubuntu
, Rocky
와 Windows
를 지원한다.
타입 | 설명 |
---|---|
m2 | CPU와 메모리를 균형 있게 설정한 타입. 서비스나 애플리케이션의 성능 요구 사항이 명확하지 않을 때 사용. |
c2 | CPU의 성능을 높게 설정한 인스턴스 타입. 고성능 연산 성능이 필요한 웹 애플리케이션 서버나 분석 시스템에 사용. |
r2 | 다른 자원에 비해 메모리의 사용량이 많은 경우 사용할 수 있다. 보통 메모리 데이터베이스나 캐시 서버에 사용. |
t2 | 비용이 저렴한 인스턴스. 워크로드가 높지 않은 서버에 사용. |
u2 | 가장 저렴한 인스턴스. 워크로드가 높지 않은 서버에서 사용. 로컬 블록 스토리지를 사용하기 때문에 상대적으로 다른 인스턴스보다 안정성이 떨어지지만 저렴한 가격에 이용할 수 있다. 이 타입의 인스턴스는 I/O 성능을 보장하지 않는다. |
x1 | 고사양의 CPU와 메모리를 지원하는 타입. 높은 성능이 필요한 서비스나 애플리케이션에 사용. |
NHN Cloud의 서비스들이 실제로 저장되는 물리적인 영역. 이 가용성 영역별로 저장 시스템, 네트워크 스위치, 전원 장치등이 모두 별도로 구성되어 있다.
- 여러 가용성 영역에 흩어져서 생성된 인스턴스끼리 네트워크 통신이 가능하며 이 때 발생하는 네트워크 사용 비용은 부과되지 않는다.
- 같은 가용성 영역에 만들어진 인스턴스 사이에서는 블록 스토리지를 공유할 수 있으나, 서로 다른 가용성 영역 간에는 블록 스토리지를 공유할 수 없다.
- 서로 다른 가용성 영역에서 플로팅 IP를 공유할 수 있다. 만약 한 가용성 영역에 장애가 생겼을 때에도 빠르게 다른 가용성 영역으로 플로팅 IP를 이동하여 장애 시간을 최소화할 수 있다.
키페어는 공개 키 기반 구조(PKI, public key infrastructure)를 바탕으로 한 SSH 공개 키, 개인 키 쌍이다. NHN Cloud에서 생성한 인스턴스에 접속하려면 보안에 취약한 키보드 입력 방식의 아이디/비밀번호 인증 대신 키페어를 이용해야 한다. 사용자는 키페어의 개인 키를 이용해 로그인 정보를 인코딩하여 인스턴스로 전송해 접속 인증을 받은 후, 안전하게 인스턴스에 접속할 수 있다. 키페어를 이용한 인스턴스 접속 방법은 인스턴스 접속 방법을 참고하라.
보안 그룹은 인스턴스에 전달되는 네트워크 트래픽을 결정하는 가상의 방화벽이다. 보안 그룹에 대한 자세한 설명은 VPC 개요를 참고하라. 기본 보안 그룹은 외부에서 들어오는 인바운드(in-bound) 네트워크 트래픽을 모두 무시하도록 되어 있다. SSH로 인스턴스에 접속할 때 인스턴스가 속한 보안 그룹에 SSH 포트를 열도록 설정한 뒤에 인스턴스에 접속한다.
인스턴스가 외부와 통신하려면 VPC에서 정의된 네트워크 중 적어도 하나 이상에 연결되어 있어야 한다. 네트워크에 연결되어 있지 않은 인스턴스에는 접근할 수 없다. 네트워크를 새로 생성하거나 변경하려면 VPC 개요를 참고하라.
CentsOS 인스턴스
$ ssh -i my_private_key.pem centos@<인스턴스의 IP>
Ubuntu 인스턴스
$ ssh -i my_private_key.pem ubuntu@<인스턴스의 IP>
Debian 인스턴스
$ ssh -i my_private_key.pem debian@<인스턴스의 IP>
Rocky 인스턴스
$ ssh -i my_private_key.pem rocky@<인스턴스의 IP>
이미지는 운영제체와 애플리케이션을 담고 있으며, 인스턴스의 루트 블록 스토리지 생성에 사용된다. NHN Cloud에서는 다양한 운영체제와 애플리케이션이 설치된 이미지를 기본으로 제공하며, 사용자의 상황에 맞게 이미지를 수정하여 사용할 수도 있다. NHN Cloud는 개인 이미지 업로드는 지원하지 않는다.
NHN Cloud에서 제공하는 이미지이다. 이 이미지들에는 가상 하드웨어를 최적으로 이용하도록 운영체제가 설치되어 있다. 또한 고객의 서비스와 애플리케이션에서 안심하고 사용할 수 있도록 기본적인 보안 설정이 되어 있다. NHN Cloud는 현재 CentOS, Debian, Ubuntu와 Windows를 제공하고 있다. 자세한 제공 운영체제 버전은 NHN Cloud 서비스 소개를 참고하라.
퍼블릭 이미지를 토대로 사용자가 수정한 이미지이다. 사용하는 서비스나 애플리케이션에 맞게 새로운 애플리케이션을 설치하거나, 각종 운영체제 설정을 변경할 수 있다. 사용자 이미지는 서비스 증설에 유용하게 쓰인다. 서비스를 증설하기 위해 퍼블릭 이미지로 새로운 인스턴스를 생성하고 서비스를 설치하려면 많은 시간이 걸린다. 매번 번거로운 설치 작업을 반복하지 않고, 서비스에 사용할 이미지를 미리 사용자 이미지로 만들어서 인스턴스 생성에 사용한다면 서비스 부하 급증에 더욱 빠르게 대처할 수 있다.
오토스케일(Auto Scale)
서비스를 사용하면 인스턴스의 부하를 지속적으로 모니터링하여 필요한 경우 인스턴스를 추가로 생성하거나 삭제할 수 있다. 또한 개별 인스턴스에 네트워크 단절 등의 장애가 발생하면 자동으로 새로운 인스턴스를 생성해 장애가 발생한 인스턴스를 대체할 수도 있다. 오토스케일을 통해 부하와 장애에 실시간으로 대응하여 안정적이고 탄력적인 사용자 서비스를 제공할 수 있다.
System Monitoring은 Instance에서 사용자가 생성한 인스턴스에 대한 모니터링 기능을 제공한다. 인스턴스의 시스템 리소스 상태를 차트 형태로 시각화해서 볼 수 있으며, 사용량 임계치를 설정해 특정 상태의 알림을 이메일 또는 SMS로 받을 수 있다.
오픈 소스 컨테이너 오케스트레이션을 기반으로 배포, 스케일링, 컨테어너화된 애플리케이션 관리를 자동화 할 수 있는 서비스이다.
Kubernetes는 컨테이너화된 워크로드와 서비스를 관리할 수 있는 오픈소스 플랫폼이다. Kubernetes는 다음과 같은 기능을 제공한다.
- 서비스 디스커버리와 로드 밸런싱
- 스토리지 오케스트레이션
- 자동화된 롤아웃과 롤백
- 자동화된 빈 패킹(bin packing)
- 자동화된 복구(self-healing)
- 시크릿과 구성 관리
자세한 내용은 아래 Kubernetes 문서를 참고하시기 바란다.
Kubernetes 클러스터는 서로 연결되어 하나의 유닛처럼 동작하는 컴퓨터 클러스터이이다. Kubernetes가 제공하는 기능은 클러스터 단위로 동작하며, 클러스터 단위로 설정할 수 있다.
마스터는 클러스터 관리를 담당한다. 애플리케이션을 스케줄링하거나 스케일링, 업데이트하는 등 클러스터 내의 모든 활동을 관리한다. 일반적으로 마스터의 구성 요소들은 별도의 머신(가상 머신 혹은 물리 머신)에서 구동된다. 고가용성 보장을 위해 한 클러스터에 다수의 마스터를 구성할 수도 있다.
노드는 사용자의 애플리케이션이 구동되는 워커 머신이다. 하나의 클러스터에는 다수의 노드가 존재할 수 있다. 노드는 마스터와 연결해야 동작된다. 마스터의 애플리케이션 구동, 정지 등의 명령에 따라 그대로 수행한다.
NHN Kubernetes Service(NKS)는 클라우드에서 Kubernetes를 올바르고 안전하게 구동할 수 있게 Kubernetes 클러스터를 생성하고 관리할 수 있는 서비스이다. 사용자는 웹 콘솔을 이용해 NHN Cloud에 꼭 맞는 Kubernetes 클러스터를 만들고 관리할 수 있다. 안전하고 효율적으로 운영할 수 있게 마스터는 NHN Cloud에서 관리하고, 사용자는 노드와 서비스, Pod(파드) 등을 관리한다.
NHN Kubernetes Service(NKS)의 주요 기능은 다음과 같습니다.
- NHN Cloud에 꼭맞는 Kubernetes 클러스터 생성과 관리
- NHN Cloud의 기반 서비스와 연동
- 로드 밸런서를 이용한 서비스 공개
- 블록 스토리지와 연동한 퍼시스턴트 볼륨(Persistent Volume, PV) 지원
- 고가용성을 보장하는 마스터 관리
- 웹 콘솔을 이용한 쉬운 조작
- 클러스터 생성, 삭제, 조회
- 노드 그룹 생성, 삭제, 조회
- kubectl 설정 지원