1. Google Cloud 소개: 서비스 모델, 네트워크, 보안

이대현·2024년 5월 14일
1

Cloud Computing

목록 보기
7/14

Google Cloud Fundamentals: Core Infrastructure 강의를 듣고 정리한 내용입니다.

1. 클라우드 컴퓨팅 개요

클라우드의 정의

아래 5가지의 중요한 특성으로 클라우드가 무엇인지 이해할 수 있다.

  1. on-demend(주문형) and self-service 컴퓨팅 리소스 제공

    • 웹 인터페이스를 통해 사용자가 직접 서버 운용에 필요한 리소스(스토리지, 네트워크, 처리 성능 등)를 선택할 수 있음.
  2. 인터넷에 연결되어 있으면 어디서나 리소스에 접근 가능

  3. 클라우드 제공업체가 리소스의 큰 Pool을 중앙에서 관리하며, 사용자에게 할당

    • 제공업체는 도매업자같은 느낌이기 때문에 비용을 절감할 수 있고,
    • 사용자는 해당 리소스의 정확한 물리적 위치를 신경 쓸 필요 없음.
  4. 리소스는 탄력적 (필요한 만큼 추가하고, 축소하고 가능)

  5. 사용한만큼만 비용 과금


발전 역사

클라우드의 흐름은 크게 3개의 세대로 나눌 수 있다.

1세대: Colocation (코로케이션)

  • 코로케이션은 외부 데이터센터 내 공동 공간을 빌려 자사의 서버를 설치하는 것을 의미한다. 코로케이션 서비스의 등장으로, 기업들은 개별 데이터 센터를 운용할 필요가 없게 되었고, 재정적으로 이점을 얻게 된다.

2세대: Virtualized Data Center (가상 데이터 센터)

  • 코로케이션 시설과 유사하지만, 가상화 기술을 사용해 서버/CPU/디스크 등을 virtual devices 위에서 동작시킨다. 사용자가 물리적 서버 및 리소스를 가상으로 만들어 사용한다는 점에서 인프라를 직접 제어 및 구성할 수 있게 됐다.

3세대: Container-based architecture (현재)

  • 현재 구글 클라우드가 제공하는 서비스의 형태이다.

  • 인프라 구성까지 완전히 자동화해서, 사용자가 관리해야될 작업을 최소화시켰다고 생각하면 된다. 컨테이너는 애플리케이션을 패키지화한다는 개념인데, 서비스를 이식 가능한(특정 운영체제나 하드웨어에 종속성이 없는) 환경에서 실행할 수 있도록 만든 것이다.


2. 클라우드 컴퓨팅 서비스 모델

IaaS 및 PaaS

Virtualized Data Center을 사용하게 되면서, IaaS (Infrastructure as a Service)와 PaaS (Platform as a Service) 라는 클라우드 제품이 등장한다. 두 제 품의 차이점을 알아보자.

  1. 리소스 관리 수준:
    • IaaS: 사용자가 가상 서버, 스토리지, 네트워크 등과 같은 인프라 리소스를 직접 관리
      • 주문형 인프라 리소스, 즉 사용자가 직접 OS와 소프트웨어들을 직접 선택하고 설치한다.
    • PaaS: 사용자는 코드를 개발하고 라이브러리에 바인딩하는 것에만 집중하며, 인프라 리소스에 대한 관리는 클라우드 제공 업체가 자동으로 처리
      • 개발자가 플랫폼이나 서비스에서 제공하는 기능을 본인 애플리케이션 코드에 통합하여 활용하는 것을 의미
  2. 유연성:
    • IaaS: 사용자는 서버의 설정, 관리, 업데이트 등을 직접 처리할 수 있으므로 더 많은 유연성을 갖는다.
    • PaaS: 제공되는 플랫폼에 종속되므로 사용자는 제공되는 기능과 제한 사항을 따라야 한다.
      • 플랫폼이 제공되기 때문에 애플리케이션을 더 쉽게 개발하고 배포할 수 있다는 장점도 있음.
  3. 비용 구조:
    • IaaS: 미리 할당된 리소스 비용을 지불
    • PaaS: 실제 사용한 리소스 비용을 지불
  4. 예시 제품:
    • IaaS: Google Cloud의 Compute Engine, AWS의 EC2
    • PaaS: Google Cloud의 App Engine

