関連サイト
本書の関連ページが用意されています。
内容紹介
本書は、東京大学計数工学科で2021年度S1/S2タームに開講された"システム情報工学特論"の講義資料の一部を元に修正・増補して書籍化したものです。本書の目的は、クラウドの初心者を対象としてクラウドの基礎的な知識・概念を解説することです。Amazon Web Serviceが提供するクラウド環境を実例として、具体的なクラウドの利用方法をハンズオンにより学びます。
■本書の特徴:
1.初心者でも実践的な知識が身につく
本書はクラウドの初心者を対象としていますが、実践的な知識を学べます。AWSの提供するクラウド環境を例に、手を動かしながら知識を身につけられます。
2.コードで学べる
サーバー構成などをコードで管理する方法を丁寧に解説しています。AWSをコードで管理する方法を実際に手を動かしながら学ぶことができます。
3.豊富な図解
AWSのサービスや構築に関わる内容を概念図によって丁寧に解説しています。はじめての学習でも最後まで学べるような構成にしてあります。
書誌情報
- 著者: 真野 智之
- 発行日: 2021-09-27 (紙書籍版発行日: 2021-09-27)
- 最終更新日: 2021-09-27
- バージョン: 1.0.0
- ページ数: 368ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
真野 智之
情報理工学博士(東京大学大学院情報理工学系研究科システム情報学専攻). 2021年より日本学術振興会特別研究員(PD)(現職).沖縄科学技術大学院大学(OIST)にてポスドク研究員として働く.現在の研究分野は神経科学・神経情報学.趣味は料理・ランニング・鉄道・アニメ,村上春樹の熱烈な愛読家.
目次
はじめに
Chapter 1 はじめに
- 1-1 本書の目的・内容
- 1-2 本書のフィロソフィー
- 1-3 AWSアカウント
- 1-4 環境構築
- 1-4-1 ハンズオン実行用の Docker Image
- 1-5 前提知識
- 1-6 本書で使用する表記について
Chapter 2 クラウド概論
- 2-1 クラウドとは?
- 2-2 なぜクラウドを使うのか?
Chapter 3 AWS入門
- 3-1 AWSとは?
- 3-2 AWSの機能・サービス
- 3-2-1 計算
- 3-2-2 ストレージ
- 3-2-3 データベース
- 3-2-4 ネットワーク
- 3-3 Region と Availability Zone
- 3-4 AWSでのクラウド開発
- 3-4-1 コンソール画面からリソースを操作する
- 3-4-2 APIからリソースを操作する
- 3-4-3 ミニ・ハンズオン: AWS CLI を使ってみよう
- 3-5 CloudFormation と AWS CDK
- 3-5-1 CloudFormation による Infrastructure as Code(IaC)
- 3-5-2 AWS CDK
Chapter 4 Hands-on #1:初めてのEC2インスタンスを起動する
- 4-1 準備
- 4-2 SSH
- 4-3 アプリケーションの説明
- 4-3-1 VPC(Virtual Private Cloud)
- 4-3-2 Security Group
- 4-3-3 EC2(Elastic Compute Cloud)
- 4-4 プログラムを実行する
- 4-4-1 Python の依存ライブラリのインストール
- 4-4-2 AWS のシークレットキーをセットする
- 4-4-3 SSH鍵を生成
- 4-4-4 デプロイを実行
- 4-4-5 SSH でログイン
- 4-4-6 起動した EC2 インスタンスで遊んでみる
- 4-4-7 AWS コンソールから確認
- 4-4-8 スタックを削除
- 4-5 小括
Chapter 5 Hands-on #2:AWS でディープラーニングを実践
- 5-1 なぜ機械学習をクラウドで行うのか?
- 5-2 GPU による深層学習の高速化
- 5-3 準備
- 5-4 アプリケーションの説明
- 5-4-1 DLAMI(Deep Learning Amazon Machine Image)
- 5-5 スタックのデプロイ
- 5-6 ログイン
- 5-7 Jupyter Notebook の起動
- 5-8 PyTorchはじめの一歩
- 5-9 実践ディープラーニング! MNIST手書き数字認識タスク
- 5-10 スタックの削除
Chapter 6 Docker 入門
- 6-1 クラウドシステムの構築に向けて
- 6-2 機械学習の大規模化
- 6-3 Docker とは
- 6-4 Docker チュートリアル
- 6-4-1 Docker 用語集
- 6-4-2 Image をダウンロード
- 6-4-3 Image を起動
- 6-4-4 自分だけの Image を作る
- 6-5 Elastic Container Service(ECS)
Chapter 7 Hands-on #3:AWS で自動質問回答ボットを走らせる
- 7-1 Fargate
- 7-2 準備
- 7-3 Transformer を用いた question-answering プログラム
- 7-4 アプリケーションの説明
- 7-4-1 ECS と Fargate
- 7-5 スタックのデプロイ
- 7-6 タスクの実行
- 7-7 タスクの同時実行
- 7-8 スタックの削除
Chapter 8 Hands-on #4:AWS Batch を使って機械学習のハイパーパラメータサーチを並列化する
- 8-1 クラウドを用いた機械学習モデルの最適化
- 8-1-1 Auto scaling groups (ASG)
- 8-2 AWS Batch
- 8-3 準備
- 8-4 MNIST 手書き文字認識(再訪)
- 8-5 アプリケーションの説明
- 8-6 スタックのデプロイ
- 8-7 Docker image を ECR に配置する
- 8-8 単一のジョブを実行する
- 8-9 並列に複数の Job を実行する
- 8-10 スタックの削除
- 8-11 クラウドを用いた機械学習アプリケーションの開発とデバッグ
- 8-12 小括
Chapter 9 ウェブサービスの作り方
- 9-1 個人のためのクラウドからみんなのためのクラウドへ
- 9-2 ウェブサービスの仕組み Twitter を例に
- 9-3 REST API
- 9-4 Twitter API
Chapter 10 Serverless architecture
- 10-1 Serverful クラウド(従来型)
- 10-2 Serverless クラウドへ
- 10-3 サーバーレスクラウドを構成するコンポーネント
- 10-1-1 Lambda
- 10-3-2 サーバーレスストレージ:S3
- 10-3-3 サーバーレスデータベース:DynamoDB
- 10-3-4 その他のサーバーレスクラウドの構成要素
Chapter 11 Hands-on #5:サーバーレス入門
- 11-1 Lambda ハンズオン
- 11-1-1 デプロイ
- 11-1-2 Lambda 関数の実行
- 11-1-3 スタックの削除
- 11-2 DynamoDB ハンズオン
- 11-2-1 デプロイ
- 11-2-2 データの読み書き
- 11-2-3 大量のデータの読み書き
- 11-2-4 スタックの削除
- 11-3 S3 ハンズオン
- 11-3-1 デプロイ
- 11-3-2 データの読み書き
- 11-3-3 スタックの削除
Chapter 12 Hands-on #6:Bashoutter
- 12-1 準備
- 12-2 アプリケーションの説明
- 12-2-1 API
- 12-2-2 アプリケーションアーキテクチャ
- 12-2-3 Public access mode の S3 バケット
- 12-2-4 API のハンドラ関数
- 12-2-5 AWS における権限の管理(IAM)
- 12-2-6 API Gateway
- 12-3 アプリケーションのデプロイ
- 12-4 API リクエストを送信する
- 12-5 大量の API リクエストをシミュレートする
- 12-6 Bashoutter GUI を動かしてみる
- 12-7 アプリケーションの削除
- 12-8 小括
Chapter 13 Hands-on #7:boto3 道場
- 13-1 boto3 の基本
- 13-1-1 boto3 のインストール
- 13-1-2 client と resource
- 13-1-3 boto3 におけるシークレットキーの設定
- 13-2 S3 道場
- 13-2-1 デプロイ
- 13-2-2 LEVEL 1: Basic IO
- 13-2-3 LEVEL 2: In-memory data transfer
- 13-2-4 LEVEL 3: Presigned URL
- 13-2-5 スタックの削除
- 13-3 DynamoDB 道場
- 13-3-1 デプロイ
- 13-3-2 LEVEL 1: Basic Read and Write
- 13-3-3 LEVEL 2: Query and Scan
- 13-3-4 LEVEL 3: Backing up a Table
- 13-3-5 スタックの削除
- 13-4 小括
Chapter 14 Hands-on #8:シン・Bashoutter
- 14-1 シン・Bashoutter プロジェクトの概要
- 14-2 STEP 1: ドメインの設定と CloudFront の配置
- 14-2-1 Route 53 でドメインを取得
- 14-2-2 AWS Certificate Manager(ACM)で証明書を取得
- 14-2-3 アプリケーションの説明
- 14-2-4 スタックのデプロイ
- 14-2-5 GUI の配置
- 14-2-6 スタックの削除
- 14-3 STEP 2: Cognito によるユーザー認証の追加
- 14-3-1 アプリケーションの説明
- 14-3-2 スタックのデプロイ
- 14-3-3 CLI から認証保護された API エンドポイントを呼ぶ
- 14-3-4 GUI をデプロイ
- 14-3-5 スタックの削除
Chapter 15 Hands-on #9:深層学習を用いたアート自動生成アプリケーション
- 15-1 Neural Art Canvas プロジェクト
- 15-2 Neural style transfer
- 15-3 ローカルで Neural style transfer を実行
- 15-4 Step Functions
- 15-5 Lambda layers
- 15-6 アプリケーションの説明
- 15-7 アプリケーションのデプロイ
- 15-8 画像の生成(コマンドライン から)
- 15-9 画像の生成(GUI から)
- 15-10 アプリケーションの削除
Appendix 環境構築
- A-1 本書で必要な計算機環境
- A-2 AWS アカウントの取得
- A-3 AWS のシークレットキーの作成
- A-4 AWS CLI のインストール
- A-5 AWS CDK のインストール
- A-6 WSL のインストール
- A-7 Docker のインストール
- A-8 Python venv クイックガイド
- A-9 ハンズオン実行用の Docker image の使い方