Google Cloud 서비스 정보

이 개요에서는 일반적으로 사용되는 Google Cloud 서비스 중 일부를 소개합니다. 전체 서비스 목록은 제품 및 서비스 페이지를 참조하세요.

이 개요에는 다음 유형의 서비스가 포함됩니다.

컴퓨팅 및 호스팅 서비스

Google Cloud에서는 컴퓨팅 및 호스팅을 위한 여러 옵션을 제공합니다. 다음 작업을 수행하도록 선택할 수 있습니다.

  • 서버리스 환경에서 작업합니다.
  • 관리형 애플리케이션 플랫폼을 사용합니다.
  • 유연성 확보를 위해 컨테이너 기술을 활용합니다.
  • 최대한의 제어 및 유연성 확보를 위해 고유한 클라우드 기반 인프라를 구축합니다.

한 쪽에서는 개발자가 리소스 관리를 대부분 책임지고, 다른 쪽에서는 Google이 이러한 관리를 대부분 책임지는 스펙트럼을 상상해 보세요.

서버리스 컴퓨팅

Google Cloud의 서비스로서의 기능(FaaS)인 Cloud Functions는 클라우드 서비스 빌드 및 연결을 위한 서버리스 실행 환경을 제공합니다. Cloud Functions를 사용하면 클라우드 인프라와 서비스에서 발생하는 이벤트에 연결되는 단일 목적의 간단한 함수를 작성할 수 있습니다. 함수는 감시 중인 이벤트 발생 시에 트리거됩니다. 코드는 완전 관리형 환경에서 실행되므로 인프라를 프로비저닝하거나 서버를 관리할 필요가 없습니다.

Cloud Functions는 자바스크립트, Python 3, Go 또는 자바 런타임을 사용하여 작성될 수 있습니다. 함수를 표준 Node.js(Node.js 10), Python 3(Python 3.7), Go(Go 1.11 또는 1.13) 또는 자바(자바 11) 환경에서 실행할 수 있으므로, 이동성과 로컬 테스트가 모두 간편합니다.

Cloud Functions는 다음과 같은 사용 사례에 적합합니다.

  • 동영상 트랜스코딩 및 IoT 스트리밍 데이터와 같은 시나리오를 위한 데이터 처리 및 ETL 작업
  • HTTP 트리거에 응답하기 위한 웹훅
  • 느슨하게 결합된 논리를 애플리케이션으로 구성하는 경량 API
  • 모바일 백엔드 함수

애플리케이션 플랫폼

App Engine은 Google Cloud의 Platform as a Service(PaaS)입니다. Google은 App Engine을 사용해서 대부분의 리소스 관리를 처리합니다. 예를 들어 웹사이트 트래픽 증가로 인해 애플리케이션에 컴퓨팅 리소스가 더 필요한 경우 Google은 시스템을 자동으로 확대하여 해당 리소스를 제공합니다. 시스템 소프트웨어에 보안 업데이트가 필요하면 이것도 자동으로 처리됩니다.

App Engine에서 앱을 빌드할 때는 다음을 수행할 수 있습니다.

  • Go, 자바, .NET, Node.js, PHP, Python 또는 Ruby에서 앱을 빌드하고 사전 구성된 런타임을 사용하거나 커스텀 런타임을 사용하여 모든 언어로 코드를 작성합니다.

  • Google이 앱 호스팅, 확장, 모니터링, 인프라를 자동으로 관리하도록 할 수 있습니다.

  • Cloud SQL, Datastore 모드의 Firestore, Cloud Storage와 같은 Google Cloud Storage 제품에 연결합니다. 또한 관리형 Redis 데이터베이스에 연결하고 Compute Engine, 다른 클라우드 제공업체, 온프레미스 또는 타사 공급업체를 통해 MongoDB 및 Cassandra와 같은 타사 데이터베이스를 호스팅할 수 있습니다.

  • Web Security Scanner를 사용하여 기존 보안 디자인 및 개발 프로세스에 대한 보조 방식으로 보안 취약성을 식별할 수 있습니다.

