0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【GCP】プロジェクト・IAM・リージョンを理解しよう

0
Posted at

はじめに

「Google Cloudを使うことになったけど、何から始めればいいかわからない」という方へ。

この記事では、プロジェクトの作成方法からIAMによるアクセス制御、リージョン選定、課金管理まで、Google Cloudを使う前に知っておきたい基礎知識を解説します。

リソース階層

~複数のリソースを管理するしくみ~

リソース階層の構造

Google Cloudでは、リソースを階層的に管理します。

各レベルの説明

レベル 説明
組織 企業または組織全体を表す最上位ノード
フォルダ 部門やチーム単位でプロジェクトをグループ化
プロジェクト リソースの基本的な管理単位
リソース 実際のサービスインスタンス

組織(Organization)

組織は、Google WorkspaceまたはCloud Identityドメインに紐づく最上位のノードです。

特徴:

  • 企業全体のポリシーを一元管理
  • すべてのプロジェクトとフォルダを包括
  • 組織管理者による統制が可能

フォルダ(Folder)

フォルダは、プロジェクトをグループ化するためのコンテナです。

使用例:

  • 部門別(開発部、運用部、営業部)
  • 環境別(開発、ステージング、本番)
  • 製品別(製品A、製品B)
組織
├── 開発部フォルダ
│   ├── 製品Aプロジェクト
│   └── 製品Bプロジェクト
└── 運用部フォルダ
    ├── 監視プロジェクト
    └── ログプロジェクト

プロジェクト(Project)

プロジェクトは、Google Cloudにおけるリソース管理の基本単位です。

属性 説明
プロジェクト名 人間が読みやすい名前(後から変更可能)
プロジェクトID グローバルに一意な識別子(変更不可)
プロジェクト番号 システムが自動生成する数値ID

リソース階層のポリシー継承

上位で設定したIAMポリシーは、下位に継承されます。

継承の例:

  • 組織レベルで付与した権限は、すべてのフォルダ・プロジェクトに継承
  • フォルダレベルの権限は、そのフォルダ配下のプロジェクトに継承
  • 下位で権限を制限することはできない(追加のみ可能)

IAM

~リソースへのアクセスを管理する~

IAMとは

IAM(Identity and Access Management)は、「誰が」「何に対して」「何ができるか」を制御するサービスです。

IAMの主要な概念

メンバー(Principal)

アクセス権を付与する対象:

種類 説明
Googleアカウント 個人のユーザーアカウント
サービスアカウント アプリケーション用のアカウント
Googleグループ 複数ユーザーのグループ
Google Workspaceドメイン 組織全体
allUsers インターネット上のすべてのユーザー
allAuthenticatedUsers 認証済みのすべてのユーザー

ロール(Role)

権限のセット:

種類 説明
基本ロール 広範な権限 Owner, Editor, Viewer
事前定義ロール サービス別の権限 roles/compute.admin
カスタムロール ユーザー定義の権限 最小権限の原則に対応

権限(Permission)

