プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで(阿佐 志保 中井 悦司 中井 悦司)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで

プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで



監修

形式:
書籍
発売日:
ISBN:
9784798137148
定価:
3,300(本体3,000円+税10%)
仕様:
B5変・296ページ
カテゴリ:
ネットワーク・サーバ
キーワード:
#ネットワーク・サーバ・セキュリティ,#データ・データベース,#システム運用,#Web・アプリ開発
紙の書籍

インフラ基礎知識とセットで学ぶ!
Google Cloud Platformの機能&システム構築パターン!

本書は、Google Cloud Platform(GCP)でシステム、アプリケーションを
構築するための実践的な入門書です。

GCPを初めて利用する開発者をメインターゲットとし、GCPの提供する
サービス(コンポーネント)の全体像と、サービスを組み合わせて最適な
アプリケーションアーキテクチャを実現する方法を、具体的なサンプルを
使ってわかりやすく解説します。

Webアプリケーションを動かす具体的な手順の解説に加えて、コンテナ、
オーケストレーションといったテーマもカバーするため、業務で本格的な
利用を考えている方にも適しています。

単にGCPの使い方を説明する手順書にとどまらず、GCPを利用する上で
理解しておきたいインフラの基礎技術などを解説することで、技術動向の
変化が激しいクラウドの解説書でありながらも陳腐化を最小化するよう
工夫しています。

また、GCPの強みであるクラウドネイティブなアーキテクチャによる
アプリケーション実行環境の構築をサンプルとして挙げているのも
大きな特徴です。本書の強みは、具体的なサンプルを使って丁寧に
説明することで、GCPの良さを体得してもらえるところにあります。

GCPの利用や導入を検討している/初めて使う、あるいは、AWSなど
他のクラウドを使ったことがあるプログラマ/開発者の方におすすめの
一冊です。

第1章 Google Cloud Platformの概要
1.1 Google Cloud Platformへようこそ
  1.1.1 GCPがもたらすシステムアーキテクチャ
    本書で扱うGCPのサービス
    Google App EngineとGCPの歴史
  1.1.2 GCPのコンセプト
1.2 Google Cloud Platformを支えるインフラ
  1.2.1 GCPの全体像
  1.2.2 ユーザーアカウントとプロジェクト
  1.2.3 仮想ネットワーク
1.3 はじめてのGoogle Cloud Platform
  1.3.1 アカウント登録
    [1]登録の開始
    [2]アカウント情報の登録
  1.3.2 プロジェクトの作成
    [1]プロジェクトの作成
    [2]プロジェクト名の設定
  1.3.3 Cloud Consoleの使い方
    [1]ツールとサービス
    [2]ダッシュボード
    [3]Cloud Shell
  1.3.4 Google Cloud Platformの開発/運用管理ツール
    アプリケーション開発ツール
    デバッグ/トレース/分析ツール
    ロギング/モニタリング
    自動デプロイ

第2章 Webアプリケーション実行基盤を構築しよう
2.1 知っておきたいWebシステムを支える技術
  2.1.1 Webアプリケーションの基礎
    Webアプリケーションとネイティブアプリケーション
    リクエストとレスポンス
    HTTP通信の仕組み
  2.1.2 データベースの基礎
    データベース
    データ操作言語
    トランザクション処理
  2.1.3 サーバ仮想化技術の基礎
    ホスト型仮想化
    ハイパーバイザー型仮想化
    コンテナ型仮想化
2.2 Webシステムで利用する主なGCPサービス
  2.2.1 Google Compute Engine(GCE)
    仮想マシンのスペック
    ストレージ
    ネットワーク
    無停止での仮想マシン運用   2.2.2 Google Cloud Storage
  2.2.3 Google Cloud SQL
2.3 GCPを使ったWebシステムのアーキテクチャ
2.4 Webアプリケーションの実行基盤構築
  2.4.1 要件定義とアーキテクチャ設計
    GCEを使ったサンプルアプリケーション実行環境の構築(v1.0)
    Cloud SQLを使ったデータの管理(v2.0)
    Cloud Storageを使った画像データの保存(v3.0)
  2.4.2 GCEを使ったサンプルアプリケーション実行環境の構築
    Compute Engineの仮想マシン起動
    Pythonの実行環境構築
    サンプルアプリケーションのデプロイ(v1.0)
  2.4.3 Cloud SQLを使ったデータの管理
    Cloud SQLのインスタンス作成
    データベースの作成
    サンプルアプリケーションのデプロイ(v2.0)
  2.4.4 Cloud Storageを使った画像データの保存
    Cloud Storageのバケット作成
    サンプルアプリケーションのデプロイ(v3.0)

第3章 止まらないWebアプリケーション基盤を構築しよう
3.1 知っておきたいネットワーク技術
  3.1.1 物理ネットワークと仮想ネットワーク
  3.1.2 IPアドレス
  3.1.3 ネットワーク通信プロトコル
  3.1.4 ファイアウォールとルーター
  3.1.5 DNSの基礎
  3.1.6 負荷分散の基礎
  3.1.7 仮想ネットワークの基礎
    物理ネットワークの基礎
    仮想ネットワーク
    仮想ネットワークを実現する技術
