프로그래밍/NCA

강의 정리

daykim 2024. 3. 15. 11:13
[공인교육 - Associate 과정] 정리
 

[LECTURE] 1강. 과정 소개 및 네이버 클라우드 플랫폼 서비스 개요 : edwith

1강에서는 네이버클라우드플랫폼 공인교육 - Assoicate 과정에서 다루게될 내용을 소개하고,  클라우드 서비스란 무엇인지, 그리고 네이버클라우드플랫폼은 어떤 서비스들을 제공하는... - jk

www.edwith.org

 

Overview


공공 클라우드

  • 공공 클라우드 인증을 받은 클라우드
  • 공공 서비스에 최적화된 공공 서비스 전용 플랫폼을 제공
  • 공공기관의 심의 요건충족 및 다수의 보안 인증 취득해 안전성을 검증받음

금융 클라우드

  • 국내 최초의 전문 금융 퍼블릭 클라우드
  • 금융 및 핀테크 기업들이 법적인 규제에 대해 안심하고 사용 가능한 국내 최초의 전문 금융 퍼블릭 클라우드
  • 금융과 핀테크 기업만을 위한 전용 클라우드 데이터 센터

 

Cloud를 사용하는 이유

1. 비용절감

  • 데브옵스, 사용한 만큼 지불하는 등 기회비용 최적화 등을 통한 배용 절감
  • 다양한 부가 상품 이용을 통한 개발 비용 절감
  • 데브옵스 : 소프트웨어 개발과 운영을 통합하여 효율성, 협력, 속도, 안정성을 개선하는 개발 및 운영 방법론

2. 빠른 Desploy

  • 기존 Legacy 인프라에 비해 빠른 인프라 구성 시간
  • 시간은 돈이다!

3. 글로벌 진출시 용이

  • 글로벌 리전 활용을 통해 글로벌 진출시 보다 빠르고 손쉬운 인프라 구성

4. 보안

  • 인프라에 대한 보안은 클라우드 공급 업체에 위임
  • 다양한 보안 상품을 이용해 보안 강화

 

네이버 클라우드 플랫폼 인프라 상품군

  • Hybrid : 기존의 레거시 인프라도 유지를 해야하는 경우 사용한다.

 

존 (Zone)

  • 국가 단위의 리전 내에 물리적으로 분리되어 존재하는 데이터센터 및 네트워크
  • 각 존은 독립적으로 존재해 특정 존에 장애가 발생해도 다른 존에 영향을 미치지 않는다.

리전 (Region)

  • 효율적인 서비스를 위해 주요 거점에 구축한 하나 이상의 존의 집합을 뜻한다.
  • 서비스를 제공하는 서버의 지리적 위치로 구분한다.
  • 리전이 사용자와 가까울수록 서버 응답 속도가 빠르므로, 사용자와 리전의 물리적 거리를 고려해 리전을 선택한다.

글로벌 리전

  • 미국 서부 리전
  • 싱가포르 리전
  • 홍콩 리전
  • 일본 리전
  • 독일 리전

 

상품 의존성

존 의존 상품

  • 서버, CDB와 같이 존에 의존적인 상품
  • Server, NAS, Block Storage 같은 IaaS 상품
  • Subnet 상품

리전 의존 상품

  • LB(로드밸런서), Object Storage 등 네트워크 및 스토리지와 같이 서비스 지원 상품이 리전에 의존적인 상품
  • VPC, Object Storage, Archive Storage 상품

리전 통합 상품 (존, 리전 무관한 상품인듯?)

  • DNS, Paas, ACG 등과 같은 어플리케이션 상품

 

Compute 서비스


  • 기본적인 서버를 생성하고 관리하는 상품
  • 서버 정지 시 컴퓨팅, 네트웍 요금은 발생하지 않으나 스토리지 비용 발생
  • 서버 정지 시 표준 요금이 적용되는 서버
  • SSD, HDD 디스크 타입 제공

