01-00 GCPを利用するための準備
準備するもの
後々必要となるものをあらかじめリストアップしています。
- Googleアカウント
無料のGmailアカウントでも、有料のGoogleAppsアカウントでも、どちらでも大丈夫です。
- クレジットカード
VISA、Master、Amex、JCBのカードが使えます。登録するクレジットカードは後で変更できます。さしあたり個人のカードなどで問題ないでしょう。
- パソコン
説明を簡略化するためMacとChromeでの手順だけを紹介しています。もちろんWindowsや他のブラウザでもできますので、適宜読み替えてください。
準備の流れ
- クレジットカードを登録する。
- GCPコンソールにアクセスする。
- デフォルトプロジェクトを削除する。
- 請求先アカウントを設定する。
- ツール類をインストールする。
- 新規プロジェクトを作成する。
クレジットカードの登録
請求先アカウントとは?
GCPはGoogleアカウントでログインして利用します。GCPを利用するための専用ログインIDやパスワードといったものは存在しません。
請求先アカウントとはGCP利用料金の支払いに使用する口座のことを意味しています。口座に指定できるのはクレジットカードだけですので、
実質的に「請求先アカウント」=「クレジットカード」という理解で問題ないでしょう。
(トップゲートでは立替え払いサービスを提供しています)
- Googleログイン
Googleにログインします。
- コンソールアクセス
下記URLにアクセスします。
https://console.cloud.google.com
このサイトのことをGCPコンソールと呼びます。後ほど詳しく説明しますが、GCPの管理全般を行えるWEBアプリです。
- 無料試用に登録
画面右上の[無料試用に登録]をクリックします。
利用規約に同意して[次へ]をクリックします。 クレジットカード情報を入力します。
無事、請求先アカウントを開設できました。
MyFirstProjectの削除
請求先アカウントを開設するとデフォルトで「MyFirstProject」という名前のプロジェクトが作成されます。 プロジェクトとは何かについては後ほど詳しく説明します。その時、明示的にプロジェクトを作成する予定なので、さしあたり不要な「MyFirstProject」は削除してしまいましょう。
GCPコンソールを見ると、右上に[MyFirstProject]という名前が存在していることがわかります。
プルダウンメニューになっているので、展開し[すべてのプロジェクトの管理]をクリックします。
削除対象である[MyFirstProject]にチェックを入れて、[ゴミ箱]アイコンをクリックします。 確認のためのキーボード操作を求められます。 指示に従い文字列を入力する必要があります。プロジェクトIDについては後ほど説明します。 削除したプロジェクトは一旦[削除保留中]というステータスになり、一週間後に完全に削除されます。 無事デフォルトプロジェクトを削除できました。
QUIZ
Q1.
Googleの無料トライアルは何円分?(2016年5月時点)
- 約3,000円
- 約10,000円
- 約30,000円
Q2.
評価期間は何ヶ月?(2016年5月時点)
- 1ヶ月
- 2ヶ月
- 3ヶ月
Q3.
GCPにログインするには?
- GCP専用のアカウントしか利用できない。新規にIDとパスワードを取得する。
- Googleアカウントしか利用できない。GmailかGoogleAppsアカウントを利用する。
- FacebookやTwitter、Google+などの認証が利用できる。
A1.
約30,000円
300ドルなので、約3万円です。
(けっこう太っ腹な金額ですね!)。
A2.
2ヶ月 60日なので約2ヶ月です。
A3.
GmailかGoogleAppsアカウントを利用
GCP専用のID・パスワードといったものはありません。また、FacebookやTwitterの認証は利用できません。GmailかGoogleAppsのアカウントが必要です。
まとめ
GCPには無料試用枠があります。また、GCPはGoogleアカウントでログインして利用すること、利用開始にあたっては請求先アカウントとプロジェクトを作成する必要があることも学びました。
さぁ、請求先アカウントを開設したので、いつでもGCPを使い始めることができます!
次の授業では、まず管理コンソールの見方を勉強してみましょう。
GCPコンソールとは?
GCPの管理に利用するWEB管理画面がGCPコンソールです。
各サービスや関連資料への玄関口となっており、サービス設定の確認・変更、課金状況の確認、マニュアルの参照やツールのダウンロードなど、様々なことができます。
GCPコンソールの見方について確認していきましょう。
画面の構成
[メニュー]ボタン
このボタンが[メニュー]ボタンです。 クリックすると、サービスの一覧が表示されます。(2016年5月現在26個のサービスが登録されています) クリックすると、そのサービスのページに移動します。 試しに[お支払い]をクリックしてみましょう。 [お支払い]のページが表示されました。 さらにサービスの種類によっては縦表示で複数のタブがあることがわかります。 試しに[履歴]をクリックしてみましょう。 右側に[お支払い]の[履歴]詳細が表示されました。 このように画面左から項目を選ぶと、右側に詳細が表示されるのが、基本の画面構成となります。
[📌ピン]アイコン
サービスのどれかにカーソルを合わせた際、ピンのアイコンが表示されたことにお気づきでしたでしょうか。これをクリックしてみましょう。 メニューボタンの横にショートカットが追加されました! GCPには非常に多くのサービスがあるので、良く使うものはピン留めしておくと便利です。
[詳細]アイコン
またピンアイコンの隣に、丸に囲まれた i のアイコンが出現するサービスがあります。 このアイコンはそのサービスのドキュメントへのリンクになっています。 試しに[AppEngine]にカーソルを合わせ、表示された[詳細]アイコンをクリックしてみましょう。 ドキュメントページが表示されました。 わざわざブックマークしなくてもすぐドキュメンントが見れるのは便利ですね。 以上が[メニュー]ボタンの説明です。
[検索🔍]フィールド
ピンどめする代わりに、サービスの名前の一部で検索することもできます。 検索フィールドに文字を入れると候補が表示されるので、お目当てのサービスを選択します。
[GoogleCloudShell]ボタン
GCP管理コマンドがインストールされたLinuxのShell環境を、ブラウザ上で利用出来る機能です。(GCP管理コマンドについては後ほど詳しく説明します。)
Shell環境をセットアップすることなくGCP管理コマンドを利用することができます。Linuxインスタンス1台を無償提供されているようなイメージです。2016年中は無料で利用出来るそうです。
[フィードバック]ボタン
Google製品を普段使っている方はご存知かもしれません。サービス改善のアイデアやトラブルに関して意見を送ることができる目安箱です。
[ヘルプ]ボタン
ヘルプウィンドウが開きます。 基本的な内容であれば、量の多いマニュアルを読み解かずとも、ヘルプで簡単に答えを見つけられるかもしれません。
[通知]ボタン
例えばプロジェクトの作成・削除など、重要な情報を通知してくれます。
[ユーティリティ]ボタン
各種リソースへのリンク集になっています。
設定
言語や数値の表示形式、メール通知の頻度などを設定できます。
キーボードショートカット
ショートカットが載っています。
ダウンロード
ソフトウェアをダウンロードできます。
- Google Cloud SDK
- Android Studio
- Google Plugin for Eclipse
Google Cloud SDKとAndroid Studioは後ほどインストールします。
クラウドパートナー
GCPのエンジニアリングをしているパートナー会社のリンク集です。
株式会社TOPGATEも記載されています。
利用規約
各サービスの利用規約のリンク集です。
プライバシー
プライバシー管理ポリシーに関する規約へのリンクです。
コンソールのガイドを見る
簡易的なデモがポップアップで開始します。 10秒程度で終わります。
QUIZ
Q1.
以下のサービスをピン留めしてみましょう。
- ホーム
- お支払い
- AppEngine
- ストレージ
- 監視
- BigQuery
Q2.
以下のソフトウェアをダウンロードしましょう。
- Google Cloud SDK
- Android Studio
A1.
画像のようになっていればOKです
A2.
下記ソフトウェアをダウンロードできていればOKです [ユーティリティ]-[ダウンロード]から各ソフトをダウンロードできます。
- google-cloud-sdk-108.0.0-darwin-x86_64.tar
- android-studio-ide-143.2790544-mac.dmg
まとめ
GCPコンソールの画面構成について確認しました。
画面上の要素が多いですが、覚えておくべきポイントは、そう多くありません。
請求先アカウントの設定
最初に請求先アカウントの設定をします。主に以下の設定をすることができます。
- 請求先アカウントの名前
- 管理者の設定
- 課金のアラート通知
- 課金履歴のエクスポート
- 請求に関する連絡先の設定
- 請求に使用されるクレジットカードの設定
設定手順
[メニュー]ボタンから[お支払い]をクリックします。
[概要]タブ
請求先アカウントに紐づいた、クレジット、管理者、プロジェクトを確認することができます。
請求先アカウント名
まずは請求先アカウントに分かり易い名前をつけましょう。「プライベートJCB」「会社VISA」といったように、名前に公私の区別やカード会社名を含めると分かり易くなります。 [請求先アカウント名の変更]をクリックします。
クレジット
クレジットとは割引チケットです。プロモーションなどで追加されることがあります。 試用に登録していれば$300のクレジットが登録されているはずです。 特に設定はありません。
課金管理者
課金管理者は、履歴の照会やアラートの設定など、課金状況の管理ができるユーザーです。通常、決済権者や予算を管理するPMを登録します。追加したい人のGoogleメールアドレスを入力すると招待メールが送られ、メールに記載された承認用リンクをクリックすると追加が確定します。
この請求先アカウントにリンクされているプロジェクト
この請求先アカウントを利用しているプロジェクトを作成すると、随時追加されていきます。 プロジェクトの課金を停止したり、請求先アカウントを切り替えることができます。 現在はプロジェクトを登録していないので、表示されていません。
[予算とアラート]タブ
予算を立てて、予算の消費率に応じてアラートメール通知を行うことができます。注意点として、この予算とアラートはあくまで目安なので、実際の課金とは異なる場合があります。バースト性のあるサービスでは、別途その課金上限を設定する必要があります。 金額はドルで指定し、消費率には100%以上も指定することができます。 課金はプロジェクト毎の使用リソースに対して発生しているため、予算とアラートもプロジェクトに対して設定するのがオススメです。 プロジェクト作成後にプロジェクトに対して予算とアラートを設定します。
履歴
過去の課金履歴を参照したり、CSVやPDFでデータをダウンロードすることができます。 また[お支払い]ボタンから先払いをすることができます。
課金データのエクスポート
課金履歴を他システムから利用できるように設定できる機能です。課金履歴をCSVもしくはJSONの形式で、クラウドストレージに自動アップロードする設定が可能なので、人手を介さずに他のアプリケーションから課金データを操作することができるようになります。 今は特に設定しません。
プロフィール
請求先アカウントに紐付いたプロフィールを確認・変更できます。例えば住所や連絡先メールアドレスを設定することができます。 今は特に設定しません。
お支払い設定
請求先アカウントに紐付いたクレジットカードの設定を確認・変更できます。例えばクレジットカードを変更したり、予備のクレジットカードを登録することができます。 今は特に設定しません。
アップグレード
最後にアカウントをアップグレードします。試用中は機能制限があるため、アカウントをアップグレードしておきます。アップグレード後も無償枠は使い続けられます。 [アップグレード]をクリックし、 [今すぐ更新]をクリックします。 以上で請求先アカウントの設定は完了です。
QUIZ
Q1.
請求先アカウントの名前を変えてみましょう。
Q2.
課金管理者を追加してみましょう。
A1.
[お支払い]-[概要]-[請求先アカウント名の変更]から変更できます。 メニューボタンから[お支払い]を選択し、請求先アカウント名の列に変更した名前が表示されているか確認してください。
A2.
[お支払い]-[概要]-[管理者]から追加できます。
まとめ
請求先アカウントを設定した後、アカウントをアップグレードしました。 クレジットカードの設定や、課金状況の確認とデータのエクスポート、予算とアラートの設定方法について学びました。 さぁ、次はプロジェクトを作成してみましょう。
プロジェクトとは?
概念
GCPを利用する上でプロジェクトという概念を理解することが重要です。GCPにおいてはプロジェクトという単位で、課金やアクセス権限が完全に分離されています。例えば建設会社をイメージしてみてください。「道路敷設プロジェクトA」と「橋建設プロジェクトB」を実行していたとすると、プロジェクト毎に予算もメンバーも異なります。プロジェクトB用の予算をプロジェクトA用に使うことはありませんし、例え同じ会社の社員でもプロジェクトメンバーでなければ別プロジェクトの資料は閲覧できません。しかし、会社の決算は2つのプロジェクトを合算して行われますし、社員によっては両方のプロジェクトに参加したり、社外からプロジェクトメンバーを招くことがあるかもしれません。このプロジェクトの概念が、ほぼ同様にGCPにおいても成立します。
プロジェクト単位でサービスの使用量が計算され課金されます。また、プロジェクト単位で参加するメンバーを設定し、アクセス権限を設定できます。その一方で、複数プロジェクトで同じ請求先アカウントを利用することができますし、複数のプロジェクトに参加するメンバーや組織外のメンバーをプロジェクトに参加させることもできます。
また、プロジェクト発足前に、資材や工事用車両といったリソースを確保することがないのと同様に、GCPにおいても請求先アカウントを作成しプロジェクトを作成した後、はじめてサービスの利用を開始することができます。
プロジェクト名とプロジェクトID
各プロジェクトは、プロジェクト名とプロジェクトIDを持ちます。 プロジェクト名は人間が判別しやすいようにつける名前で、GCPコンソール内で一意でさえあれば自由につけることができます。 一方プロジェクトIDはGCPのシステムが利用する名前で、全世界で一意である必要があります。重複した場合はシステムが自動で数字を追加して一意なIDにしてくれます。
請求先アカウント
請求先アカウントが複数登録されている場合は、プロジェクト作成時に紐づける請求先アカウントを選択することができます。
AppEngineの場所
Google App Engine(GAE)はGCPのPaaSサービスです。
プロジェクト作成時に詳細設定を表示すると、GAEがホスティングされる地域を選択することができます。原則、物理的に距離の近いリージョンを選ぶので、日本の場合(将来アジアリージョン、日本リージョンが選べるようになるまでは)デフォルトのUS-Centralで問題ないでしょう。
プロジェクトの作成
作成
GCPコンソールにアクセスしプロジェクト名とAppEngineの場所を入力の上[作成]をクリックします。
最初に静的な1ページのWEBサイトをホスティングするプロジェクトを作成しますので、プロジェクト名は「staticwebsite」にしてください。プロジェクトIDは自動設定されたものを使って問題ありません。おそらく「staticwebsite-xxxx」といったものになっているでしょう。
プロジェクトが作成されました。
プロジェクトIDのメモ
プロジェクトを作成した際にプロジェクトIDをメモすることを忘れないでください。 この後のなにかと入力することになります。
予算とアラートの設定
請求先アカウントの設定で説明したとおり、予算とアラートはプロジェクト毎に設定するのがオススメです。プロジェクトに対して、予算とアラートを設定します。 上記は請求先アカウントではなく、プロジェクトに対して、$30の予算、予算の50%、90%、150%を消費したタイミングでメール通知を行う設定をしている例になります。
QUIZ
Q1.
間違っているのはどれでしょうか? * 一つのプロジェクトに複数の請求先アカウントを登録することができる。 * 一つのGoogleアカウントで複数の請求先アカウントを管理することができる。 * 複数のプロジェクトで一つの請求先アカウントを使うことができる。 * プロジェクト毎にメンバーの権限を変えることができる。
Q2.
間違っているのはどれでしょうか? * GCPはシステム内部でプロジェクトIDでプロジェクトを識別している。 * 予算のアラートはプロジェクトに対して設定できる。 * GoogleAppEngineのホスティング場所はプロジェクト作成後に変更できる。 * プロジェクト名は自由につけることができる。
A1.
誤りは1番です。 プロジェクト毎に一つの請求先アカウントを設定できます。 一つの請求先アカウントに複数のクレジットカードを登録することは可能です。
A2.
誤りは3番です。 GoogleAppEngineのホスティング場所はプロジェクト作成時に設定する必要があり、後で変更することはできません。
まとめ
GCPはプロジェクトという単位で完全に分割して管理されています。もしプロジェクトが違えば、課金も権限管理も別々に行われます。GCPのシステム内部ではプロジェクトIDが利用されているため、プロジェクトIDは全世界で一意である必要があります。
GCPの全体像
請求先アカウントを設定し、プロジェクトを作成しました。これでGCPの各サービスを本格的に利用する準備が整ったと言えます。 実際に各サービスの使い始める前に、GCPの全体像を眺めてみましょう。 サービス群は大きく5つに分類されています。
- コンピュート
- ストレージ
- STACKDRIVER
- ツール
- ビッグデータ
上記5つに加え、[ホーム]や[お支払い]など、5つの分類に含まれない共通のサービス群があります。
各サービスの概要
ホーム
プロジェクト全体の状況を把握するサービスです。ダッシュボード機能と操作履歴(アクティビティ)の検索機能があります。
API Manager
GCPのAPIを管理するサービスです。APIを有効化・無効化したり、アクセスを認証する機能があります。
お支払い
請求先アカウントを管理するサービスです。
Cloud Launcher
雛形からインスタンスを作成するサービスです。メジャーなOS・ミドルウェア・アプリケーションが、100種類以上もの構築済みソリューションとして登録されており、インストールやセットアップをすることなく使い始めることができます。
IAMと管理
アカウントとアクセス権の管理サービスです。プロジェクトに参画するユーザーアカウントやサービスが利用するシステムアカウントを管理できます。また、
コンピューティング
App Engine
GCPのPaaSサービスです。あらゆる運用をサービスとして担保してくれているので、開発者はコーディングに集中できます。
Compute Engine
GCPのIaaSサービスです。コンテナで提供されるため起動が高速で、価格性能比に優れています。開発用途の場合、可用性を下げる代わりに極端な安価で利用出来るオプションもあります。(プリエンプティブル VM )
Container Engine
GCPのマネージドコンテナサービスです。コンテナイメージを登録し、Kubernatesでコンテナを管理できます。
ネットワーキング
ネットワークや静的IP、ロードバランサやVPNなどのネットワークサービスを提供します。
ストレージ
Bigtable
ビッグデータ向けのNoSQLデータベースです。Apache HBase API が使用できます。
SQL
フルマネージドのMySQLデータベースサービスです。Ver2になり性能が上がりました。
データストア
WEB/モバイルアプリのバックエンドに最適なNoSQLドキュメントデータべースです。
Storage
安価に大容量を使えるオブジェクトストレージです。バックアップや、画像や動画の配信に最適です。
STACKDRIVER
監視の統合スイートです。インフラの監視だけでなくソースコードのトレースもできます。
監視
STACKDRIVERサービスページに遷移して、インシデント管理を行えます。
デバッグ
ソースコードを登録してデバッグポイントを設定し、実際のサービス上でそのソースが実行されるような操作を行うと、コードのデバッグを行うことができます。サービスへは影響を与えません。
トレース
リクエストごとのレイテンシをレポートするサービスです。リクエストをドリルダウンして遅延の多いAPIを特定できるためアプリケーションの改善に役立ちます。
ログ
プロジェクト内のログを一元管理できます。
エラー報告
発生したエラーをグルーピングして表示します。ITS/BTSを併用することでバグ管理を容易におこなえます。
ツール
開発
ソースコードのレポジトリサービスです。PrivateなGitレポジトリを利用できます。
Deployment Manager
環境構築スクリプトを保存しておくことができます。
Test Lab
アンドロイドアプリのテストを実行できます。
ビッグデータ
BigQuery
ビッグデータを超高速で分析できるデータウェアハウスです。
Pub/Sub
リアルタイムメッセージングサービスです。
Dataproc
高速で使いやすく、低コストな Spark と Hadoop のマネージド サービスです。
Dataflow
ビッグデータのバッチおよびストリーミング処理を実現するフルマネージドのクラウド サービスです。
Genomics
遺伝子情報を保管し、共有したりプライベートに保持したりするサービスです。
以上がGCPの大まかな全体像になります。非常に多くのサービスがあり、驚かれたのではないでしょうか。しかし実を言うとGCPのサービススタックはこれで全てではありません。それどころか、表には現れない縁の下の力持ち的なサービスや、ベータ版・アルファ版のサービスの中にも、スタメンに出ないのが不思議なほど強力なサービスがたくさん控えています。 これらは上記のサービスを開設していく中で、併せて紹介していきます。
次のページではGCPを利用するためのツールのインストール手順を紹介しています。
QUIZ
まとめ
CloudSDKをインストールする。
CloudSDKとは?
CloudSDKはGCPをコマンドラインで管理するツールです。
インストールするとGCP管理用コマンド(gcloud)が使えるようになります。
* gcloud config
* gcloud auth
* gcloud compute
* gcloud docker etc...
GCPのサービスの中にはCloudSDK経由でしか利用できない機能がありますし、作業効率の観点からもCLIを利用したいケースが多いでしょう。
また、マニュアルや解説Blogの多くもCloudSDKをベースに説明していることが多いです。CloudSDKのインストールは必須と言ってよいでしょう。
インストール
ソフトウェアをダウンロードします。 あとはマニュアルに沿ってインストールします。
ダウンロードしたソフトを展開すると[google-cloud-sdk]というディレクトリができるのでホームディレクトリの下に配置します。 ターミナルを起動してホームディレクトリに移動、[google-cloud-sdk]ディレクトリが存在することを確認します。
cd
pwd
ls -la google-cloud-sdk
インストールスクリプトを実行します。 インストール完了後も[google-cloud-sdk]ディレクトリは削除しないでください。
./google-cloud-sdk/install.sh
初期設定
CloudSDKのインストールによってgcloudコマンドが使えるようになりました。
gcloudコマンドは初期設定を行う必要があります。
GCPへのログイン認証情報やデフォルトで指定するプロジェクト名などを登録することで、
オプションの指定を省略することができます。
gcloud init
設定の確認
gcloudコマンドが利用する設定を確認することができます。
gcloud config list
CloudSDKのインストールは以上です。
QUIZ
まとめ
GoogleAppEngineLauncherをインストールする。
GoogleAppEngineLauncherとは?
GoogleAppEngineLauncher(GAEランチャー)はGUIでGAEを管理するツールです。
PythonとPHP用に提供されています。
インストールすると下記機能を持ったGUIアプリが使えるようになります。 * GAEへのソースデプロイ * ローカル開発用サーバを起動し、動作検証 * 複合インデックスの生成(後述)
このブログではpythonでのサンプルを紹介しているので、GoogleAppEngineLauncher for python をインストールしてください。
インストール
ソフトウェアをダウンロードします。 あとはマニュアルに沿ってインストールします。
初期設定
設定の確認
GoogleAppEngineLauncher for python のインストールは以上です。