【1日目】はじめの一歩!AWSエンジニアがGCPで最初にやるべきこと
はじめに:なぜAWSエンジニアがGCPを学ぶべきなのか?
皆さん、こんにちは!AWSエンジニアの皆さん、GCPの世界へようこそ。
「AWSは使い慣れているけど、GCPってなんか難しそう…」「AWSとGCPって何がどう違うの?」
そんな疑問を抱えている方も多いのではないでしょうか?
グローバルAI企業で働くことを夢見る私は、AWSだけでなくGCPの知識が必須だと感じています。なぜなら、多くの企業が複数のクラウドを使い分けるマルチクラウド戦略を採用しているからです。特にGCPは、Googleの強力なインフラとAI技術を背景に、データ分析や機械学習の分野で圧倒的な強みを持っています。
このブログシリーズ「30日間でGCPをマスターするAWSエンジニアの挑戦」では、AWSの知識をベースに、GCPの概念やサービスを徹底的に比較し、実践を通して理解を深めていきます。
記念すべき1日目は、GCPを始めるための最初の一歩として、アカウント作成からプロジェクト管理、そしてAWSのIAMと根本的に異なる**「IAM」と「請求先アカウント」**について、丁寧に解説していきます。
さあ、一緒にGCPの世界に足を踏み入れてみましょう!
プロジェクト作成:GCPの「世界」を広げる鍵
AWSでは、全てのサービスはAWSアカウントの中に存在します。一方、GCPでは、プロジェクトという単位でリソースを管理します。これは、AWSの「アカウント」が持っている役割に似ていますが、GCPでは一つの組織(Google Cloud Organization)の中に複数のプロジェクトを作成することができます。
AWSとGCPの組織構造の違い
| AWS | GCP | |
|---|---|---|
| 最上位 | AWS Organization | Google Cloud Organization |
| 管理単位 | AWS Account | Project |
このプロジェクトが、GCPを使い始める上で最も重要な概念です。サービスごとにプロジェクトを分けたり、本番環境・開発環境ごとにプロジェクトを分けたりと、AWSアカウントよりも柔軟にリソースを分離・管理できます。
実践ハンズオン:プロジェクトを作成してみよう
- GCPコンソール(https://console.cloud.google.com/)にアクセスします。
- 画面上部にあるプロジェクトセレクタをクリックします。
- 「新しいプロジェクト」をクリックします。
-
プロジェクト名(例:
my-first-gcp-project)を入力し、必要に応じて「組織」と「請求先アカウント」を選択して作成をクリックします。
数秒後には、新しいプロジェクトが作成されます。このプロジェクトが、これから皆さんがGCPの旅で使う「作業場」になります。
IAM:GCPの権限管理はロールが主役
AWS IAMは「ユーザー」「グループ」「ポリシー」が主な要素でした。特定のユーザーやグループにポリシーをアタッチすることで、権限を付与します。
一方、GCPのIAMは「プリンシパル」「ロール」「リソース」の3つの要素で構成されます。
- プリンシパル:誰が権限を持つのか。AWSのIAMユーザー、グループ、ロールに相当します。GCPではGoogleアカウントやサービスアカウントなどがこれに該当します。
- ロール:何ができるのか。複数の権限(パーミッション)をまとめたものです。AWSのポリシーに似ていますが、GCPではこのロールをプリンシパルに付与します。
- リソース:何に対して権限を持つのか。プロジェクト、VPC、バケットなど、GCPのあらゆるサービスが対象です。
最も大きな違いは、GCPではロールを直接プリンシパルに付与する点です。AWSのようにポリシーを自由に作成するよりも、事前に定義されたロールの中から適切なものを選ぶのが基本です。
AWS IAMとの違いを具体的に理解する
| AWS | GCP | |
|---|---|---|
| 主体 | IAMユーザー、IAMロール | プリンシパル(Googleアカウント、サービスアカウント) |
| 権限 | IAMポリシー(JSON形式で細かく定義) | ロール(複数のパーミッションをまとめたもの) |
| 付与方法 | IAMユーザー・グループにIAMポリシーをアタッチ | プリンシパルにロールを付与 |
| 対象 | ユーザー、グループ、リソース(バケットなど) | プロジェクト、フォルダ、リソース |
実践ハンズオン:IAMの設定を体験してみよう
- GCPコンソールから先ほど作成したプロジェクトを選択します。
- 左側のナビゲーションメニューから 「IAMと管理」 → 「IAM」 をクリックします。
- 画面上部の「アクセス権を付与」をクリックします。
- 新しいプリンシパルに、ご自身のGoogleアカウント以外のメールアドレスを入力します(もしなければ、友人のアカウントを借りるか、架空のメールアドレスを入力して、エラーになることを確認するだけでもOKです)。
- ロール から「基本」→ 「閲覧者」 を選択します。
- 「保存」をクリックします。
これで、指定したメールアドレスのユーザーが、このプロジェクトのリソースを「閲覧」する権限のみを持つことになります。
次に、このユーザーに対して**「編集者」**ロールを付与してみてください。すると、リソースの作成や変更ができるようになります。この一連の流れを体験することで、GCPのIAMの概念をより深く理解できるでしょう。
請求先アカウント:GCPの柔軟な課金管理
AWSでは、AWSアカウントと請求が1対1で紐づくのが一般的です。組織を構成する子アカウントも、それぞれに請求情報が紐づいています。
一方、GCPでは、プロジェクトとは別に請求先アカウントが存在します。この請求先アカウントは、組織レベルで管理され、複数のプロジェクトが同じ請求先アカウントを共有することができます。
AWSとGCPの課金構造の違い
| AWS | GCP | |
|---|---|---|
| 請求単位 | AWSアカウント | 請求先アカウント |
| 紐付け | 1つのアカウントにつき1つの請求 | 複数のプロジェクトを1つの請求先アカウントに紐付け可能 |
| メリット | シンプルでわかりやすい | 組織内の部門やチームごとに柔軟に請求を管理できる |
これにより、例えば「開発チーム」「マーケティングチーム」など、組織内のチームごとにプロジェクトを分けつつも、請求は一括で管理するといった運用が可能です。
実践ハンズオン:請求先アカウントとプロジェクトを紐付けよう
- GCPコンソールから 「お支払い」 に移動します。
- 請求先アカウントを作成または選択します。
- 左側のメニューから 「プロジェクト」 をクリックします。
- 先ほど作成したプロジェクトにチェックを入れ、「お支払いアカウントを変更」から、作成した請求先アカウントを選択します。
これで、プロジェクトで発生した費用が、指定した請求先アカウントに請求されるようになります。
Cloud Shell:ブラウザで使える強力な開発環境
AWS CloudShellと同様に、GCPにもブラウザから利用できるシェル環境Cloud Shellが統合されています。
- 開発環境のセットアップが不要
- GCPリソースを操作するための
gcloudコマンドが最初から利用可能 - 永続的なホームディレクトリ(5GB)
これらの特徴により、PCに何もインストールすることなく、すぐにGCPのコマンドライン操作を試すことができます。
実践ハンズオン:Cloud Shellを使ってみよう
- GCPコンソールの右上にあるアイコン(ツールバーの一番右側)をクリックします。
- ブラウザの下部にCloud Shellが起動します。
- 以下のコマンドを実行して、現在のプロジェクト設定を確認してみましょう。
gcloud config list - 次に、以下のコマンドでCompute Engineのインスタンス一覧を取得してみましょう。
gcloud compute instances list
まだインスタンスを作成していないので何も表示されませんが、このCloud ShellからGCPのあらゆるリソースを操作できることを覚えておいてください。
まとめ:AWSエンジニアがGCPの旅を始めるための最初の地図
今回は、GCPの旅を始めるための「最初の一歩」として、以下の4つのポイントを学びました。
- プロジェクト:AWSアカウントに相当する管理単位。
- IAM:ロールをプリンシパルに付与する、ロールが主役の権限管理。
- 請求先アカウント:プロジェクトとは独立した柔軟な課金管理。
- Cloud Shell:ブラウザから利用できるコマンドライン環境。
この時点で、AWSとGCPの概念的な違いを理解できたのではないでしょうか?特にIAMと請求の考え方は、AWSと大きく異なるため、今後サービスを触っていく上で非常に重要になります。
次回は、AWSのVPCに相当するGCPのネットワークについて解説します。 「VPCの壁を越えろ!AWS VPCとGCP VPCネットワークの設計思想と実践ハンズオン」 と題して、GCPのネットワークのユニークな設計思想を紐解いていきましょう。
この記事が役に立ったという方は、ぜひ「いいね」や「ストック」をお願いします!
シリーズ記事一覧
- [【1日目】はじめの一歩!AWSエンジニアがGCPで最初にやるべきこと](この記事)
- [【2日目】VPCの壁を越えろ!AWS VPCとGCP VPCネットワークの設計思想と実践ハンズオン]