App Engine 기능의 전체 목록과 설명은 App Engine 문서를 참조하세요.

컨테이너

컨테이너 기반 컴퓨팅에서는 호스팅 환경에 대한 배포 및 통합 대신 애플리케이션 코드에 집중할 수 있습니다. Google Cloud의 CaaS(서비스로서의 컨테이너)인 Google Kubernetes Engine(GKE)은 오픈소스 Kubernetes 시스템을 기반으로 구축되어, Google Cloud의 퍼블릭 클라우드 인프라는 물론 온프레미스 또는 하이브리드 클라우드를 선택할 수 있는 유연성을 제공합니다.

GKE를 사용하여 빌드하면 다음을 수행할 수 있습니다.

  • 클러스터라고 불리는 Kubernetes 실행 Compute Engine 인스턴스 그룹을 만들고 관리합니다. GKE는 Compute Engine 인스턴스를 클러스터의 노드로 사용합니다. 각 노드는 Docker 런타임, 노드 상태를 모니터링하는 Kubernetes 노드 에이전트, 단순 네트워크 프록시를 실행합니다.

  • 단순 JSON 구성 파일을 만들어서 Docker 컨테이너의 요구사항을 선언합니다.

  • Container Registry를 Docker 이미지에 대한 보안 비공개 스토리지로 사용합니다. 레지스트리에 이미지를 푸시하고, HTTP 엔드포인트를 사용하여 Compute Engine 인스턴스 또는 고유한 하드웨어로 이미지를 가져올 수 있습니다.

  • 단일 및 다중 컨테이너 pod를 만듭니다. 각 pod는 하나 이상의 컨테이너를 포함할 수 있는 논리적 호스트를 나타냅니다. pod에 포함된 컨테이너는 네트워킹 리소스와 같은 리소스를 공유하여 함께 작동합니다. 여러 pod 집합이 하나로 작동하여 전체 애플리케이션, 마이크로서비스, 다중 계층 애플리케이션의 한 계층을 구성할 수 있습니다.

  • 템플릿을 기준으로 pod 복제본의 생성 및 삭제를 관리하는 복제 컨트롤러를 만들고 관리합니다. 복제 컨트롤러는 안정적인 실행 및 적절한 확장을 위해 필요한 리소스가 애플리케이션에 포함되었는지 확인하는 데 도움이 됩니다.

  • 서비스를 만들고 관리합니다. 서비스는 백엔드 기능을 제공하는 pod에서 프런트엔드 클라이언트를 분리하는 추상화 계층을 만듭니다. 이렇게 하면 클라이언트가 특정 시점에 생성 또는 삭제되는 pod가 무엇인지 확인할 필요 없이 작동할 수 있습니다.

  • 외부 네트워크 부하 분산기를 만듭니다.

가상 머신

Google Cloud의 비관리형 컴퓨팅 서비스는 Compute Engine입니다. Compute Engine은 Infrastructure as a Service(IaaS)를 제공하는 것으로 인식될 수 있습니다. 시스템이 강력한 컴퓨팅 인프라를 제공하지만 사용하려는 플랫폼 구성요소를 개발자가 선택하고 구성해야 합니다. Compute Engine에서 시스템을 구성, 관리, 모니터링할 책임은 개발자에게 있습니다. 리소스의 가용성, 안정성, 준비성은 Google에서 관할하지만 리소스의 프로비저닝과 관리는 개발자가 담당합니다. 이로 인한 장점은 개발자가 시스템을 완벽하게 제어하면서 무제한의 유연성을 발휘할 수 있다는 것입니다.

