1. クラウド ソリューション環境の設定 |
-- |
1.1 クラウド プロジェクトとアカウントを設定する。以下のような作業があります。 |
-- |
プロジェクトを作成する |
○プロジェクトを作成した。 |
プロジェクト内で事前定義された IAM ロールにユーザーを割り当てる |
○メンバーとロール(オーナーとか)の紐づけをした。 |
Cloud Identity でユーザーを管理する(手動および自動) |
○Cloud Identityを一から申し込んで組織管理をした。 |
プロジェクトで API を有効にする |
○いろんなAPIを有効にした。 |
Stackdriver ワークスペースをプロビジョニングする |
○モニタリングワークスペースを作成した。 |
1.2 課金構成を管理する。以下のような作業があります。 |
-- |
請求先アカウントを作成する |
○請求先アカウントを作成した。 |
プロジェクトを請求先アカウントにリンクする |
○プロジェクトと請求先アカウントのリンクをした。 |
課金の予算とアラートを設定する |
○予算とアラートを作成した。 |
日 / 月単位の料金見積もりを目的として請求関連のエクスポートを設定する |
○課金データ(csv)をCloud Storageにエクスポートした。 |
1.3 コマンドライン インターフェース(CLI)、具体的には Cloud SDK をインストールして構成する(デフォルト プロジェクトの設定など)。 |
○AWSのAmazon Linux 2のインスタンスにCloud SDKのインストール、初期設定を行いgcloudコマンドが使えるようにした。 |
2. クラウド ソリューションの計画と構成 |
-- |
2.1 料金計算ツールを使用して GCP プロダクトの使用量を計画し、見積もる |
○料金計算ツールでGCEの料金を見積もってみた。 |
2.2 コンピューティング リソースを計画し、構成する。以下のような検討事項があります。 |
-- |
ワークロードに適したコンピューティング サービスを選択する(Compute Engine、Google Kubernetes Engine、App Engine、Cloud Run、Cloud Functions など) |
○GCE, GKE, GAE, Cloud Run, Cloud Functionsをクイックスタート(チュートリアルレベル)まで実施。 |
必要に応じてプリエンプティブル VM とカスタム マシンタイプを使用する |
○プリエンプティブルかつカスタムマシンタイプでインスタンスを作成。プリエンプティブルは低価格だが勝手に停止することを確認。 |
2.3 データ ストレージ オプションを計画し、構成する。以下のような検討事項があります。 |
-- |
プロダクトの選択(Cloud SQL、BigQuery、Cloud Spanner、Cloud Bigtable など) |
○BigQuery, Cloud Spannerはデータ読み込み、クエリを実施。他は机上確認のみ。 |
ストレージ オプションの選択(Standard、Nearline、Coldline、Archive など) |
△公式ドキュメント:ストレージクラスを読んで確認した。 |
2.4 ネットワーク リソースを計画し、構成する。以下のようなタスクがあります。 |
-- |
負荷分散オプションの違いを見分ける |
○公式ドキュメント:Cloud Load Balancing のドキュメントで仕様を確認、外部https負荷分散は実機確認した。 |
可用性を考慮してネットワーク内のリソースのロケーションを決定する |
△リージョン、ゾーンでのリソースの分散の考え方を確認した。 |
Cloud DNS を構成する |
△Route53相当と考え概要のみ確認した。 |
3. クラウド ソリューションのデプロイと実装 |
-- |
3.1 Compute Engine リソースをデプロイし、実装する。以下のようなタスクがあります。 |
-- |
Cloud Console と Cloud SDK(gcloud)を使用してコンピューティング インスタンスを起動する(ディスクの割り当て、可用性ポリシー、SSH 認証鍵など) |
○Consoleとgcloudコマンドでインスタンスの起動や削除を実施した。 |
インスタンス テンプレートを使用して、自動スケーリングされるマネージド インスタンス グループを作成する |
○インスタンステンプレート及びインスタンスグループを作成した。 |
インスタンス用のカスタム SSH 認証鍵を生成、アップロードする |
△キーペアを作成し、公開鍵をインスタンスに登録し、sshで接続する手順をドキュメントで確認した。 |
VM で Stackdriver Monitoring と Stackdriver Logging の構成を行う |
○【GCP入門編・第17回】 Stackdriver Monitoring で Google Compute Engine を監視しよう!をそのまま実施した。 |
コンピューティングの割り当てを評価し、割り当ての増加をリクエストする |
○「割り当て」の意味がよく分からないが、CPU利用率を見て、マシンタイプを変更した。 |
モニタリングとロギング用に Stackdriver Agent をインストールする |
○モニタリングとロギングのAgentをインストールした。 |
3.2 Google Kubernetes Engine リソースをデプロイし、実装する。以下のようなタスクがあります。 |
-- |
Google Kubernetes Engine クラスタをデプロイする |
○GKEクラスタをデプロイした。 |
Pod を使用して Google Kubernetes Engine にコンテナ アプリケーションをデプロイする |
○nginx Podをデプロイした。 |
Google Kubernetes Engine アプリケーションのモニタリングとロギングを構成する |
○GKEのインフラやPodがモニタリング、ロギングできることを確認した。 |
3.3 App Engine リソース、Cloud Run リソース、Cloud Functions リソースをデプロイし、実装する。以下のようなタスクがあります |
-- |
アプリケーションをデプロイし、スケーリング構成、バージョン、トラフィック分割を更新する |
○参考書「Google Cloud Platform GAEソフトウェア開発入門」を購入し、ハンズオンを実施した。 |
Google Cloud イベント(Cloud Pub/Sub イベント、Cloud Storage オブジェクト変更通知イベントなど)を受け取るアプリケーションをデプロイする |
○Cloud Storageへのファイル保存をトリガーに起動し、Cloud Pub/Subへ通知を行うCloudFunctionsを作るハンズオンを実施した。(Qiita記事: 【初心者】GCP Cloud Data Loss Prevention (DLP) を使ってみる) |
3.4 データ ソリューションをデプロイし、実装する。以下のようなタスクがあります。 |
|
Cloud SQL、Cloud Datastore、BigQuery、Cloud Spanner、Cloud Pub/Sub、Cloud Bigtable、Cloud Dataproc、Cloud Dataflow、Cloud Storage などのプロダクトを使用してデータシステムを初期化する |
○BigQuery, Cloud Spannerについては実際にデータインポート、クエリを実行。他はドキュメントのみ。 |
データを読み込む(コマンドラインによるアップロード、API による転送、インポート / エクスポート、Cloud Storage からのデータの読み込み、Cloud Pub/Sub へのデータのストリーミングなど) |
○BigQuery, Cloud Spannerについては実際にデータインポート、クエリを実行。他はドキュメントのみ。 |
3.5 ネットワーキング リソースをデプロイし、実装する。以下のようなタスクがあります。 |
|
サブネットを持つ VPC を作成する(カスタムモード VPC、共有 VPC など) |
○カスタムモードVPCを作成、共有VPCはドキュメント「Cloud Identityで構築するCompute Engine 共有VPC」を確認。 |
カスタム ネットワーク構成を持つ Compute Engine インスタンスを起動する(内部専用 IP アドレス、限定公開の Google アクセス、静的外部 IP アドレスとプライベート IP アドレス、ネットワーク タグなど) |
△左記の項目についてドキュメントを確認した。 |
VPC 用の上り(内向き)および下り(外向き)ファイアウォール ルールを作成する(IP サブネット、タグ、サービス アカウントなど) |
○ファイアウォールルールの設定を行った。 |
Cloud VPN を使用して Google VPC と外部ネットワークとの間の VPN を作成する |
△「Qiita記事:AWSとGCP間をVPN接続してみた」を読んでやった気になった。 |
アプリケーションへのネットワーク トラフィックを分散するロードバランサを作成する(グローバル HTTP(S) ロードバランサ、グローバル SSL プロキシ ロードバランサ、グローバル TCP プロキシ ロードバランサ、リージョン ネットワーク ロードバランサ、リージョン内部ロードバランサなど) |
○グローバルHTTP(S)ロードバランスのみ実機確認(Qiita記事:【初心者】GCP Identity-Aware Proxy (IAP), Access Context Managerを使ってみる (WEBサーバへのアクセス制限)、他はドキュメントで違いを確認。 |
3.6 Cloud Marketplace を使用してソリューションをデプロイする。以下のようなタスクがあります。 |
|
Cloud Marketplace カタログを閲覧し、ソリューションの詳細を見る |
○Marketplaceのカタログを見た。 |
Cloud Marketplace ソリューションをデプロイする |
○MarketplaceからWordpressをデプロイした。 |
3.7 Cloud Deployment Manager を使用してアプリケーション インフラストラクチャをデプロイする。以下のようなタスクがあります。 |
-- |
Deployment Manager テンプレートの開発 |
△AWSのCloudFormationみたいなものと理解した。 |
Deployment Manager テンプレートの起動 |
△AWSのCloudFormationみたいなものと理解した。 |