Server

  • 클라우드 환경에 서버를 생성해 시간과 비용 측면에서 효율적이며 인프라 운영이 부담되거나 일시적으로 많은 서버 자원이 필요한 경우에 적합
  • 모니터링 기능 제공
  • 강력한 보안
  • Init Script
    • 사용자가 미리 작성해둔 스크립트를 서버가 생성될 때 자동으로 실행하는 기능
    • 운영체제에 맞는 언어로 작성해야 하고, 네이버 클라우드 플랫폼 콘솔에서 등록하거나 서버RESTful API를 통해 적용 가능하다.
    •  Linux : Python, Perl, shell 스크립트
    • Window : Visual Basic 스크립트
    • 서버 생성 시 최초 1회에 한해 실행
    • 같은 용도 서버 여러대 일괄 생성, 동일한 환경 서버를 주기적으로 생성, 용도별 서버 초기환경 관리 필요한 경우 사용한다.

 

일반 서버

서버 타입 OS 서버 스펙
Micro CentOS, Ubuntu 1vCPU, 1G RAM, 50G HDD
Compact / Standard CentOS, Ubuntu, Windows 2~16vCPU, 4G~32G RAM
High Memory CentOS, Ubuntu, Windows 8~132vCPU, 64G~256G RAM
VDS CentOS, Ubuntu, Windows 20~32GvCPU, 80~232G RAM, 1~2TB HDD
CPU Intensive CentOS, Ubuntu, Windows 2~32vCPU, 4~64G RAM

서버 타입별 특성

기능 Standard CPU Intensive
스토리지 추가 가능 가능
SSD 스토리지 이용 가능 가능
오토스케일링 이용 가능 가능
IOPS 성능
(Input/Output
Operations
Per Second)

높음 높음
Network Interface 이용 가능 가능
글로벌  회선 이용 가능 불가

 

Bare Metal Server

  • 단독으로 사용할 수 있는 고성능 물리 서버를 클라우드 형태로 제공
  • 단독 서버를 사용하기 때문에 성능에 민감한 서비스도 안정적으로 운영 가능하다.
  • 물리 서버에 하이퍼바이저 없이 바로 운영체제를 설치해 제공한다.
  • 적합한 RAID 구성 방식을 선택할 수 있다. (RAID1+0 / RAID5)
  • CentOS, ORACLE Linux, Window 제공
  • 네이버 클라우드 플랫폼의 다양한 서비스와 연계 가능
    • 내서버 이미지, 스냅샷, 추가스토리지 기능 제외
  • 서버 장애시 Live Migration (클라우드 장애 복구 기술) 불가
  • 물리적 디스크를 최대 5개의 논리적 파티션으로 나누어 사용 가능
  • 시간 단위 종량 요금제 제공
  • 서버 정지 시, 일부 타입 서버에 대해 운영체제 설치를 위해 제공된 기본 디스크 요금만 청구

 

GPU 서버

  • 병렬 처리에 최적화된 GPU 서버의 고성능 컴퓨팅 파워 제공
  • 딥러닝, 머신러닝, 자율주행 등 고성능 컴퓨팅에 적합한 서버
  • NVIDIA P40 장착, Pass Through 적용해 제공, 서버당 2장의 GPU 제공
  • GPU 사양 : 4vCPU, 30GB Memory 당 GPU 1개, 24GB GPU 메모리 제공
  • 제공 OS : CentOS, Ubuntu
  • 제공 GPU 카드 : A100, V100, T4, P40
  • VM, BM(Bare Metal Server) 두가지 유형으로 제공하는데, 최대 8개의 GPU 자원을 제공

 

SSD Server

  • 빠른 입출력 처리가 가능한 SSD가 장착된 서버를 제공하는 서비스

 