3.2 知っておきたいGCPのネットワークの仕組み
  3.2.1 GCPのネットワーク構成
  3.2.2 グローバルIPアドレス
  3.2.3 GCPのファイアウォール機能
  3.2.4 Cloud Load Balancingによる負荷分散機能
  3.2.5 Cloud DNSによる名前解決
3.3 Cloud Load Balancingでの負荷分散システム構築
  3.3.1 負荷分散システムのインフラアーキテクチャ概要
  3.3.2 仮想マシン起動イメージの作成
    [1]スナップショットの作成
    [2]ディスクの作成
    [3]イメージの作成
  3.3.3 複数インスタンスの自動生成
    [1]インスタンステンプレートの作成
    [2]インスタンスグループの作成
  3.3.4 ロードバランサの作成
    [1]バックエンドの設定
    [2]ホストとパスのルール
    [3]フロントエンドの設定
  3.3.5 動作確認
3.4 Cloud DNSを使った名前解決
  3.4.1 独自ドメイン名でのアクセス
    [1]ゾーンの作成
    [2]レコード設定
    [3]レジストラへの登録
    [4]動作確認

第4章 コンテナ実行環境でマイクロサービスアーキテクチャを体験しよう
4.1 知っておきたいDocker/Kubernetesの基礎
  4.1.1 Dockerを利用したアプリケーション開発
    Dockerとは
    Dockerが解決する課題
    Dockerの基本機能
  4.1.2 Kubernetesによるコンテナオーケストレーション
    クラスタリングとは
    コンテナオーケストレーションツールとは
    Kubernetesの基本構成
    Kubernetesによるコンテナオーケストレーション
4.2 コンテナ環境で利用する主なGCPサービス
  4.2.1 Google Container Engine
  4.2.2 Google Container Registry
  4.2.3 Google Cloud Datastore
4.3 GCPを使ったコンテナ実行環境のアーキテクチャ
4.4 オンラインゲームのコンテナ実行環境構築
  4.4.1 要件定義/設計
  4.4.2 GKEによるコンテナクラスタ構築
  4.4.3 ランダム対戦機能のDockerイメージ作成(v1.0)
    Dockerfileの用意
    Dockerイメージの作成
    ローカル環境での動作確認
    Dockerイメージの公開
  4.4.4 ランダム対戦機能のデプロイ(v1.0)
    バックエンド機能のアプリケーションデプロイ
    フロントエンド機能のアプリケーションデプロイ
    ランダム対戦機能の動作確認
  4.4.5 AI機能へのバージョンアップ(v1.1)
    AI機能のDockerイメージ作成
    バックエンド機能のバージョンアップ
    AI対戦機能の動作確認
  4.4.6 コンテナクラスタの停止と削除

第5章 機械学習を用いたGAEアプリケーション
5.1 機械学習と関連サービスの概要
  5.1.1 機械学習、ディープラーニング、人工知能
  5.1.2 GCPの機械学習関連サービス
  5.1.3 APIサービスの利用方法
    JavaScriptからAPIサービスを呼び出す
5.2 Google App Engine入門
  5.2.1 Google App Engineの概要
  5.2.2 Cloud Datastoreの概要
  5.2.3 Cloud Datastoreを使用する際の注意点
  5.2.4 GAEのその他の機能
5.3 写真アルバムサービスのデプロイ
  5.3.1 サンプルアプリケーションの仕組み
    Cloud Vision APIによる画像のラベル付け
    Cloud Translation APIによるテキスト翻訳
    Cloud Datastoreでのデータ管理
  5.3.2 アプリケーションのデプロイ
  5.3.3 動作確認
5.4 [参考]Cloud Machine Learning Engineによる機械学習モデルのトレーニング
  5.4.1 事前準備
  5.4.2 Cloud MLEによる学習処理の実施
  5.4.3 学習済みモデルによる予測処理の実施

付録A Stackdriverによるシステム運用
  A.1 Stackdriverの初期設定
  A.2 Stackdriverによるアプリケーション監視
    [1]監視対象インスタンスの作成
    [2]監視エージェントのインストール
    [3]稼働時間チェックの設定とアラートポリシーの作成
    [4]監視グラフの作成
    [5]ログの確認

付録B Cloud IAMによるアカウント管理
  B.1 Cloud IAMの基本機能
  B.2 サービスアカウントの作成

付録C GCPの最新技術情報の入手

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

  • p.81 「[3]Cloud SQL API の有効化」について

    p.81「[3]Cloud SQL API の有効化」の手順において、「Cloud SQL API」を有効化した後に、同じ手順で、「Cloud SQL Admin API」を有効化してください。
    ※Cloud SQL の仕様変更により、Cloud SQL Proxy を使用する際は、「Cloud SQL Admin API」の有効化が必要になりました。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2022年05月27日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 066