서버리스 (Serverless)

  • 서버 구성 없이 코드에 집중
  • 사용한 만큼만 리소스 비용을 지불
  • 예시: Google Cloud의 Cloud Functions, Cloud Run

SaaS (Software as a Service)

  • 클라우드 기반 애플리케이션(그대로 사용자가 사용할 수 있는 완제품)을 제공
  • 로컬 설치 대신 클라우드에서 실행
  • 예시: Google Workspace의 Gmail, Docs, Drive

3. 구글 클라우드 네트워크: Region 및 Zone

전 세계 어디에서나 구글 클라우드 서비스를 이용할 수 있도록 네트워크 구성을 3단계로 구분한다.

  • Loacation: Google Cloud의 인프라는 북미, 남미, 유럽, 아시아, 오스트레일리아 - 5개의 로케이션에서 실행되며, 이 위치들은 리전과 영역으로 구성되어 있다.

  • Regions(리전): 독립적인 지리적 구역을 나타내며, 예를 들어 런던이나 europe-west2는 세 개의 다른 Zone(영역)으로 구성된 리전이다.

  • Zone(영역): 리전 내에서 Google Cloud 리소스가 배포되는 구역을 나타냅니다.

Google Cloud는 현재 39개의 리전과 118개의 zone을 지원하고 있으며, 계속 증가 중이다. 몇몇 서비스는 멀티 리전 구성을 제공하며, 데이터를 여러 위치에 복제하여 가용성을 높이고 지연 시간을 최소화할 수 있다.


4. Google의 보안 인프라

하드웨어, 소프트웨어, 운영 보안 레이어 등 다층적으로 이루어진 보안 인프라를 갖추고 있다.

1. 하드웨어 인프라 계층

데이터 센터는 물리적 보안에 중점을 두며, 자체 데이터 센터를 설계하고 운영한다. 직접 설계된한 하드웨어를 사용한다.

2. 서비스 배포 계층

Encryption of inter-service communication(서비스 간 통신의 암호화):

  • 네트워크의 RPC(리모트 프로시져 콜)에 대해 암호화를 보장하여 데이터의 무결성을 제공
  • 데이터 센터 내의 모든 통신이 RPC 트래픽임.

3. 사용자 ID 계층

  • 같은 위치, 같은 기기인지 체크

  • U2F와 같은 이중인증 기능 제공

4. 스토리지 서비스 계층

물리적 스토리지(파일 스토리지)에 접근하는 계층

  • 데이터의 저장 및 전송 과정에서 암호화를 적용
  • 하드웨어 암호화와 중앙 관리형 키를 사용함.

5. 인터넷 커뮤니케이션 계층

  • Google Freont End(GFE): 인터넷에서 사용가능한 서비스들은 GFE에 자동 등록되며, 모든 TLS 연결은 공개 키/비공개 키 쌍을 사용하며 X.509 인증서를 통해 종료하여 보안을 유지
  • DoS(Denial of Sevice) 공격 방지 기능 제공

6. 운영 보안 계층 (Operational security Layer)

4가지 주요 기능 존재

  1. 침입 감지 시스템을 운영
  2. 인프라 액세스 권한을 가진 내부 직원에게 발생하는 위험을 감소시키기 위해 엄격한 액세스 제어(U2F) 및 모니터링이 이루어짐.
  3. 개발 과정에서의 보안을 강화하기 위해 소프트웨어 개발 관행 존재
  4. 취약점 발견 보상 프로그램을 운영하여 Google 인프라나 애플리케이션의 버그를 발견하고 알린 사람에게 보상을 지급
profile
삽질의 기록들 👨‍💻

2개의 댓글

comment-user-thumbnail
2024년 5월 20일

클라우드에 대해 공부하고 있는데 좋은 글을 발견한 것 같아요.
글이 짜임새있게 정리되어 있어 이해가 더 잘 되네요 감사합니다 ! 🙂‍↕️
궁금한 게 하나 있는데, 멀티 리전을 사용하는 서비스들이 있는데 멀티 리전을 사용하는 이유가 있을까요 ?

1개의 답글