Auto Scaling

  • 사전 설정에 따라 서버 수를 자동으로 조절해 주는 서비스
    • Scale-out : 자동 확장
    • Scale-in : 자동 축소
  • 통합 모니터링 서비스 - 임계치를 설정하고 그걸 기준으로 서버 수 자동 조정
  • 시간대별 서버 크기 자동 조절
  • 비정상 서버 감지 및 교체
  • 반납할 서버 지정 가능
  • Load Balancer : 서버의 성능과 부하량을 고려해 네트워크 트래픽을 다수의 서버로 분산시켜주는 네이버 클라우드 플랫폼의 서비스
  • 헬스 체크 : Auto Scaling Group의 가상 서버에 주기적인 상태 확인을 수행해, 상태가 비정상인 가상 서버를 식별하도록 체크하는 행위
    • 헬스체크 보류 기간 (Health Check Grace Period) : 서버가 생성돼 운영중이어도 특정 상황으로 헬스 체크에 정상 응답하지 못하는 경우, 실패해도 서버 헬스에 이상 있다고 판단하지 않는 기간
  • 쿨다운 기본값(Defaoult Cooldown) : 새롭게 생성된 서버일지라도 Init-Script 실행이나 업데이트 설치 등의 이유로 실제 서비스 수행을 위해서는 준비 소요 시간이 필요하기 때문에, 실제 Scailing이 수행중이거나 수행 완료된 후 모니터링 이벤트 알람이 발생하더라도 무시하도록 설정한 기간의 기본값
  • Launch Configuration : Auto Scaling 서버 생성용 템플릿을 등록하고 관리

Auto Scailing Group (ASG)

  • Auto Scaling을 이용하기 위한 여러 개의 서버 인스턴스 그룹
  • 계정당 최대 100개의 Auto Scailing 그룹 생성
  • 그룹당 최대 30대의 서버 생성
  • 오토 스케일링 그룹의 최소 최대 용량 : Auto Scaling Group의 최소/최대 서버 수. 최소 서버 수의 경우 항상 이 값과 같거나 이 값보다 더 큰 서버 수가 유지되며, 0으로 설정 시 서버를 한 대도 보유하지 않는 상태를 유지 가능
  • minSize <= desiredCapacity <= maxSize 대소 관계 유지

 

서버 Operation 방법

  • 웹 콘솔을 이용해 Operation
  • CLI Operation
  • API Operation
  • 추가 스토리지 구성
    • 스토리지 당 10GB ~ 2T까지 생성 가능
    • 단일 서버 최대 15개의 스토리지 추가 가능
    • 2TB 이상으로 사용하고자 하면, Linux는 LVM, Window는 동적 디스크 할당 통해 여러개 디스크를 하나의 볼륨으로 묶을 수 있다.
    • 서버에 연결된 디스크를 다른 서버로 옮길 수 있다.
    • 사용중인 디스크의 크기가 부족할 경우 필요한 크기로 확장 가능

 

Network 서비스


VPC (Virtual Private Cloud)

  • 퍼블릭 클라우드 상에서 제공되는 고객 전용 사설 네트워크 공간
  • 계정마다 최대 3개 생성
  • 용도별 네트워크 토폴로지 구성 : 용도에 따라 네트워크를 세부노하해 고객 맞춤형 네트워크를 구성할 수 있습니다.
  • 보안기술인 ACG (Access Control Goup), NACL (Network Access Control List) 제공
    • ACG : Server간 네트워크 접근을 제어 및 관리하는 방화벽 서비스로, Stateful 기반 동작
    • NACL : Subnet 간 네트워크 접근을 제어하는 서비스로, stateless 기반 동작
  • Route Table : 목적지와 타겟을 입력해 네트워크 경로를 설정하는 라우팅 규칙 데이터
  • VPC Peering : 여러개의 VPC를 운영할 경우, VPC간 통신이 빈번할 수 있다. VPC 피어링을 이용해 사설 IP를 기반으로 통신할 수 있어, 인터넷에 노출하는 일 없이 안전한 통신 수단을 확보할 수 있다. 단방향 통신 제공
  • SFC (Service Function Chain) : SFC 기능으로On-premise에서 사용하던 네트워크/보안 어플라이언스를 동일하게 구성해 국가 클라우드 보안 관데 가이드라인과 같은 보안 정책을 준수할 수 있다.

 

Classic vs VPC

  Classic VPC
ACG 최대 생성 개수 계정당 100개 VPC당 500개
적용 대상 서버 서버 NIC
적용 ACG 개수 서버당 5개 NIC당 3개
속성 맵핑 정보 변경 불가 맵핑 정보 변경 가능
의존성 없음 VPC에 의존
Rule 속성  Inbound In / Outbound
Rule 최대 생성 개수 Inbound 100개 In 50 / Out 50 개

 

