Google Cloud の概要

この概要をお読みいただくと、Google Cloud の全体像を理解しやすくなります。ここでは、一般的な機能に関する簡単な説明のほか、理解を深めるために役立つドキュメントも紹介しています。何が利用でき、各部分がどのように連携して機能するかを知ることは、進め方を決めるのに役立ちます。また、さまざまなシナリオで Google Cloud を試すために使用できるチュートリアルへのリンクも掲載しています。

Google Cloud のリソース

Google Cloud は、コンピュータやハードディスク ドライブなどの物理アセット一式と、仮想マシン(VM)などの仮想リソースで構成されています。これらは世界中にある Google のデータセンターで稼働しています。各データセンターはリージョンにあります。アジア、オーストラリア、ヨーロッパ、北米、南米に位置するリージョンが利用できます。各リージョンは、リージョン内で互いに隔てられたゾーンの集合です。各ゾーンは文字の識別子とリージョン名を組み合わせた名前で識別されます。たとえば、東アジアのリージョンのゾーン a は、asia-east1-a という名前になります。

リソースのこの分布には、リソースをクライアントの近くに配置することによる障害時の冗長性やレイテンシの削減など、いくつかの利点があります。この分布により、リソースを一緒に使用する方法についてのいくつかのルールが導入されます。

サービスを介してリソースにアクセス

クラウド コンピューティングでは、ソフトウェアやハードウェア製品とみなして利用できるものがサービスになります。これらのサービスは、基本となるリソースへのアクセスを提供します。利用可能な Google Cloud サービスのリストには多くのサービスが掲載されており、現在も増え続けています。Google Cloud でウェブサイトまたはアプリケーションを開発する際には、これらのサービスを適切に組み合わせて必要なインフラストラクチャを作成し、希望のシナリオを実現するために必要なコードを追加します。

グローバル リソース、リージョン リソース、ゾーンリソース

一部のリソースは、他のリソース、複数のリージョンやゾーンによってもアクセスできます。これらのグローバル リソースは、事前設定されたディスク イメージ、ディスクのスナップショット、ネットワークを含みます。一部のリソースは、同じリージョンに位置するリソースからのみアクセスできます。これらのリージョン リソースには、静的外部 IP アドレスが含まれます。他のリソースは、同じゾーンに配置されているリソースからのみアクセスすることができます。これらのゾーンリソースには、VM インスタンス、その種類とディスクが含まれます。

次の図は、グローバル スコープ、リージョン、ゾーン、またそれらのリソースの一部との関係を示しています。

リソースを分配してリージョンとゾーンの示す、Google Cloud のグローバル スコープの図

オペレーションの範囲は作業しているリソースの種類によって異なります。たとえば、ネットワークはグローバル リソースであるため、ネットワークの構築はグローバル オペレーションですが、アドレスはリージョン リソースであるため、IP アドレスの予約はリージョン オペレーションになります。

Google Cloud アプリケーションの最適化を開始するには、これらのリージョンとゾーンがどのような関係にあるのかを理解することが重要です。たとえば、あるリージョンのディスクを別のリージョンのコンピュータにアタッチすることはできたとしても、通常はしません。なぜならレイテンシが発生し、パフォーマンスが低くなるからです。幸いなことに、Google Cloud ではそのようなことはできないようになっています。ディスクは同じゾーン内のコンピュータにしかアタッチできません。

選択したコンピューティング サービスとホスティング サービスに必要な自己管理のレベルに応じて、どこにどのようにリソースを割り当てるかを考える必要がある場合もあります。

Google Cloud の地理的分布に関する詳細については、地域とリージョンをご覧ください。

プロジェクト

割り当てて使用する Google Cloud のリソースはすべて、プロジェクトに属していなければなりません。プロジェクトとは、構築する対象をまとめて管理する 1 つの単位と考えることができます。プロジェクトは、設定や権限に加え、アプリケーションに関する情報を記述したその他のメタデータで構成されます。同じプロジェクト内のリソースは簡単に連携させることができます。これは、リージョンとゾーンのルールに沿った内部ネットワーク通信などによって行われます。共有 VPC または VPC ネットワーク ピアリングを使用しない場合、あるプロジェクトが別のプロジェクトのリソースにアクセスすることはできません。

各 Google Cloud プロジェクトには次の属性が含まれます。

  • ユーザーが提供するプロジェクト名
  • プロジェクト ID(ユーザーまたは Google Cloud が指定)
  • Google Cloud から提供されるプロジェクト番号

Google Cloud を操作する際、コマンドラインや API 呼び出しでこれらの識別子を使用することがあります。次のスクリーンショットは、プロジェクト名、その ID、番号を示しています。