Compute Engine에서 빌드할 때는 다음 작업을 수행할 수 있습니다.

  • 고유한 하드웨어 인프라가 있을 때와 마찬가지로, 인스턴스라고 부르는 가상 머신(VM)을 사용하여 애플리케이션을 빌드합니다. 요구 및 예산에 맞게 구성을 맞춤설정할 수 있도록 다양한 인스턴스 유형 중에서 선택할 수 있습니다.

  • 리소스를 배포할 전역 리전 및 영역을 선택하여 데이터 저장 및 사용 위치를 제어할 수 있습니다.

  • 원하는 운영체제, 개발 스택, 언어, 프레임워크, 서비스, 기타 소프트웨어 기술을 선택합니다.

  • 공개 또는 비공개 이미지에서 인스턴스를 만듭니다.

  • Google Cloud Storage 기술 또는 원하는 타사 기술을 사용합니다.

  • Google Cloud Marketplace를 사용하여 미리 구성된 소프트웨어 패키지를 빠르게 배포하세요. 예를 들어 클릭 몇 번 만으로 LAMP 또는 MEAN 스택을 배포할 수 있습니다.

  • 여러 인스턴스를 하나로 쉽게 관리할 수 있도록 인스턴스 그룹을 만듭니다.

  • 인스턴스 그룹을 사용한 자동 확장을 사용하여 용량을 자동으로 추가 및 삭제합니다.

  • 필요에 따라 디스크를 연결 및 분리합니다.

  • SSH를 사용하여 인스턴스에 직접 연결합니다.

컴퓨팅 및 호스팅 옵션 결합

컴퓨팅 서비스 유형은 하나만 사용할 필요가 없습니다. 예를 들어 App Engine과 Compute Engine을 결합하면 두 유형의 기능과 이점을 모두 활용할 수 있습니다. App Engine과 Compute Engine을 모두 사용하는 예시는 Compute Engine에서 안정적인 작업 일정 예약을 참조하세요.

웹사이트 호스팅 옵션을 자세히 보려면 웹사이트 호스팅을 참조하세요.

스토리지 서비스

애플리케이션에 관계없이 일부 미디어 파일, 백업 또는 파일과 유사한 다른 객체를 저장해야 할 수 있습니다. Google Cloud는 다음을 포함한 다양한 스토리지 서비스를 제공합니다.

  • Cloud Storage의 일관성, 확장성, 대용량 데이터 스토리지. Cloud Storage는 여러 옵션으로 제공됩니다.

    • 표준 Cloud Storage는 최대한의 가용성을 제공합니다.
    • Cloud Storage Nearline은 월 1회 미만으로 액세스하는 데이터에 적합한 저렴한 아카이브 스토리지 옵션을 제공합니다.
    • Cloud Storage Coldline은 분기당 1회 미만으로 액세스하는 데이터에 적합한 저렴한 아카이브 스토리지 옵션을 제공합니다.
    • Cloud Storage Archive는 연 1회 미만으로 액세스하려는 데이터에 적합한 백업 및 재해 복구를 위한 가장 저렴한 아카이브 스토리지 옵션을 제공합니다.
  • 인스턴스의 기본 스토리지로 사용되는 Compute Engine의 영구 디스크. Compute Engine은 하드 디스크 기반 영구 디스크(표준 영구 디스크) 및 SSD 영구 디스크를 제공합니다.

  • Filestore의 완전 관리형 NFS 파일 서버. Filestore 인스턴스를 사용하여 Compute Engine VM 인스턴스 또는 GKE 클러스터에서 실행되는 애플리케이션의 데이터를 저장할 수 있습니다.

    Google Cloud서 제공되는 스토리지 서비스의 전체 범위와 장점을 확인하려면 스토리지 옵션에 대해 자세히 알아보세요.

데이터베이스 서비스

Google Cloud는 다양한 SQL 및 NoSQL 데이터베이스 서비스를 제공합니다.

  • Cloud SQL의 SQL 데이터베이스는 MySQL 또는 PostgreSQL 데이터베이스를 제공합니다.

  • Cloud Spanner의 완전 관리형의 미션 크리티컬 관계형 데이터베이스 서비스는 전역 규모에서의 트랜잭션 일관성, 스키마, SQL 쿼리, 고가용성을 위한 자동 동기식 복제를 제공합니다.

  • NoSQL 데이터 스토리지를 위한 두 가지 옵션: 문서와 유사한 데이터의 경우 Firestore, 표 형식 데이터의 경우 Cloud Bigtable.