네이버 클라우드 플랫폼 Networking

  • 외부와의 통로, 내부와의 통로뿐 아니라 DNS, CDN과 같은 다양한 서비스 제공
  • 유입되는 네트워크 트래픽을 백엔드 서버로 분기하기 위한 Load Balancer
  • 네임 서버 제공하는 DNS
  • 요청 사용자에 가장 가까운 엣지 서버에서 캐싱된 파일 제공해 원본 부하 낮출 수 있는 CDN 상품
  • Site-to-Site 연결 위한 IPSEC VPN 상품
  • 비공인 IP 가진 다수 서버에게 단일 공인 IP를 이용한 외부 접속을 제공하는 NAT Gateway 제공
  • 글로벌 네트워크 트래픽을 백엔드 서버로 분기하기 위한 Global Route Manager

 

Load Balancer

  • 서버 성능과 부하량을 고려해 네트워크 트래픽을 다수의 서버로 분산해주는 서비스
  • 부하 분산을 위해 서버 앞단에서 트래픽 분산
  • 소프트웨어 방식인 HAProxy를 이용해 로드밸런싱
  • 기본적으로 로드밸런서 하나를 생성하면, HAProxy 서버 2개가 도메인에 바인딩 되어 제공
  • 로드밸런서는 최대 6만 TPS(Transaction Per Second) 까지 보장

  • 연결방식 : Proxy 방식
  • 따라서 서버에선 클라이언트 IP를 확인할 때 별도의 설정이 필요하다.
  • 클라이언트 IP를 확인하고자 할때, SSL/TCP 일 경우, Proxy protocol 사용 HTTP/HTTPS일 경우 X-Forwarder 사용
  • 로드밸런싱 알고리즘
    • Round Robin
    • Leas Connection
    • Source IP Hash : 클라이언트 IP에 대한 해시테이블 가지고 클라이언트IP에 매핑되는 서버에 새로운 커넥션을 분배하는 방식

  • 생성 후 설정 가능 내용
    • HTTP Keep Alive On / Off (Default Off)
    • Connection Idle Time (Default: 60 Sec)

 

DNS

  • 도메인 등록 서비스
  • 다양한 레코드 다입 지원 (A, NS, PTR, AAAA, MX, CNAME, SPF)
  • 등록 도메인으로 인입되는 트래픽을 분기
  • 등록된 도메인에 대한 헬스 체크 불가

 

CDN (Content Delivery Network)

  • 컨텐츠를 Caching해 보다 빠르고 안정적으로 사용자에게 전송하는 서비스
  • CDN+ : 국내 전용
  • GCDN : 국외전용
  • 원본은 NCP 오브젝트 스토리지 || 커스텀 오리진 서버를 둘 수 있다.
  • 도메인은 랜덤 CDN 도메인 || 보유하고 있는 도메인 사용 가능
  • 지원 프로토콜 : HTTP, HTTPS

  • CDN이 필요한 이유
    • 대규모 파일 배포나 이미지 서비스, 동영상 서비스 등 대규모로 트래픽이 발생하는 경우
      웹 서버를 통해 배포하게 되면 웹 서버의 용량이 기하 급수적으로 커져야 한다.
    • 이러한 대규모 트래픽에 효과적으로 대응하기 위한 서비스다.

 

IPSEC VPN

  • 고객의 사내방과 NCP 간 사설통신을 위한 IPSEC VPN
  • 외부에 있는 고객의 네트워크와 네이버 클라우드 플랫폼의 네트워크 간 터널링 통신을 암호화하여 보호합니다.
  • 고객의 VPN 장비와 NCP VPN 장비 간 터널링 연결 제공 (통신 방식 호환 되어야함)
  • NCP 서버들은 Private Subnet 대역(192.168.x.x)으로 통신 필요
  • BW 최대 30Mbps 제공

 

NAT Gateway

  • 비공인 IP를 가진 다수의 서버에게 대표 공인 IP를 이용한 외부 접속을 제공
  • 해당 IP는 NAT(Network Address Transration?) Gateway만 독점적으로 사용하는 IP다.
  • Auto Scaling과 연계된 자동 설정을 제공한다.
  • 보안으로 공인 IP에 대한 ACL을 오픈할 수 없는 경우 혹은 공인 IP에 생성 비용 절약 가능

 

