こちらの記事は弊社技術ブログに掲載していた内容となります。 一部を除き、投稿当時の情報となりますので、紹介内容の最新情報については別途公式情報等をご参照下さい。目次 ToggleGCP を使うにあたり最低限必要な準備GCP の中のプロジェクトの概念を理解してみるプロジェクトに紐付け必須!請求先アカウントの存在プロジェクトの作成まとめこんにちは。 クラウドエースの卵かけご飯こと高木です。「GCP を使ってみよう。」 そう思い、GCP を選択していざ使ってみるといった段階で、まずなにをすればいいかわからない、と感じる方は多くいらっしゃいます。 弊社ではそういった方向けに GCP のトレーニングや Cloud Booster といったサービスを提供していますが、どうせなら記事にもしてみようかなと思い、基礎知識を身につけるのを目的としてひっそりと記事にしていきたいと思います。今回は GCP を使用する際に必要な事前準備について紹介します。 ターゲットとしては、GCP 使ってみたいけど何を準備すればいいかわからないといった方向けになります。GCP を使うにあたり最低限必要な準備以下が必要な準備になります。Google アカウントGCP プロジェクト請求先アカウントそれぞれ説明していきます。Google アカウントを作成しようまず始めに Google アカウントを作成します。Google アカウントは以下3つのいずれかのアカウントを指します。Gmail アカウントG Suite によって発行されたアカウントCloud Identity によって発行されたアカウントGmailGmail アカウントはなんらかの形で利用されている方は多いと思います。 (Google スプレッドシート とか Google Drive とか利用するときに作成したことがある方はいるはず…) Gmail アカウントを作成する場合は、公式ドキュメントを参照してください。 セキュリティを少しでも高めるために2段階認証を使っておくことを推奨します。G SuiteG 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 IdeintityG 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-BCompute 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 を使って無料トライアルを試して見る場合は、以下記事に作成方法まで全て記載されていますので参照してみてください。初心者のための GCP プロジェクト始め方入門Google アカウントの作成方法は紹介済みになりますので、請求先アカウントの作成方法とプロジェクト作成方法を紹介します。 今回紹介する方法は、トライアル期間終了後、正式に請求先アカウントとプロジェクトを作成したいといったケースでの方法になります。請求先アカウントの作成GCP の Cloud Console へアクセス 以下リンクから Cloud Console へアクセスします。https://console.cloud.google.com/?hl=jaアクセス後、Console 右上のナビゲーションメニューから「お支払い」を選択 今回は請求先アカウントを作成するため、「請求先アカウントを管理」を選択します。「アカウントを追加」を選択します。 その後は請求先アカウントの名前を決めあり、画面の指示通りに設定し、最後にクレジットカードの情報を入力して完了となります。請求先アカウントが作成されました。 プロジェクトの作成続いて、プロジェクトを作成して請求先アカウントと紐付けをします。Cloud Console へアクセスし、画面上部、プロジェクト名が表示されている赤枠の部分を選択します。プロジェクトの選択画面が表示されるので、右上「新しいプロジェクト」を選択。 選択すると、プロジェクトの名前を決める画面に移動します。 プロジェクトの名前は4〜30文字の制限があるため、制限にひっかからないように設定しましょう。ここで重要になってくるのは、赤枠で囲った Project ID です。 プロジェクトの識別子としては以下があります。プロジェクト名ユーザーが識別するための任意の値。プロジェクト IDGCP のシステムが識別するための世界で一意の値。プロジェクト名はユーザーがどういったシステムが動いているのかを判断するために自由に変更することもできる値になります。 プロジェクト ID は GCP の内部システムが GCP のサービスの中で作成/提供されるリソースがどのプロジェクトに属するか、どのプロジェクトに対して作成するか等を判断する値になり、一度設定したら変更ができません。プロジェクト名とプロジェクト ID の値が異なることはユーザーが識別する点や自動化する等の様々な面であまり好ましくないため、できる限りプロジェクト名とプロジェクト ID は同じ値になるように設定してください。 入力したプロジェクト名が一意の場合は、プロジェクト ID も同じ値になりますが、今回のプロジェクト名「sample-project」 はどうやらすでに使われているようです。 プロジェクト ID が「sample-project-251504」となり、後ろに自動的に数字がつけられていますね。今回は以下のように一致するように設定しました。 会社で GCP プロジェクトを作成する際は、会社名を最初に記載するなど命名規則を事前に決めておくといいと思います。「場所」と記載されている部分については、組織の階層構造をとっている際に、どの組織にプロジェクトを所属させるかの選択になりますので、第2回目の記事で説明したいと思います。作成ボタンを選択してプロジェクトを作成しましょう。 作成するプロセスが走り、数秒待つとプロジェクトが作成されます。これでプロジェクトの作成は完了です。請求先アカウント とプロジェクトの紐付けを確認する最後に作成したプロジェクトと請求先アカウントが紐付いているか確認します。請求先アカウントを作成したアカウントでプロジェクトを作成すると、請求先アカウントが1つしかない場合は自動的に紐付けがされます。 実際に紐付いているかを確認しましょう。プロジェクトを作成する際にも選択した、画面上部のプロジェクト選択の部分を選択し、今回作成したプロジェクトを選択します。請求先アカウント作成時にも選択した、ナビゲーションメニューから「お支払い」を選択します。 今回は特に設定しなくても作成した請求先アカウントの管理画面にいくと思います。左側メニュー最下部の「アカウント管理」を選択。 紐付いていることが確認できました。まとめいかがだったでしょうか。 第1回目ということもあり、GCP を利用するにあたっての事前準備部分について説明しました。今回は作成して勝手に紐付けされていることを確認しましたが、例えば紐付ける請求先アカウントを変更したい場合もあると思います。 本記事では説明しませんが、公式ドキュメントがありますので、変更方法についてはこちらを参照してみてください。また、特に意識せずに作業方法のみ紹介しましたが、今回紹介した「プロジェクト」や「請求先アカウント」は作成したものに対して誰でも閲覧や編集ができないように「IAM」と呼ばれるサービスでアクセス制御を行なっています。プロジェクト等を作成した Google アカウントは自動的に管理者権限を付与されるため、今回はそれを利用して作業しましたが、既存のプロジェクトや請求先アカウントを使用した場合、うまくいかない可能性もあります。そのため、次回は記事の中で紹介した「組織階層」の説明と、セキュリティのサービスである「IAM」について説明したいと思います。GCP の中でも管理方法やセキュリティに関する重要なサービスについての説明になりますので、最後まで読んでいただいた方は是非合わせて読んでいただければと思います。クラウドエースでは、GCPの導入から開発をはじめとした総合支援サービスをご用意しております。 弊社のインサイドセールス部門がお客様のビジネスのご状況や、導入・検討のきっかけなどをヒアリングし、最適なご提案をさせていただくことも可能ですので、お気軽にご相談ください。