プロジェクト ID とプロジェクト名が表示されている Cloud Console のスクリーンショット。

この例では、

  • [Example Project] はプロジェクト名です。
  • [example-id] はプロジェクト ID です。
  • [123456789012] はプロジェクト番号です。

各プロジェクトには Google Cloud 全体で一意の ID が割り当てられます。プロジェクトをいったん作成すると、プロジェクトは削除できますが、その ID は再び使用することができません。

課金を有効にすると、各プロジェクトは 1 つの請求先アカウントに関連付けられます。リソースの使用については、複数のプロジェクトで同じアカウントに請求されるように設定できます。

プロジェクトは名前空間として機能します。これは、各プロジェクト内のどのリソースもユニークな名前を持っていなければならないことを意味しますが、別々のプロジェクトである場合は、通常リソース名を再度使うことができます。一部のリソース名はグローバルに一意である必要があります。詳しくはリソースについてのドキュメントをご覧ください。

サービスと通信する方法

Google Cloud では、サービスとリソースと通信するために 3 つの基本的な方法を提供しています。

Google Cloud Console

ウェブ UI を示している Cloud Console のスクリーンショット。

Google Cloud Console では、ウェブベースのグラフィカル ユーザー インターフェースを使用して Google Cloud のプロジェクトとリソースを管理できます。Cloud Console を使用する場合は、新しいプロジェクトを作成するか、既存のプロジェクトを選択し、そのプロジェクトのコンテキストでリソースを作成して使用します。複数のプロジェクトを作成することができるので、さまざまな方法で作業を分割するためにプロジェクトを使用することができます。たとえば、あるプロジェクトで特定のチームメンバーだけがプロジェクト内のリソースにアクセスできるようにし、一方でもう 1 つのプロジェクトではチームの全員がリソースにアクセスを続行できるようにしたい場合、新しいプロジェクトを開始できます。

コマンドライン インターフェース

コマンドラインで作業する場合は、gcloud コマンドライン ツールを使用して、大部分の Google Cloud タスクを実行できます。gcloud ツールを使用すると、開発ワークフローや Google Cloud リソースをターミナル ウィンドウで管理できます。

たとえば、次の例のようなコマンドを使用して、example-instance という新しい Compute Engine 仮想マシンを作成できます。

gcloud compute instances create example-instance \
    --image-family=rhel-8 \
    --image-project=rhel-cloud\
    --zone=us-central1-a

gcloud コマンドは次の方法で実行できます。

  • Cloud SDK をインストールできます。SDK には gcloud ツールが含まれているため、自分のパソコンでターミナル ウィンドウを開き、コマンドを実行して Google Cloud リソースを管理できます。

  • ブラウザベースのシェルである Cloud Shell を使用できます。ブラウザ ウィンドウで実行されるため、パソコンに何もインストールする必要はありません。Cloud Shell は Google Cloud Console から開くことができます。

    Cloud Shell インターフェースのスクリーンショット

Cloud Shell には、次のような特長があります。

  • Compute Engine での一時的な仮想マシン インスタンス
  • 組み込みのコードエディタ
  • 5 GB の永続ディスク ストレージ
  • プリインストールされた Cloud SDK とその他のツール
  • Java、Go、Python、Node.js、PHP、Ruby、.NET への言語対応
  • ウェブ プレビュー機能
  • Cloud Console のプロジェクトとリソースに対するアクセスを承認する組み込みのメカニズム

gcloud コマンドのリストについては、gcloud リファレンスをご覧ください。

Cloud Shell の詳細については、Cloud Shell の仕組みをご覧ください。

クライアント ライブラリ

Cloud SDK には、簡単にリソースを作成し管理することができるクライアント ライブラリが含まれています。Google Cloud のクライアント ライブラリでは、主に次の 2 つの目的で API を公開しています。

  • アプリ API はサービスへのアクセスを提供します。アプリ API は、Node.js や Python などのサポートされた言語のために最適化されています。ライブラリはサービスのメタファを中心に設計されているので、サービスとより自然に連携し、あまり定型的でないコードを書くことができます。ライブラリはまた、認証と承認のためのヘルパーを提供します。

  • 管理 API はリソース管理のための機能を提供します。たとえば、自分自身の自動化ツールを構築したい場合、管理 API を使うことができます。

また、Google API クライアント ライブラリを使用して、Google マップ、Google ドライブ、YouTube などのプロダクトの API にアクセスできます。

料金

個々のサービスの料金の詳細を確認するには、料金表をご覧ください。

Google Cloud で特定のワークロードを実行するための合計費用を試算する方法については、料金計算ツールをご覧ください。

次へ: サービスの概要