Global Route Manager (GRM)

  • DNS 기반의 다양한 방법을 통해 네트워크 트래픽을 안정적으로 로드밸런싱하는 GSLB 상품
  • DNS 기반의 로드밸런싱 서비스 제공을 통해 지역별 트래픽 기반 부하 분산, DR 구축 등에 사용할 수 있는 상품
  • 로드밸런싱 타입은 4가지 제공 (RoundRobin, Weighted, GeoLocation, Failover)
  • IP에 대한 Health Check만 제공

 

Global Traffic Manager

  • DNS 기반의 네트워크 트래픽을 다수의 서버로 분산해주는 서비스
  • 분기 처리 알고리즘 지원
    • RR
    • WeightBased
    • Geolocation : 글로벌 서비스에 최적화된 알고리즘
    • CIDR : 접속자 IP 대역에 따라 다른 리소스가 응답
  • Global DNS 연계
  • 빠른 응답속도

 

Storage 서비스


Object Storage

  • 인터넷상에 원하는 데이터를 저장하고 사용할 수 있도록 구축된 오브젝트 스토리지
  • 객체 기반의 무제한 파일 저장 스토리지
  • 콘솔, RESTful API, SDK 등 다양한 방법으로 오브젝트들을 관리하고, 저장된 파일은 각 파일마다 고유한 접근 URL이 부여되어 인터넷 상에서 여러 사용자가 쉽게 접근 가능
  • 정적 웹 사이트 호스팅 가능
  • 특징
    • S3 Compatibility API 지원
    • Data Lifecycle 지원
    • Sub Account 와의 연동으로 접근 제어 가능
    • CDN, Transcoder, Image Optimizer, Cloud Hadoop, Cloud Log Analytics와 같은 NCP 내 다양한 상품과 통합/연계 지원

 

Archive Storage

  • 데이터 아카이빙 및 장기 백업에 최적화된 서비스
  • Infrequent Data 백업 및 Archiving Data 보관을 주 목적으로 하는 스토리지
  • Object Storage보다 데이터 저장 비용 저렴, 데이터 처리 API 비용은 비쌈
  •  특징
    • 콘솔, API, CLI, SDK를 이용해 데이터 관리 가능
    • 데이터 최소 보관 기간 없이 사용 가능
    • 오브젝트 생명주기 관리
    • Sub Account 연동을 통한 권한 관리 기능 제공

 

NAS

  • 다수의 서버를 공유해 사용할 수 있는 스토리지
  • 최소 500GB에서 10TB까지 구성 가능. 추가는 100GB 단위로 가능
  • NAS 가용량 안에서 생성된 스냅샷 이미지 이용해 데이터에 대한 복구 기능 제공
  • 프로토콜은 NFS / CIFS 제공
  • 서버 사설IP 이용한 ACL 오픈으로 타 계정 서버에도 마운트해 사용 가능

Block Storage vs NAS

  • Block은 최대 15개까지 추가 가능

 

Data Teleporter

  • 대용량 데이터 이전을 위한 효과적인 솔루션
  • 네트워크 비용 절감, 안전하고 빠른 데이터 이관이 가능한 서비스
  • 대용량 데이터 이전을 위한 전용 어플라이언스 대여 서비스 (최대 100T)

 

Backup

  • 서버 내 파일 및 Preinstall DB에 대한 백업 설정
  • 최대 24주까지 백업 파일 보관 가능
  • 백업 요청서 작성해 신청하고, 서버에  Agent 설치하면 끝

 

클라우드 데이터베이스


Cloud DB for MySQL

  • 자동 Fail-Over 지원 및 사용자 환경에 맞는 구성 가능
  • 최대 32vCPU에 256GB 메모리 지원, 2TB 자동 디스크 확장(Standard, High Memory) - 최신 버전은 6TB까지 가능
  • 자동 Fail-Over를 지원하며 최대 5대까지 복제 Slave ( read only) 확장가능
  • Private Load Balancer를 이요해 Read 부하 분산 가능
  • 자동 백업 주기를 설정할 수 있고, 최대 30일 백업 파일 보관