또한 Compute Engine에서 영구 디스크를 사용하여 기본 데이터베이스 기술을 설정할 수도 있습니다. 예를 들어 NoSQL 문서 스토리지에 MongoDB를 설정할 수 있습니다.

Google 데이터베이스 서비스 간의 차이점을 알아보려면 Google Cloud 데이터베이스에 대해 자세히 알아보세요.

네트워킹 서비스

App Engine이 네트워킹을 자동으로 관리하고 GKE가 Kubernetes 모델을 사용하는 동안 Compute Engine은 일련의 네트워킹 서비스를 제공합니다. 이러한 서비스는 리소스 간 트래픽의 부하를 분산하고, DNS 레코드를 만들고, 기존 네트워크를 Google 네트워크에 연결할 수 있게 해줍니다.

네트워크, 방화벽, 경로

Virtual Private Cloud(VPC)는 VM 인스턴스가 사용하는 네트워킹 서비스 집합을 제공합니다. 인스턴스에는 2개 이상의 인터페이스가 있을 수 있지만 각 인터페이스는 다른 네트워크에 연결되어야 합니다. 모든 VPC 프로젝트에는 기본 네트워크가 있습니다. 프로젝트에서 추가 네트워크를 만들 수 있지만 프로젝트 간에 네트워크를 공유할 수는 없습니다.

방화벽 규칙은 네트워크의 인스턴스로 들어오는 트래픽을 제어합니다. 기본 네트워크에는 기본 방화벽 규칙 집합이 있으며, 개발자가 커스텀 규칙을 만들 수도 있습니다.

경로를 사용하면 인스턴스에서 VPN 만들기와 같은 고급 네트워킹 기능을 구현할 수 있습니다. 경로는 인스턴스를 나가는 패킷의 대상을 지정합니다. 예를 들어 경로는 특정 네트워크 범위로 지정된 패킷이 개발자가 구성 및 작동하는 게이트웨이 가상 머신 인스턴스에서 처리되는 방식을 지정할 수 있습니다.

부하 분산

웹사이트 또는 애플리케이션이 Compute Engine에서 실행될 때는 여러 인스턴스 간에 워크로드를 분산해야 할 경우가 발생할 수 있습니다. 서버 측 부하 분산 기능은 다음과 같은 옵션을 제공합니다.

  • 네트워크 부하 분산을 사용하면 주소, 포트, 프로토콜과 같이 들어오는 IP 프로토콜 데이터를 기준으로 동일 리전에 있는 서버 인스턴스 간에 트래픽을 분산할 수 있습니다. 네트워크 부하 분산은 웹사이트에 들어오는 트래픽의 수요를 충족시키려는 경우에 효과가 뛰어난 솔루션입니다.

  • HTTP(S) 부하 분산을 사용하면 리전 간 트래픽 분산을 통해 요청이 가장 가까운 리전으로 라우팅되도록 보장하거나, 오류 또는 용량 초과 제한이 발생했을 때 그 다음으로 가까운 리전에 있는 정상 인스턴스로 라우팅되도록 보장할 수 있습니다. 또한 HTTP(S) 부하 분산을 사용하여 콘텐츠 유형에 따라 트래픽을 분산할 수 있습니다. 예를 들어 한 서버에서는 이미지 및 CSS와 같은 정적 콘텐츠를 전달하고, 다른 서버에서는 PHP 페이지와 같은 동적 콘텐츠를 전달하도록 설정할 수 있습니다. 부하 분산기는 각 콘텐츠 유형을 제공하는 서버로 각 요청을 전달할 수 있습니다.

Cloud DNS

