클라우드&서버/NCP
클라우드 인프라 기초
JDLee
2022. 6. 2. 09:31
!! 해당 글은 edwith의 NCP 강의를 정리한 글 입니다.
인프라의 정의
- IT Infrastructure는 IT 서비스의 기반이 되는 구성요소들의 집합
- 구성요소로는 서버(컴퓨터), 스위치, 스토리지 와 같은 하드웨어와 운영체제(OS)같은 소프트웨 및 네트워크도 포함
인프라의 역할
- 기능적 요구사항
- 시스템이 처리할 일에 대한 내용
- 비기능적 요구사항
- 품질 혹은 속성 등에 대한 내용
- 인프라는 비기능적 요구사항을 만족시키는데 중요한 역할
인프라의 유형
- 온프레미스
- 기업이 자체적으로 서버와 네트워크 장비를 구축 및 운영하는 형태
- Private Cloud도 On-Premise 환경에 속한다.
- 데이터센터의 관리부터 물리시스템 구축 및 운영까지 관리해야함
- Public Cloud
- CSP에서 인프라를 구축하고 운영 및 관리하는 형태
- 데이터센터를 직접 운영하거나 관리할 필요가 없어 운영하는 서비스에만 집중
Private Cloud와 Public Cloud의 구분 및 차이
- 인프라가 존재하는 위치와 운영방식, 사용자를 기준으로 나뉘어짐
- Private Cloud
- 자체 데이터 센터에서 사내 엔지니어가 인프라를 운용하고 제한된 인원만 사용 가능하도록 만든 클라우드
- Public Cloud
- CSP 데이터 센터에서 CSP 엔지니어가 인프라를 운용하고 누구나 사용 가능하도록 만든 클라우드
데이터 센터
- 데이터센터는 서버, 네트워크 회선 등을 제공하는 건물 혹은 시설
- 장비들을 정상적으로 가동하기위한 냉각 및 공조 시스템이 존재
- 장비들은 랙(Rack)에 마운트(mount)되어 운영
Nerocloud
자체 클라우드를 구축하고 싶은 고객들을 위해 제공
- Rack Type
- 서버, 스토리지, 네트워크 등 하드웨어 등이 연결된 랙을 고객 데이터 센터에 위치하여 제공
- Smart Server Farm
- Rack Type에서 제공되는 하드웨어와 UPS 및 공조 시설까지 네이버 클라우드 데이터 센터에에 위치하여 제공
서버의 구성요소
- CPU
- 중앙연산장치로 컴퓨터의 연산을 담당
- 서버의 성능과 직결되는 중요 요소
- 클럭 속도와 core 갯수에 따라 사양을 구분
- Memory
- CPU에서 처리되는 데이터들을 임시적으로 저장하는 저장소
- 메모리 공간과 용량을 고려하여 장착 필요
- 서버 및 CPU에 따라 지원하는 스펙이 상이(DDR 버전)
- Disk
- 처리되는 데이터들을 영구정으로 저장하는 저장소
- HDD와 SSD로 구분
- RAID를 통해 가용성과 성능 향상이 가능(Raid 0~6)
- Network Interface Card
- 네트워크 연결을 위한 인터페이스
- 네트워크 이중화 혹은 다중화를 통해 가용성 확보
- IPMI(iLo, iDRAC..)
- 원격으로 서버를 관리하기 위한 네트워크 인터페이스
- 서버에 오류가 생겼을 때 직접 데이터 센터를 방문하지 않고 서비스하기 위해 활용
- IPMI 전용 스위치로 운영됨
베어메탈 서버
- 인프라 리소스를 보다 안정적으로 사용하고 싶을 때 활용
- 서버 리소스를 독점적으로 사용할 수 있으며, 다른 클라우드 상품과 연계 가능
- 주로 게임, 데이터베이스 용도로 활용
- 서버를 일시중지하더라고 요금이 부과
가상화 서버
- 인프라 리소스를 효율적으로 사용하고, 운영 비용을 절감하여 사용 가능
- 일반적으로 일반 VM(HDD, SDD) 등을 제공
- GPU 서버를 통해 데이터 분석등에 활용 가능
- 월 요금제, 시간 요금제로 구분되어 제공
네트워크
- 어원은 그물망(net)을 만드는 일(work)에서 유래되었다.
- IT에서 네트워크는 장비들을 서로 통신하게 만드는 망을 만드는 것
OSI 7계층
- 국제표준화기구(ISO)가 발표한 모델
- 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 구분
- 신뢰성 있고, 원활한 통신을 수행하기 위한 통신규약
- 모든 컴퓨터 및 네트워크 장치는 OSI 참조 모델을 참고
- 최근 TCP/IP 4계층의 간단한 모델을 활용하기도 한다.
- Application
- 브라우저, 메신저 등 소통하기 위한 어플리케이션
- Presentation
- 인코딩, 압축, 암호화, 복호화 등을 담당
- Session
- 다른 서버와 통신을 하기위한 세션을 관리
- 어플리케이션간 연결, 품질 확인
- Transport
- 데이터를 전송하는 것을 조율하는 계층
- 속도, 용량, 목적지 등을 관리
- 포트 번호를 관리하여 서비스 별로 로드밸런싱 가능
- Network
- 패킷을 라우팅하는 계층
- IP를 활용해 라우터간 열결하여 패킷이 가야할 길을 안내
- Data Link
- Mac 주소를 기반으로 통신
- Physical
- 통신을 위한 전기적 신호를 관리
- 주로 랜선을 통해 연결
Local Area Network(LAN)
- 특정 공간이나 범위 내에 존재하는 독립된 네트워크
- 이더넷(Ethernet)을 표준규격으로 활용
Cable
- 실제 서버와 네트워크장비를 연결하는데 사용하는 cable
- UTP Cable
- 일반적으로 활용하는 랜선 일반적으로 근거리의 1Gbps 속도로 활용한다.
- 케이블 종류에 따라 10Gbps까지 지원
- Fiber-Optic Cable
- 광케이블이라고 부르며 원거리에 고속통신을 안정적으로 할 떄 활용
- 설치시 어두운 곳에서 볼 때 불빛이 보이는 곳이 송신 부분, 보이지 않는 부분이 수신 부분에 설치 되어야 한다.
IP와 MAC주소
- MAC주소
- 전 세계에서 유일한 하드웨어 물리적 주소
- 제조업체에서 장비를 제작 시 할당
- 변경할 수 없는 주소
- IP 주소
- 네트워크 연결을 위해 제공되는 논리적 주소
- IP를 할당하는 주체에 따라 주소가 가변적으로 변경
- 실제 기기 통신시에는 IP주소를 MAC주소로 변경하여 통신(ARP)
IP 주소의 구조
- 이진수 32자리로 구성 된 IP를 8자리씩 10진수로 변환하여 활용
- 공인 IP
- 인터넷 상에서 디바이스들이 서로를 인식하고 통신이 가능한 고유의 주소
- 공인 IP 주소의 갯수는 유한하며, 돈을 주고 구매해야 하는 유료
- IP 갯수의 제약을 벗어나기 위해서 NAT를 활용하여 사설 IP 활용
- 사설 IP
- 일반 가정이나 회사 등에 할당관 가상 IP
- 외부와 통신하기위해 라우터의 공인 IP와 매핑되어야 함(NAT)
통신 방법의 구분
- 유니캐스트(Unicast)
- 1 댸 1 통신 방식으로 특정 목적지로만 프레임을 전달
- 패킷에 적혀있는 MAC 주소와 목적지의 MAC 주소가 맞아야지만 전달
- 브로드캐스트(Broadcast)
- 같은 네트워크 대역의 모든 장비에 보내는 통신
- 타겟 주소와 수신자 주소가 일치하지 않아도 패킷을 전달
- 멀티캐스트(Multicast)
- 특정 드굷에 속한 장비 여럿에 메세지 전달
- 수신대상자가 아닌 장비의 CPU에 Interrupt를 발생시키고 싶지 않을 때 사용
네트워크의 구분
- 내트워크가 같은지 다른지 구분하는 기준은 서브넷(Subnet)이 같은지에 따라 구분
서브네팅
- 하나의 네트워크를 여러 대역으로 분할 하는 것
- IP 낭비를 줄이고, IP 대역을 효율적으로 사용하기 위해 활용
- 네트워크를 용도 별로 분리하여 보안을 강화
- 네트워크 범위를 나누기 위해 서브넷 마스크를 활용하여 서브네팅팅
스위치
- 여러 장치를 연결하여 하나의 네트워크를 구성
- 네트워크 계층에 따라 L2 스위치, L3 스위치, L4스위치 라고 부르기도 하며 다양한 역할을 수행
- 통신을 위한 경로 결정 역할과 스위칭 기능을 제공
- 스위치가 발전하면서 L3 스위치 에서도 라우팅 기능을 제공하여 라우터와 L3 스위치를 구분하지 않고 호칭
- 라우터(L3 Switch)
네트워크 가상화
- 클라우드 환경에서 사용자들에게 동적으로 독립적인 가상 네트워크 공간을 제공하기 위한 기술
- 네트워크 환경 뿐만 아니라 로드 밸런싱, 라우팅, 방화벽 역할도 함께 제공
- 하드웨어로만 구축 가능했던 네트워크 기술을 소프트 웨어로 구축하면서 자원을 효율적으로 활용
- VLAN과 같은 기술을 통해 한 대의 스위치를 통해 분리된 여러 대의 스위치처럼 활용 가능
- VXLAN의 기술로 확장성과 유연성을 더해 물리적 제약을 넘어서 서비스 제공
- VXLAN을 통해 SDN,NFV 같은 기술을 실현
네이버 클라우드 플랫폼의 VPC 및 Subnet
- 클라우드 상에서 논리적이고 격리된 고객 전용 네트워크
- VPC를 통해 나만의 네트워크 공간을 구축하고, Subnet을 통해 IP 대역을 세분화
네이버 클라우드 플랫폼 Load Balancer
- 네트워크 트래픽을 다수의 서버로 분산
- Application, Network Proxy, Network Load Balancer를 제공
VPN
- 외부에서 Private 네트워크 망에 가상으로 전용선 처럼 접근하도록 하는 기술
- IPsec VPN은 site-to-site VPN을 구성할 떄 활용
- SSL VPN은 인가 받은 클라이언트들이 네트워크 망에 접속할 떄 활용
네이버 클라우드 플랫폼 IPsec VPN
- 외부에 있는 고객의 네트워크와 네이버 클라우드 플랫폼의 있는 네트워크를 암호화된 터널링 통신으로 연결
네이버 클라우드 플랫폼 SSL VPN
- 인가받은 사용자들이 SSL VPN을 통해 네이버 클라우드 플랫폼 서버에 접근할 수 있도록 설정
스토리지
- 컴퓨터에 데이터를 비휘발성으로 저장할 수 있는 저장장치
- 과거 스토리지의 속도, 안전성에 초첨을 맞춰 왔다면 오늘 날엔 데이터 레이크 등 초 대용량 스토리지 기술이 조명 받음
RAID
- RAID 0
- 스트라이핑 기술을 이용하여 데이터 세그먼트들을 분산 기록하는 방법
- 처리 속도를 높이기 위해 활용
- RAID 1
- 미러링 기술을 이용하여 데이테 세그먼트를 복수의 디스크에 실시간으로 복제
- 데이터 손실 방지를 위해 활용
- RAID 5
- 패리티라는 데이터 복구 기술을 활용하여 데이터 손실 복구
- 디스크 개수가 많을 떄엔 Parity 연산 오류로 인해 RAID가 꺠질 수 잇음
- RAID 6
- 데이터 별로 패리티를 2개씩 구성하여 데이터 손실 복구 가능성을 높은 RAID
- RAID 5에 비해 디스크가 1개 더 필요하므로 자원 손실
- RAID 10
- RAID 1 과 RAID 0을 중첩하여 사용하는 레이드 방식
- 하위는 RAID 1로 상위는 RAID 2로 구성
- Hot Spare
- 기존에 구성된 RAID에 디스크 1개를 추가로 장착하여 디스크가 망가진 경우 대체하도록 하는 기술
- Hot Spare를 새로운 디스크로 복구하는 작업을 copyback 이라고 한다.
- Rebuilding
- 디스크 교체하는 일련의 과정
- JBOD
- 단순히 물리적인 디스크 여러개를 모아서 하나의 큰 하드 디스크처럼 보이도록 하는 기술
- RAID 기술과는 다르게 데이터를 분산저장하지 않으므로 I/O 분산이 불가능하여 성능적으로는 좋지 않다.
- 대신 디스크 1개가 망가질 겨우 해당 디스크에 저장된 데이터만 손실된다
전통적인 스토리지
- DAS
- 데스크탑에 직접 연결하는 스토리지
- 접근 속도가 빠른 장점을 가지고 있다.
- 연결된 서버만 접근할 수 있고, 용량을 늘리는데 한계가 있다.
- NAS
- 스토리지가 LAN에의해 연결된 스토리지
- 다수가 스토리지에 접근 할 때 유용한 스토리지
- SAN
- 여러 스토리지를 하나로 묶어 스위치로 연결한 고속 네트워크 기반 스토리지
- 비용이 높아 도입에 어려움이 있음
데이터 저장 방식
- 파일 스토리지
- 중첩된 계층 구조를 갖는 스토리지
- 가장 흔이 볼 수 있는 형태
- 데이터는 특정 디렉토리 안에 단일 정보로 저장
- 이해하기 쉽고 편리한 인터페이스 제공
- 경로가 길어질수록 비효율적
- 블록 스토리지
- 하나의 데이터를 고유의 식별자를 가진 블록 형식으로 쪼개서 저장
- 파일 스토리지 대비 데이터에 효율적으로 접근 가능
- 비용 문제와 메타데이터 관리 기능이 어려운 문제가 있음
- 오브젝트 스토리지
- 비정형 데이터 저장에 가장 적합한 스토리지
- 클라우드에서 자주 사용되는 저장 박식으로 데이터를 객체 단위로 관리 및 조작
- 객체는 실제 대상 데이터와 그 데이터의 메타데이터의 조합(key-value 조합)
- Software Defined Storage
- 하드웨어에 대한 소프트웨어 종속성을 제거하여 일반 x86서버에서 동작하도록 하는 기술
- HCI(Hyper-Converged Infrastructure)
- 컴퓨팅, 스토리지, 네트워킹 하이파이저를 비롯한 가상화 기술을 하나로 묶은 것
- 스토리지 컨트롤러와 서버의 균등한 스케일링이 어려워 스토리지 병목구간 발생
- 이를 해결하기 위해 서버에 내장된 디스크를 이용하여 Storage Pool을 구성하여 손쉽게 스케일링
- 데이터 중복제거(De-Duplication)
- 데이터 중복제거, 디둡이라고도 불린다
- 대용량 데이터를 저장해야 하는 상황에서 활용
- 스토리지 저장공간 및 백업 시간 단축 가능
네이터 클라우드 플랫폼 스토리지 상품
- Block Storage
- 서버에 할당하여 사용하는 스토리지
- HDD, SSD 타입 중 선택하여 생성 가능
- 내부적으로 이중화되어 안전한 환경 제공
- 서버 한대당 최대 16대의 스토리지 부착 가능 <
Object Storage와 Archive Storage
- 사용량에 따라 데이터 저장위치를 바꿔 비용을 절감
NAS
- NCP 환경에서 다수의 서버들이 공통의 스토리지를 접근할 때 활용
- 스냅샷 기능을 이용해 데이터 손실 위험 방지
Backup
- 운영하는 서비스의 데이터를 가장 안전하게 보관할 수 있는 방법
- 전문 인력이 고객의 백업 업무를 대행하여 안전하게 데이터를 백업
- 최대 52주까지 백업 데이터 보관 가능
- Zone을 달리하는 소산 백업 지원
- 마켓플레이스 백업 솔루션 활용
NCP의 리전(국가단위)
- 10개 지역에 글로벌 데이터센터 운영 중
- 글로벌 리전들 간에는 전용선 연결로 사설 통신 제공
- NCloud 운영 국내 4개 IDC 중 2개 IDC에서 NCP 서비스 운영 중
- 민간, 공공, 금융 클라우드 존으로 나누어 서비스 중
NCP의 Avilability-zone
- 리전 내 물리적으로 분리되어 있는 데이터센터 및 네트워크로 구성되어 있는 지점
- 각 존들은 전용회선을 통해 사설 통신
- 사용자는 서비스 가용성 및 연속성을 위해 복수개의 존에 걸쳐 서비스를 설계 및 배포
NCP에서 인프라 구축시 고려사항
- 가용성
- 이중화 구성을 통한 시스템 중단없이 계속 서비스가 가능하도록 구성
- 성능
- 시스템상의 요구사항을 충족하고 서비스의 수요에 맞춰 인프라를 효율적으로 운영하도록 구성
- 적절한 용량 선정, 사전 테스트, 지속적인 모니터링을 고려하여 구축
- 신뢰성
- 백업 정책에 맞춰 주기, 방법, 소산백업 여부 등을 수립 및 수행
- NCP가 책임지는 영역과 고객이 책임지는 영역을 구분하여 보안정책을 고려하여 인프라 구축
- 확장성
- 오토스케일링 기능을 통해 설정에 따라 서버 수를 자동으로 증가 또는 감소시켜 안정적인 서비스 유지
- Alarm 방식을 통해 임계점 설정에 따른 오토스케일링 수행
- On-demand 방식을 통해 필요할 때만 증가 시켜 서버운영 비용을 효율적으로 관리
- scheduling 방식을 통해 주기적으로 오토 스케일링 가능
- 관리성
- 클라우드 서비스에 대한 지속상태를 확인하기 위한 모니터링 체계를 구축
- 문제나 장애 발생시 예방 혹은 빠른 초치를 통해 서비스 가용성을 유지, 개선
- 비용
- 사용한 만큼 과금되는 구조로서 과금 구조를 정확하게 파악하고 장기 할인 플랜 등 요금을 절약할 수 잇는 방안 탐색