기능

  • Master DB Failover
    • 콘솔에서 수동(Manual)으로 Failover를 실행할 수 있다.
    • 서비스 오픈 전에 Master DB 장애로 Failover가 발생하는 상황을 재현해 Application에 영향이 없는지 사전에 점검 가능하다.
  • DB Process 모니터링
    • DB Server 연결해 수행중인 Query를 확인할 수 있다.
    • Slow Query 로그 외에도 특정 시점에 어떤 Query가 수행중인지 확인할 수 있어 DB 상태를 점검하는데 도움을 받을 수 있다.
  • Stand Alone 백업
    • Stand Alone 서버도 DB 백업을 사용할 수 있다.
    • 데이터가 삭제되어도 백업 보간일 설정 내에서 백업으로 데이터를 복구할 수 있다.

 

Cloud DB for Redis

  • 자동 복구를 통해 안정적으로 운영되는 완전 관리형 클라우드 인메모리 캐시 서비스
  • Redis가 제공하지 않는 자동 Fail-over 기능을 독자적으로 개발해 제공함으로써, 장애 발생시에도 안정적인 서비스 제공
  • 설치후 Redis와 OS 모니터링을 이용할 수 있고, 장애 또는 이벤트 발생시 사용자의 메일 SMS 로 장애 알람
  • 네이버 서비스에서 오랜 시간 검증된 Redis 설정을 기본으로 지원
  • Redis Cluster 미지원 (향후 지원 예정)

 

Cloud DB for MS-SQL

  • 네이버 서비스에서 검증된 최적화된 설정을 통해 안정적으로 운영되며, 장애가 발생하면 자동 복구
  • 안정적인 서비스 제공을 위해 장애 발생시 자동 Fail-over 기능 제공 (Principal DB 와 Mirror DB 총 2대 생성)
  • 설치후 즉지 MSSQL과 OS 모니터링 이용 가능하고, MSSQL 동작 상황을 그래프를 통해 손쉽게 확인 가능
  • 1분 단위의 쿼리 레벨 성능 분석을 지원해 서비스 성능과 안정성을 향상

 

Media 서비스


Live Station

  • 실시간 방송을 위한 플랫폼
  • 트랜스 코딩을 통해 여러 화질로 변환 후 송출
  • 스트림 상태를 볼 수 있는 모니터링 기능 제공
  • Thumbnail Image 추출
  • 타임머신(Time Shift) 기능으로 놓치지 않는 라이브 방송 서비ㅡㅅ 구현 가능
  • CDN 연동 통해 안정적인 송출 가능

 

VOD Transcoder

  • 고품질 저비용의 클라우드 미디어 파일 변환 서비스
  • VOD Transcoder는 미디어 원본 파일을 모바일, PC 등 다양한 디바이스에서 다양한 화질로 시청할 수 있도록 변환해주는 클라우드 기반의 미디어 서비스
  • 시중에서 사용되는 거의 모든 입력 포맷 및 코덱을 지원해 높은 인코딩 성공율 보장
  • 인터넷 라이브 생중게를 할 수 잇는 Live Transcoder, 대용량의 트래픽을 처리할 수 있는 CDN과 결합해 LIVE/VOD 통합 서비스 구현 가능

 

VOD Station

  • 쉽고 빠른 VOD 서비스 구축 상품
  • Object Storage 내의 영상 파일을 CDN을 통해 스트리밍
  • 손쉽게 VOD 송출 시스템 구축 가능
  • DASH, HLS (프로토콜 종류) 및  Segment Duration 지원
  • DRM Server - DRM 기능 향후 기획 예정

 

Image Optimizer

  • 이미지를 다양한 사이즈로 변환해 CDN을 통해 제공
  • 이미지를 Object Storage에 업로드하면 미리 설정된 룰에 맞추어 이미지 변환
  • 이미지는 CDN+를 통해 제공
  • 리사이즈, 크롭시 자동회전, 얼굴인식 기능 제공
  • 룰 설정은 Query String으로 설정

 

Workplace

  • 인사, 회계, 그룹웨어 SaaS
  • 워크플로우, 인사 회계시스템에 사내 메신저, 게시판, 조직도 기반 주소록, 메일, 캘린더, 사내 공유 폴더까지 기업에서 필요로 하는 백오피스 시스템을 SaaS로 제공
  • 모바일 환경에 최적화된 App 제공