Google에서 사용되는 것과 동일한 인프라를 사용해서 DNS(도메인 이름 시스템)를 게시하고 유지 관리할 수 있습니다. Google Cloud Console, 명령줄 또는 REST API를 사용하여 관리형 영역 및 DNS 레코드를 관리할 수 있습니다.

고급 연결

Google Cloud 리소스에 연결하려는 기존 네트워크가 있는 경우 Google Cloud는 다음과 같은 고급 연결 옵션을 제공합니다.

  • Cloud Interconnect를 사용하면 가용성이 높고 지연 시간이 낮은 엔터프라이즈급 연결을 통해 VPC 네트워크에 기존 네트워크를 연결할 수 있습니다. Dedicated Interconnect를 사용하여 Google에 직접 연결하거나 Partner Interconnect를 사용하여 지원되는 서비스 제공업체를 통해 Google에 연결할 수 있습니다.

  • Cloud VPN을 사용하면 IPsec 연결을 통해 VPC 네트워크에 기존 네트워크를 연결할 수 있습니다. 또한 VPN을 사용하여 2개의 Cloud VPN 게이트웨이를 서로 연결할 수 있습니다.

  • 다이렉트 피어링을 사용하면 Google의 광범위한 연결 에지 네트워크 위치 중 하나에서 네트워크와 Google 네트워크 사이에 인터넷 트래픽을 교환할 수 있습니다. 에지 위치에 대한 자세한 내용은 Google 피어링 사이트를 참조하세요.

  • 이동통신사 피어링을 사용하면 서비스 제공업체를 사용해서 가용성이 높고 지연 시간이 낮은 연결을 통해 Google의 네트워크 에지에 인프라를 연결할 수 있습니다. 또한 네트워크 간 VPN 터널을 사용해서 이동통신사 피어링 링크를 통해 가상 사설 클라우드 네트워크로 사설 네트워크를 확장할 수 있습니다.

빅데이터 서비스

빅데이터 서비스를 사용하면 클라우드에서 빅데이터를 처리 및 쿼리하여 복잡한 질문에 대한 답변을 빠르게 얻을 수 있습니다.

데이터 분석

BigQuery는 데이터 분석 서비스를 제공합니다. BigQuery를 사용하면 다음 작업을 수행할 수 있습니다.

  • 데이터를 데이터세트와 테이블로 구성하는 커스텀 스키마를 만듭니다.
  • 스트리밍 데이터를 포함하여 여러 소스에서 데이터를 로드합니다.
  • SQL과 비슷한 명령을 사용하여 대용량 데이터세트를 매우 빠르게 쿼리합니다. BigQuery는 빠른 속도를 위해 설계되고 최적화되었습니다.
  • 웹 UI, 명령줄 인터페이스, API를 사용합니다.
  • 작업을 사용해서 데이터를 로드, 쿼리, 내보내기, 복사합니다.
  • 권한을 사용하여 데이터를 관리하고 보호합니다.

BigQuery를 빠르고 쉽게 사용해보려면 웹 UI 빠른 시작을 사용해서 공개 데이터 세트를 쿼리해보세요.

일괄 처리 및 스트리밍 데이터 처리

Dataflow는 일괄 처리 및 스트리밍 데이터 처리 작업을 수행하는 데 사용할 수 있는 관리형 서비스 및 SDK 집합을 제공합니다. Dataflow는 특히 처리 작업을 병렬 워크로드로 쉽고 명확하게 구분할 수 있는 경우의 대용량 컴퓨팅에 적합합니다. Dataflow는 또한 ETL(추출-변환-로드) 작업에 적합하며, 여러 스토리지 미디어 간에 데이터를 이동하거나, 데이터를 보다 적절한 형식으로 변환하거나, 데이터를 새로운 스토리지 시스템에 로드하는 작업에 유용합니다.

비동기 메시징