下から3行目
OSイメージを「Debian GNU/Linux 8(jessie)」
OSイメージを「Debian GNU/Linux 10(buster)」
2022.05.27
1刷 068
ページの下半分
2刷

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 070
<管理タブ>の表の2つめの項目
2刷
タグ
ラベル

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 073
リスト2.2 3行目
python-flask-sqlalchemy python-pymysql python-flaskext.wtf
python-flask-sqlalchemy python-pymysql python-flaskext.wtf wget
2022.02.10
1刷 074
リスト2.3
リスト2.3の下に以下の文章を加えます。
なお、Python パッケージのアップデートに伴って、「sudo pip install --upgrade gcloud」を実行した際に 「protobuf requires Python '>=3.7' but the running Python is 2.7.16」のようなエラーが発生する場合があります。 このような場合は、代わりに、次のコマンドを実行してください。 $ sudo pip install pyasn1==0.4.8 rsa==4.5 protobuf==3.17.0 gcloud==0.18.3

2022.05.27内容更新
2022.02.10
1刷 076
1行目と図2.30
2刷
仮想マシンインスタンスの[External IP]をクリックします(図2.30)。
仮想マシンインスタンスの[外部IP]をクリックします(図2.30)。

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 081
[3]Cloud SQL APIの有効化 3行目文末
3刷
(図2.36)。
(図2.36)。同じ手順で「Cloud SQL Admin API」も有効化してください。
2019.02.05
1刷 087
「[4]動作確認」の2行目と図2.39
2刷
仮想マシンのインスタンスの[External IP]をクリックします(図2.39)。
仮想マシンのインスタンスの[外部IP]をクリックします(図2.39)。

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 090
図2.43とその1行上
2刷
オブジェクトのデフォルトの権限を編集]を選びます(図2.43)。
パケットの権限を編集]を選びます(図2.43)。

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 091
ページの前半
2刷

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 093
図2.46と1行上
2刷
仮想マシンのインスタンスの[External IP]をクリックします(図2.46)。
仮想マシンのインスタンスの[外部IP]をクリックします(図2.46)。

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 165
図4.14の下
3刷
●Replication Controller(レプリケーションコントローラ)
●ReplicaSet(レプリカセット)
2019.02.05
1刷 165
図4.15の2行上、図中の上部、図のキャプション(3か所)
3刷
Replication Controller
ReplicaSet
2019.05.24
1刷 166
5行目、6行目、8行目、9行目(4か所)
3刷
Replication Controller
ReplicaSet
2019.05.24
1刷 179
表4.2 項目「ゾーン」と「マシンタイプ」の間に項目を追加
2刷
<略>

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 182
リスト4.3のVERSION(3か所)
2刷
v1.5.6
v1.6.4

GCPバージョンアップによる2017年6月時点での修正です。
2017.07.26
1刷 188
囲み内末尾の脚注番号
3刷
※15
※16
2017.07.04
1刷 195
リスト4.23
3刷
$ gcloud docker -- push gcr.io/$PROJECT_ID/frontend:v1.0 $ gcloud docker -- push gcr.io/$PROJECT_ID/backend:v1.0
$ docker push gcr.io/$PROJECT_ID/frontend:v1.0 $ docker push gcr.io/$PROJECT_ID/backend:v1.0
2019.02.06
1刷 195
リスト4.24
3刷
リスト4-24修正前
リスト4-24修正後

1行目を以下に差し替え、2行目の「DESCRIPTION」以下と、3行目・4行目の「0」を削除します。

$ gcloud auth configure-docker
$ gcloud container images list --repository=gcr.io/$PROJECT_ID
2019.02.06
1刷 205
リスト4.43
3刷
$ gcloud docker -- push gcr.io/$PROJECT_ID/backend:v1.1
$ docker push gcr.io/$PROJECT_ID/backend:v1.1
2019.02.06
1刷 242
リスト5.13 1行目
3刷
$ gcloud datastore create-indexes index.yaml
$ gcloud datastore indexes create index.yaml
2019.02.06
1刷 254
上から10行目
3刷
実行環境が用意されます。
実行環境が用意されます。なおCloud Datalabを使用するため「Cloud Source Repositories API」と「Compute Engine API」を有効にしてください。
2019.02.06

感想・レビュー

kouki_0524 さん

2017-07-25

良書。GCPの持つ多彩な機能を事例を通して一通り学習できる。CPU1個のサーバで2時間かかるmnistの深層学習が、ML Engineに投げると15分くらいで返ってくるのは驚き。Tensorflowの使い手には強い味方なのではないか。この本の出版は2017年6月で、割とすぐに購入して試したにも関わらず、本のとおりに試しても一部うまく動作しなかった。最新のI/F設定等を自ら確認する必要があると思われる。GCPは日々進化を続けているため、これはやむをえないし、その自学の過程でより知識が身につくと思う。

shiojojo さん

2020-05-02

ちょっと情報が古い。gcpの概要を掴むのには良い

φ さん

2017-07-21

ネットの「ちょっとかじってみた」系の記事と違って、かなり踏み込んだ内容だったので満足。惜しむらくは、googleがインターフェースをコロコロコロコロ替えるせいで、こういう良書が数ヶ月で古書になってしまうこと。