728x90
Overview of Cloud Infrastructure
- 클라우드 모델을 선택 후, Infrasturcture 구조를 결정하여야 함
- Region : Infrasturcture가 구성되어 있는 지역 (East, US 등등)
- 한 region에 손상을 받아도 다른 region은 계속 동작
- Zone : 한 region 내에 존재하는 Data Center 구역
- DAL-09 / US-east-01 등으로 명명
- Zone의 분리는 fault 위험을 낮추고, 지연을 감소시킬 수 있음
- Computing Resource
- Virtual Server(VM) : 가상화된 소프트웨어 기반의 서버
- Bare metal servers : 가상화되지 않은 물리적 서버
- Serverless : 가상 머신의 추상화된 계층
- Storage
- 데이터의 중요도, 접근 빈도, 접근 속도, 보안 정도에 따라 결정
- Block Storage
- File Storage
- Object Storage
- Networking : 라우터, 스위치, SDN(Software Defined Networking)
- Interface : 서버와 공개된 네트워크상의 연결 여부 - public / private
- 네트워크 접근 제어 : VPC, VLAN, VPN
- HW적 제어 : 방화벽, 게이트웨이, 로드밸런서 등
Virtualization and Virtual Machines Explained
- 가상화 : 소프트웨어 기반으로 가상의 컴퓨터 / 저장소 / 네트워크 등을 만드는 것
- Hypervisor : 가상화의 핵심
- 물리적인 서버 위에서 동작하여 가상 환경에 컴퓨터 자원을 할당
- Type 1 - Baremetal Hypervisor
- 가장 대표적인 hypervisor 유형
- VMware, Hyper-v 등
- Type 2 - Hosted Hypervisor
- 물리 - Hypervisor 사이에 host OS 계층이 존재
- Virtualbox 등
- Virtual Machine : 소프트웨어 기반으로실제 컴퓨터처럼 동작 (OS, 어플리케이션 등을 동작)
- Host에 대해 독립성을 갖기 때문에 hypervisor 간에 유연한 이동이 가능
- VM의 장점
- 비용 절감 : 한 인프라 내에서 여러 VM을 돌릴 수 있다 = 실제 서버에 대한 유지 보수가 절감(전기세 등)
- Agility : VM 구성은 매우 빠르고 쉽게 할 수 있음
- 시간 절약 : 다른 Host로 빠르게 VM을 이동할 수 있다 = 백업이 간편하다
Types of Virtual Machines
- 가상 머신을 구성할 때의 고려할 점
- 가상 머신의 위치 : Region, Zone
- OS : Unix, Linux, Window, ...
- shared(Multi - tenant) / dedicated (Single - tenant)
- 과금 체계 : hourly or monthly
- shared(public) cloud : multi-tenant 구조, 정해진 크기 내에서 수요에 따라 정의
- multi-tenant : 서버를 가상화하여 다른 사용자와 공유하여 사용
- transient(spot) VM : 데이터센터의 사용하지 않는 용량을 활용
- 비슷한 VM 대비 저렴한 가격으로 공급하나, 경우에 따라 할당이 취소(de-provision)되거나 더 높은 가격으로 책정될 수 있음
- 테스트 / 개발용으로 활용
- reserved virtual server instance
- 일정 용량 혹은 자원을 보장
- 장기간 예약할수록 저렴하게 사용 가능
- Dedicated Host
- Single-tenant : 특정 Host 자원을 독점하여 사용
Bare Metal Servers
- Single-tenant / dedicated 서버, 단일 고객을 위해 할당
- 공급자는 하드웨어를 관리하고, 그 외의 부분은 고객이 설정
- 공급자에 의해 사전에 설정되거나, 고객이 원하는대로 맞출 수도 있음
- Virtual Server 대비 프로비전까지의 시간이 오래 걸림
- 단일 고객에게 할당되므로 VM 대비 고가
- Hypervisor가 필요 없기 때문에 독립된 환경에서 사용 가능하며, 하드웨어에 대한 높은 접근성을 제공
Secure Networking in Cloud
- 클라우드 환경 구축 사례가 많아지면서 보안에 대한 필요성 역시 그에 따라 높아짐
- 클라우드 보안의 경우 실제 서버 보안과 크게 다르지 않으나, 구성 요소가 논리적으로 동작한다는 차이가 존재
- 네트워크 인터페이스 컨트롤러(NIC)의 경우 클라우드에서 가상 NIC(vNIC)로 동작
- 클라우드의 네트워크 기능은 HW보다는 서비스로서 기능
- 네트워크의 사이즈(IP 주소 범위)를 정의하는 것으로 시작
- 클라우드 네트워크는 서브넷이라는 단위로 분할
- 한 서브넷 내에는 VM, 인스턴스, 저장 공간, 로드 밸런서 등으로 구성
- 각 서브넷은 접근 제어 리스트(Access Control List, ACL)이라는 서브넷 단위의 방화벽으로 보호됨
- 서브넷이 사용하는 서비스에 따라 각각 다른 보안 그룹으로 할당
- Web tier의 경우 인터넷에 연결되어야 함 : Public Gateway와 VPN을 활용
- 많은 접근이 있는 어플리케이션의 신뢰성을 위해 Load Balancer 사용
Containers
- 의존성 + 라이브러리 + 코드로 구성된 실행 가능한 SW 단위
- 클라우드, 데스크톱 등 어느 곳에서나 실행 가능
- 가상 머신과 달리 OS를 포함하지 않음
- Virtual Machine의 경우
- HW - Host OS - Hypervisor로 구성
- Hypervisor 위에 Guest OS를 포함하는 Virtual Machine이 할당
- VM 위에 프로그램 구동
- 여러 개의 프로그램 구동시 그만큼의 VM이 필요
- 다수의 프로그램 구동 시 많은 자원이 필요하고, VM별로 다른 호환성 문제가 있을 수 있음
- Container의 경우
- 파일 생성 - 이미지 생성 - 컨테이너 생성
- HW - Host OS - Runtime Engine으로 구성
- Guest OS 없이 동작하므로 VM 대비 적은 자원 필요
728x90