個々の操作権限(例:compute.instances.create

IAMポリシーの設定

# gcloud でIAMポリシーを設定
gcloud projects add-iam-policy-binding my-project \
    --member="user:alice@example.com" \
    --role="roles/compute.viewer"

サービスアカウント

サービスアカウントは、アプリケーションやVMがGoogle Cloud APIにアクセスするために使用する特別なアカウントです。

種類 説明
デフォルトサービスアカウント サービス有効化時に自動作成
ユーザー管理サービスアカウント 手動で作成・管理
Googleマネージドサービスアカウント Googleがサービス用に作成

IAMのベストプラクティス

  1. 最小権限の原則:必要最小限の権限のみ付与
  2. グループの活用:個人ではなくグループに権限を付与
  3. サービスアカウントの適切な使用:人間のアカウントと分離
  4. 定期的なレビュー:不要な権限の削除
  5. 条件付きアクセス:時間や場所による制限

Workload Identity Federation

2024年以降推奨されているWorkload Identity Federation for GKEにより、KubernetesサービスアカウントにIAMロールを直接付与できます。


リージョンとゾーン

~世界中に展開されているデータセンター~

リージョンとゾーンの概念

リージョンの中にゾーンは内包される関係性です。

リージョン

リージョンは、特定の地理的エリアを表します。

属性 説明
独立したロケーション 他のリージョンと物理的に分離
複数のゾーン 通常3つ以上のゾーンで構成
低遅延 同一リージョン内は低遅延で通信可能

ゾーン

ゾーンは、リージョン内の独立したデプロイメントエリアです。

特徴:

  • 独立した電源、冷却、ネットワーク
  • 障害ドメインの分離
  • 同一リージョン内のゾーン間は高速接続

2024年時点のグローバル展開

地域 リージョン数 代表的なリージョン
北米 13 us-central1, us-east4, us-west1
南米 3 southamerica-east1
ヨーロッパ 11 europe-west1, europe-north1
アジア太平洋 13 asia-northeast1, asia-southeast1
中東 3 me-west1, me-central1
アフリカ 1 africa-south1

日本のリージョン

リージョン 場所 開設年 ゾーン数
asia-northeast1 東京 2016年 3
asia-northeast2 大阪 2019年 3

東京リージョン(asia-northeast1)の特徴:

  • 日本初のGoogle Cloudリージョン
  • 東京、札幌、大阪、名古屋などの主要都市に低遅延でアクセス
  • フルラインのGoogle Cloudサービスを提供

リージョンの選定基準

基準 説明
遅延要件 ユーザーに近いリージョンを選択
可用性要件 複数リージョンでの冗長構成
コンプライアンス データの地理的制限
サービス提供 必要なサービスの提供状況
コスト リージョンによる料金差

マルチリージョン構成

高可用性を実現するためのマルチリージョン構成:


Cloud Billing

~料金を管理するしくみ~

Cloud Billingの概要

Cloud Billingは、Google Cloudの料金を管理するためのサービスです。

請求先アカウント

請求先アカウント(Billing Account)は、料金の支払い方法を定義します。

種類:

  • セルフサービス:クレジットカードで支払い
  • 請求書払い:月次請求書による支払い(大規模顧客向け)

料金体系

Google Cloudは主に従量課金制を採用しています。

課金方式 説明
従量課金 使用したリソース量に応じて課金
秒単位課金 Compute Engineは秒単位で課金
継続利用割引 長期利用で自動的に割引適用
確約利用割引 1年または3年の契約で大幅割引

コスト管理ツール

ツール 説明
Cloud Billing 請求書、支払い履歴の確認
Cost Management コストの分析と最適化
予算アラート 設定した金額に達したら通知
エクスポート BigQueryへのコストデータエクスポート
レコメンデーション コスト最適化の提案

予算の設定

予算を設定して、想定外のコストを防止:

  1. Cloud Billing Consoleにアクセス
  2. 「予算とアラート」を選択
  3. 新しい予算を作成
  4. 対象プロジェクトとサービスを選択
  5. 予算額とアラートしきい値を設定

コスト最適化のヒント

施策 効果
適切なマシンタイプ選択 過剰スペックを避ける
Preemptible/Spot VM 最大91%のコスト削減
確約利用割引 最大70%のコスト削減
自動スケーリング 需要に応じたリソース調整
未使用リソースの削除 使われていないリソースを特定・削除

ラベルによるコスト管理

リソースにラベルを付与して、コストを追跡:

# ラベルの付与例
gcloud compute instances add-labels my-instance \
    --labels=environment=production,team=engineering

ラベルによる集計:

  • チーム別のコスト
  • 環境別(本番、開発など)のコスト
  • プロジェクト別のコスト

まとめ

この記事では、Google Cloudを使うための基本的な手順と概念について学びました:

  • Webブラウザから簡単にGoogle Cloudを利用開始できる
  • Google Cloud Consoleで視覚的にリソースを管理
  • リソース階層(組織、フォルダ、プロジェクト)で体系的に管理
  • IAMで適切なアクセス制御を実現
  • リージョンとゾーンで可用性と低遅延を実現
  • Cloud Billingでコストを効率的に管理

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?