本書は、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の最新技術情報の入手
会員特典はこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 066 下から3行目 |
未 | 未 |
|
2022.05.27 | ||||||
1刷 | 068 ページの下半分 |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 070 <管理タブ>の表の2つめの項目 |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 073 リスト2.2 3行目 |
未 | 未 |
|
2022.02.10 | ||||||
1刷 | 074 リスト2.3 |
未 | 未 |
|
2022.02.10 | ||||||
1刷 | 076 1行目と図2.30 |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 081 [3]Cloud SQL APIの有効化 3行目文末 |
3刷 | 未 |
|
2019.02.05 | ||||||
1刷 | 087 「[4]動作確認」の2行目と図2.39 |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 090 図2.43とその1行上 |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 091 ページの前半 |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 093 図2.46と1行上 |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 165 図4.14の下 |
3刷 | 未 |
|
2019.02.05 | ||||||
1刷 | 165 図4.15の2行上、図中の上部、図のキャプション(3か所) |
3刷 | 未 |
|
2019.05.24 | ||||||
1刷 | 166 5行目、6行目、8行目、9行目(4か所) |
3刷 | 未 |
|
2019.05.24 | ||||||
1刷 | 179 表4.2 項目「ゾーン」と「マシンタイプ」の間に項目を追加 |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 182 リスト4.3のVERSION(3か所) |
2刷 | 済 |
|
2017.07.26 | ||||||
1刷 | 188 囲み内末尾の脚注番号 |
3刷 | 済 |
|
2017.07.04 | ||||||
1刷 | 195 リスト4.23 |
3刷 | 未 |
|
2019.02.06 | ||||||
1刷 | 195 リスト4.24 |
3刷 | 未 |
|
2019.02.06 | ||||||
1刷 | 205 リスト4.43 |
3刷 | 未 |
|
2019.02.06 | ||||||
1刷 | 242 リスト5.13 1行目 |
3刷 | 未 |
|
2019.02.06 | ||||||
1刷 | 254 上から10行目 |
3刷 | 未 |
|
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がインターフェースをコロコロコロコロ替えるせいで、こういう良書が数ヶ月で古書になってしまうこと。