こんにちは。クラウドエースの卵かけご飯こと高木です。
「GCPを使ってみよう。」
そう思い、GCPを選択していざ使ってみるといった段階で、まずなにをすればいいかわからない、と感じる方は多くいらっしゃいます。
弊社ではそういった方向けにGCP のトレーニングやCloud Booster といったサービスを提供していますが、どうせなら記事にもしてみようかなと思い、基礎知識を身につけるのを目的としてひっそりと記事にしていきたいと思います。
今回はGCPを使用する際に必要な事前準備について紹介します。
ターゲットとしては、GCP 使ってみたいけど何を準備すればいいかわからないといった方向けになります。
目次
GCP を使うにあたり最低限必要な準備
以下が必要な準備になります。
- Google アカウント
- GCP プロジェクト
- 請求先アカウント
それぞれ説明していきます。
Google アカウントを作成しよう
まず始めにGoogle アカウントを作成します。
Google アカウントは以下3つのいずれかのアカウントを指します。
- Gmail アカウント
- G Suite によって発行されたアカウント
- Cloud Identity によって発行されたアカウント
Gmail
Gmail アカウントはなんらかの形で利用されている方は多いと思います。
(Google スプレッドシート とかGoogle Driveとか利用するときに作成したことがある方はいるはず…)
Gmail アカウントを作成する場合は、公式ドキュメントを参照してください。
セキュリティを少しでも高めるために2段階認証を使っておくことを推奨します。
G Suite
G Suite は、Google が提供するグループウェアツールです。
Google Drive やGmail 、Google カレンダー等のG Suite が提供するサービスを特定ドメイン(組織)の管理下に置き、ファイルの公開設定を管理したり権限設定でアクセス制御ができます。
G Suite の中にアカウント発行機能があり、この機能によって作成されたドメインに紐づくアカウントもGoogle アカウントになります。
G Suite の場合、二段階認証を管理者権限で設定必須にすることができるので、企業として安全にGoogle アカウントを運用できるようになります。
プランは3つ
- Basic
1ユーザー/月/680円 - Business
1ユーザー/月/1,360円 - Enterprise
1ユーザー/月/3,000円
G Suite は公式サイトからお申込みが可能です。
お申込みをする際は、事前にドメインの取得を済ませておく必要がありますので注意ください。
Cloud Ideintity
G Suite からアカウント発行、管理機能のみを使えるようにしたアカウントサービスになります。
G Suite 同様ドメイン(組織)の管理下でアカウントを管理できます。
二段階認証も企業として設定必須にでき、無料で50アカウントまで作成が可能になります。
プランは2つ
- Free
無料(50アカウントまで) - Premium
1ユーザー/月/645円
Cloud Identity を申し込む場合、現時点(2019/08現在)ではGCP のWeb コンソールからしかできないためご注意ください。
Cloud Identity を申し込むには、前述したGmail アカウントの作成と後述するプロジェクトの作成まで済ませる必要があります。
申込み方法については、この記事に記載されていますのでGmail アカウントの作成とプロジェクトの作成まで完了したら参考にしてみてください。
※ G Suite やCloud Identity で作成されたアカウントでログインしていると、記事にあるWeb コンソールで「Cloud Identity」 のお申込みボタンが表示されないので注意してください。Gmail のアカウントでログインしている状態でのみ表示されます!(2019/08現在)
Google アカウントはどれを選ぶべきか
個人利用、企業利用いずれの場合も以下のいずれかをおすすめします。
- G Suite によって発行されたアカウント
- Cloud Identity によって発行されたアカウント
おすすめな理由は以下です。
- アカウントの一元管理
- セキュリティポリシーを組織レベルで設定可能
- GCP で組織の階層構造を構築でき、GCP 上に動くシステムを組織として管理可能
- 組織の階層構造を構築することにより、GCP のネットワーク/セキュリティサービスの選択の幅が広がる
組織でGmail アカウントを利用していると、二段階認証を設定しないユーザーがいても検知できず、アカウント漏洩が発生した場合も対処が難しくなります。
組織階層ってなんだ?と思われるかと思いますが、組織階層については第2回の記事で説明します。
Cloud Identity からG Suite に移行することは可能なので、まず無料のCloud Identity で試してみるのをおすすめします。
GCP の中のプロジェクトの概念を理解してみる
GCP 上で動くシステムは、「プロジェクト」の単位で管理されます。
今回は例として以下のようなGCP の環境を構築したと仮定します。
- sample-project-A
- データ分析系のシステムが動いている環境
- Cloud Storage にあるデータをDataflow で処理してBigQuery に保存。Datalab で分析。
- sample-project-B
- Compute Engine のVMインスタンス上でWebサービスが動き、HTTPS Load Balancer によって負荷分散
イメージとしては以下図になります。
- Compute Engine のVMインスタンス上でWebサービスが動き、HTTPS Load Balancer によって負荷分散
プロジェクトを分けることによるメリットは以下が考えられます。
- 比較的簡単にシステムの分離ができる。
- プロジェクトやGCP のサービス(Compute Engine とかCloud Storage とかそういったサービスを指します。)ごとにアクセス権限を設定でき、プロジェクトで分けると権限設定や管理が楽になる場合が多い。
- 請求はプロジェクト単位で発生するため、どのシステムでどの程度料金が発生したかが明確になる。
- オペレーションミスやなんらかの理由でプロジェクトが乗っ取られた場合の影響範囲を最小限にできる。
GCP 上でシステムを構築するにあたり、どの程度の粒度でプロジェクトを分けるかによって構築時や管理する際のコストが変わってきます。
システム単位でプロジェクトを分けるパターンが多いですが、必ずしもそれが正しいとは限らないため、構築するシステムの要件によって都度検討する必要があることは注意してください。
ここまででGCP におけるプロジェクトがどういったものかは理解していただけたかと思います。
なので、早速GCP のプロジェクトを作成しましょう!と、いきたいところですが、プロジェクトを作成するにあたり、「請求先アカウント」についても理解しておく必要がありますので、プロジェクト作成を実施する前に説明していきます。
プロジェクトに紐付け必須!請求先アカウントの存在
GCP のCompute Engine やBigQuery 等の各サービスは、使用した分だけ請求が発生する従量課金制になっています。
そしてプロジェクトの中でこれらのサービスを使って、自分の作りたいシステムを作っていきます。
このプロジェクトで発生したサービスたちの請求の管理やどこに請求させるかといった機能を担っているものが「請求先アカウント」になります。
請求先アカウントには以下のような機能があります。
- 発生した請求をなにで支払うかの定義(クレジットカードor銀行口座)
- どのプロジェクトが請求先アカウントに紐付いていて、プロジェクトごとにどういったサービスでどの程度料金が発生しているか自動でグラフ化し確認が可能。
- 発生した課金のデータをcsv/json のいずれかのファイル形式でダウンロードしたり、BigQuery にエクスポートして分析できる。
- プロジェクトごと、GCP サービスごとに予算を設定し、設定した予算から任意の利用料でアラートメールを出すよう設定可能。(例えば予算100万円のうち50万円(50%)までいったらアラートメールが送信される。)
Gmail で初めてプロジェクトを作成する際、クレジットカード情報の入力を求められますが、入力後自動的に請求先アカウントが作成されるようになっています。(入力したクレジットカードに請求がくるようになります。)
下図のようにグラフでは日毎にどの程度料金が発生したかがわかります。
プロジェクトを作成し、課金が発生するGCP サービスを利用する場合はかならず請求先アカウントとプロジェクトを紐付ける必要があります。
大まかな紐付け、請求までのフローのイメージは下図になります。
請求先アカウントはプロジェクトを作成する際に都度作成するものではなく、1つの請求先アカウントに複数のプロジェクトを紐付けることが可能です。
請求先アカウントをプロジェクトごとに発行しているとプロジェクトの量に比例して管理する請求先アカウントの量も増えてしまうため、どの量で請求先アカウントを作成するかもプロジェクト同様検討してください。
(基本は1つでいいと思いますが、要件によって要検討。)
プロジェクトの作成
これでプロジェクトを作成する際に必要な知識については説明しました。
始める際の簡単な流れは以下になります。
Google アカウントを作る
↓
プロジェクトを作成する&請求先アカウントを作成する
(プロジェクト作成時に作成済みの請求先アカウントを使用するでもOKです。)
gmail を使って無料トライアルを試して見る場合は、以下記事に作成方法まで全て記載されていますので参照してみてください。
Google アカウントの作成方法は紹介済みになりますので、請求先アカウントの作成方法とプロジェクト作成方法を紹介します。
今回紹介する方法は、トライアル期間終了後、正式に請求先アカウントとプロジェクトを作成したいといったケースでの方法になります。
請求先アカウントの作成
GCP のCloud Console へアクセス
以下リンクからCloud Console へアクセスします。
https://console.cloud.google.com/?hl=ja
アクセス後、Console 右上のナビゲーションメニューから「お支払い」を選択
今回は請求先アカウントを作成するため、「請求先アカウントを管理」を選択します。
「アカウントを追加」を選択します。
その後は請求先アカウントの名前を決めあり、画面の指示通りに設定し、最後にクレジットカードの情報を入力して完了となります。
請求先アカウントが作成されました。
プロジェクトの作成
続いて、プロジェクトを作成して請求先アカウントと紐付けをします。
Cloud Console へアクセスし、画面上部、プロジェクト名が表示されている赤枠の部分を選択します。
プロジェクトの選択画面が表示されるので、右上「新しいプロジェクト」を選択。
選択すると、プロジェクトの名前を決める画面に移動します。
プロジェクトの名前は4〜30文字の制限があるため、制限にひっかからないように設定しましょう。
ここで重要になってくるのは、赤枠で囲ったProject IDです。
プロジェクトの識別子としては以下があります。
- プロジェクト名
- ユーザーが識別するための任意の値。
- プロジェクトID
- GCP のシステムが識別するための世界で一意の値。
プロジェクト名はユーザーがどういったシステムが動いているのかを判断するために自由に変更することもできる値になります。
プロジェクトIDはGCP の内部システムがGCP のサービスの中で作成/提供されるリソースがどのプロジェクトに属するか、どのプロジェクトに対して作成するか等を判断する値になり、一度設定したら変更ができません。
プロジェクト名とプロジェクトIDの値が異なることはユーザーが識別する点や自動化する等の様々な面であまり好ましくないため、できる限りプロジェクト名とプロジェクトIDは同じ値になるように設定してください。
入力したプロジェクト名が一意の場合は、プロジェクトIDも同じ値になりますが、今回のプロジェクト名「sample-project」 はどうやらすでに使われているようです。
プロジェクトIDが「sample-project-251504」となり、後ろに自動的に数字がつけられていますね。
今回は以下のように一致するように設定しました。
会社でGCP プロジェクトを作成する際は、会社名を最初に記載するなど命名規則を事前に決めておくといいと思います。
「場所」と記載されている部分については、組織の階層構造をとっている際に、どの組織にプロジェクトを所属させるかの選択になりますので、第2回目の記事で説明したいと思います。
作成ボタンを選択してプロジェクトを作成しましょう。
作成するプロセスが走り、数秒待つとプロジェクトが作成されます。
これでプロジェクトの作成は完了です。
請求先アカウント とプロジェクトの紐付けを確認する
最後に作成したプロジェクトと請求先アカウントが紐付いているか確認します。
請求先アカウントを作成したアカウントでプロジェクトを作成すると、請求先アカウントが1つしかない場合は自動的に紐付けがされます。
実際に紐付いているかを確認しましょう。
プロジェクトを作成する際にも選択した、画面上部のプロジェクト選択の部分を選択し、今回作成したプロジェクトを選択します。
請求先アカウント作成時にも選択した、ナビゲーションメニューから「お支払い」を選択します。
今回は特に設定しなくても作成した請求先アカウントの管理画面にいくと思います。
左側メニュー最下部の「アカウント管理」を選択。
紐付いていることが確認できました。
まとめ
いかがだったでしょうか。
第1回目ということもあり、GCP を利用するにあたっての事前準備部分について説明しました。
今回は作成して勝手に紐付けされていることを確認しましたが、例えば紐付ける請求先アカウントを変更したい場合もあると思います。
本記事では説明しませんが、公式ドキュメントがありますので、変更方法についてはこちらを参照してみてください。
また、特に意識せずに作業方法のみ紹介しましたが、今回紹介した「プロジェクト」や「請求先アカウント」は作成したものに対して誰でも閲覧や編集ができないように「IAM」と呼ばれるサービスでアクセス制御を行なっています。
プロジェクト等を作成したGoogle アカウントは自動的に管理者権限を付与されるため、今回はそれを利用して作業しましたが、既存のプロジェクトや請求先アカウントを使用した場合、うまくいかない可能性もあります。
そのため、次回は記事の中で紹介した「組織階層」の説明と、セキュリティのサービスである「IAM」について説明したいと思います。
GCP の中でも管理方法やセキュリティに関する重要なサービスについての説明になりますので、最後まで読んでいただいた方は是非合わせて読んでいただければと思います。
※ 弊社では支払い代行サービスを提供しておりますので、ご興味のある方はお気軽にお問い合わせください。