DevOps & SRE/AWS & Cloud

[클라우드 인프라와 API의 구조] 2. 클라우드 컴포넌트 종류

반응형

클라우드를 구성하는 요소

1. 테넌트

각 클라우드 사용자는 자신만의 독립된 테넌트 환경을 갖게 됨.

멀티 테넌트를 구성하여, 여러 사용자가 자신만의 격리된 공간에서 같은 클라우드 환경을 사용.

 

2. 리전

지리적으로 멀리 떨어진 지역에 여러 개의 클라우드 인프라를 분산 운영할 수 있음.

각 리전들은 서로 독립된 환경이라 리전 별로 가상 네트워크를 구성할 순 있지만, 여러 리전에 걸친 가상 네트워크를 구성할 순 없음.

cf) 보안 측면에서 재난 대응 시스템을 구성한다.

 

  • BCP(Business Continuity Plan)
    • 자연적, 인위적 재해와 장애로 부터 핵심 사업 프로세스의 연속성을 보장
    • 예방적 개념
  • DRP(Disaster Recovery Plan)
    • 재난이 닥친 직후의 파급 효과를 다루는 것
    • 복구적 개념.

 

이러한 리전을 이용해서 Disater Recovery 환경을 만들 수 있음.

예를 들어서 (이러면 안되지만) 서울에 지진이 나서.... 시스템이 마비가 되었을 때, 서비스를 지속하기 위해서 미리 부산에 시스템을 분산 운영 or 백업용으로 만들어두는....

 

3. 가용 영역

하나의 리전을 구성하는 클라우드 인프라는 실제로 해당 지역의 여러 데이터 센터에 분산된 형태로 구성할 수 있음. 이러한 데이터 센터를 **가용 영역 (AZ)**라고 부름.

  • 각각 다른 AZ에 있는 가상 머신 인스턴스와 블록 스토리지는 서로 연결할 수 없음.

 

네트워크 리소스

라우터

  • AWS에서는 하나의 독립된 가상 네트워크를 VPC라고 부름.
  • 오픈스택과 달리 하나의 리전에 여러 개의 VPC를 둘 수 있음.

 

VPC?

독립된 가상 네트워크로, 외부의 접근이 제한된 내부망(사설, Private)

내부망(사설) IP (IP 부족 문제를 해결하기 위함)

  • 10.0.0.0/8
  • 172.16.0.0/16
  • 192.168.0.0(16)

각 내부망에서 사용하는 IP는 독립적임.

따라서 VPC A에서 10.0.0.1 과 VPC B에서 10.0.0.1로 중복돼도 상관없음.

내부망을 외부망(인터넷)과 통신이 필요하면 가상 라우터의 NAT 기능을 사용해서 Public IP 혹은 공인 IP로 변환해야 함.

 

서브넷(스위치)

가상 머신 인스턴스가 사용할 수 있는 사설 IP주소의 범위 (기본적인 서브넷 개념과 같은 듯)

 

공인 IP

Private IP는 네트워크 내부에서 사용하는 데 문제가 없으나, 외부에서 접속할 수 없는 문제 (예를 들어 웹 서버 등 외부로부터의 요청을 받아들여야 하는)

이때 외부와 통신할 때는 가상 라우터의 NAT 기능을 사용하여 사설 IP를 공인 IP로 변환.

  • IP Masquerading
    • 가상 머신 인스턴스가 외부 네트워크로 접속할 때, 가상 라우터가 할당받은 공인 IP를 공유하는 방식.
    • 내부에서 외부로 나가는 접속은 가능하지만, 외부에서 내부로 들어오는 접속은 허용되지 않음.
  • Elastic IP
    • 미리 개별적으로 확보해 둔 공인 IP 주소를 가상 머신 인스턴스에 할당 (각 테넌트마다 Elastic IP로 사용할 수 있는 공인 IP주소를 사전에 확보해 두고, 그중 하나를 특정 가상 머신 인스턴스에 할당)
    • 내부에서 외부로 나가는 통신은 물론, 외부에서 내부로 들어오는 통신도 가능.
    • 참고로 공인 IP를 게스트 OS에 직접 할당되는 것이 아니라, Private IP주소를 가상 라우터가 사설 IP로 1:1 변환해주는 방식.

 

시큐리티 그룹

  • 가상 머신 인스턴스가 주고받을 네트워크 패킷에 대한 필터링 기능 (방화벽 같은 기능)
  • 특정 조건에 맞는 공통적인 규칙을 미리 정의해 두고, 시큐리 그룹을 재활용할 수 있음.
  • 이러한 필터링 처리는 가상 머신 인스턴스와 가상 스위치의 접속 포트 사이에서 이루어진다.
    (마치 가상 머신 앞에 새로운 방화벽 장치가 설치된 것처럼 패킷을 필터링할 수 있음.)

 

서버 리소스

템플릿 이미지

가상 머신 인스턴스를 기동 하려면 게스트 OS가 설치된 기동 디스크가 필요한데, 기동 디스크를 만들 때 사전에 준비되어 있는 템플릿 이미지를 선택할 수 있음. (ex) Ubuntu 18.04, Ubuntu 16.04, Centos 등)

 

인스턴스 유형

가상 머신의 컴퓨팅 성능 및 용량을 결정.

cf) 오픈스택에서는 사용할 인스턴스 유형을 직접 만들거나 변경할 수 있는 반면, AWS에서는 제공되는 인스턴스 중 선택만 할 수 있음.

 

루트 디스트, 임시 디스크란?

루트 디스크란 템플릿 이미지를 복제해서 만들어진 기동 디스크. (쉽게 말해 템플릿 이미지의 OS가 설치된?)

임시 디스크란, 아직 사용하지 않은 디스크 디바이스

 

이페머럴 디스크 (Ephermeral)

위의 루트 디스크, 임시 디스크는 이페머럴 디스크로, 재부팅은 제외하고 가상 머신 인스턴스를 종료하거나 파괴하면 이들 디스크 영역의 데이터도 함께 사라짐. (이렇게 재사용할 수 있게 끔 구성한 듯)

따라서, 데이터를 영속적으로 보존하려면 블록 스토리지 혹은 오브젝트 스토리지에 보관해야 함.

 

스냅샷

참고로 스냅샷은 루트 디스크를 복제한 후, 그것을 새로운 템플릿 이미지로 사용할 수 있게 만들어주는 기능.

 

블록 스토리지

영속적인 디스크 영역을 제공

 

오브젝트 스토리지

S3와 같은 파일 단위로 데이터를 저장하는 기능

오브젝트 스토리지를 통해서 버저닝 및 정적 웹 호스팅을 구성할 수 있음. (S3로 프론트 빌드 파일 배포하는)

블록 스토리지 볼륨을 백업하는 용도로도 사용할 수 있음.

반응형