Pub/Sub는 비동기 메시징 서비스입니다. 애플리케이션은 JSON 데이터 구조와 같은 메시지를 주제라고 부르는 게시 단위로 전송할 수 있습니다. Pub/Sub 항목은 전역 리소스이기 때문에 개발자가 소유하는 프로젝트에 있는 다른 애플리케이션은 해당 주제를 구독하여 HTTP 요청 또는 응답 본문의 메시지를 수신할 수 있습니다. Pub/Sub에 대해 자세히 알아보려면 Pub/Sub 빠른 시작을 참조하세요.

Pub/Sub는 빅데이터에만 유용한 것이 아닙니다. Pub/Sub는 비동기 메시징 서비스가 필요한 여러 상황에서 사용할 수 있습니다. Pub/Sub를 사용해서 App Engine과 Compute Engine을 조정하는 예시는 Compute Engine에서 안정적인 작업 일정 예약을 참조하세요.

머신러닝 서비스

AI Platform은 여러 가지 강력한 ML(머신러닝) 서비스를 제공합니다. 특정 애플리케이션에 맞게 최적화된 사전 학습된 모델을 제공하거나, 관리형 TensorFlow 프레임워크를 사용해서 개발자 고유의 대규모 정밀 모델을 빌드하고 학습하는 API를 선택해서 사용할 수 있습니다.

Machine learning API

Google Cloud는 개발자가 고유 모델을 만들고 학습하지 않고도 Google의 ML을 활용할 수 있게 해주는 다양한 API를 제공합니다.

  • Video Intelligence API에서는 라벨 인식, 음란물 감지, 샷 변경 감지, 지역화 기능을 제공하는 동영상 분석 기술을 사용할 수 있습니다.

  • 음성 텍스트 변환을 사용하면 110개 이상의 언어 및 그 변형을 인식하여 오디오 텍스트 변환을 수행함으로써 전 세계 사용자층을 지원할 수 있습니다. 애플리케이션의 마이크로 입력되는 사용자의 음성을 텍스트로 변환하거나, 음성을 통한 명령 제어 기능을 사용 설정하거나, 오디오 파일을 텍스트로 변환하는 등 다양하게 활용할 수 있습니다.

  • Cloud Vision을 사용하면 이미지 라벨링, 얼굴 및 랜드마크 인식, OCR(광학 문자 인식), 음란물 태깅 등의 시각적 감지 기능을 쉽게 통합할 수 있습니다.

  • Cloud Natural Language API를 사용하면 감정 분석, 항목 분석, 항목 감정 분석, 콘텐츠 분류, 구문 분석 등을 추가할 수 있습니다.

  • Cloud Translation을 사용하면 수백 개의 지원 언어로 소스 텍스트를 빠르게 번역할 수 있습니다. 언어 감지는 출발어를 알 수 없는 경우에 도움이 됩니다.

  • Dialogflow를 사용하면 웹사이트, 모바일 애플리케이션, 인기 있는 메시징 플랫폼, IoT 장치를 위한 대화형 인터페이스를 빌드할 수 있습니다. 이를 사용하면 사람들 간의 자연스럽고 다양한 상호작용을 지원하는 챗봇과 같은 인터페이스를 빌드할 수 있습니다.

AI Platform

AI Platform은 Google Cloud의 관리형 인프라를 TensorFlow의 성능 및 유연성과 결합합니다. 이를 사용하면 머신러닝 모델을 대규모로 학습하고, 학습된 모델을 호스팅하여 클라우드에서 새로운 데이터를 예측할 수 있습니다.

AI Platform을 사용하면 Google Cloud에서 TensorFlow 학습 애플리케이션을 실행하여 머신러닝 모델을 학습시키고, 이렇게 학습된 모델을 호스팅하여 새로운 데이터 예측을 위해 사용할 수 있습니다. AI Platform은 학습 작업을 실행해야 하는 컴퓨팅 리소스를 관리하여 개발자가 하드웨어 구성 또는 리소스 관리 대신 모델이 더 집중할 수 있게 해줍니다.

AI Platform을 사용해 보려면 시작하기: Keras로 학습 및 예측을 참조하세요.

다음 단계: 개발자 및 관리자 도구 알아보기