0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【メモ】みんなのAWS 〜AWSの基本を最新アーキテクチャでまるごと理解!

Last updated at Posted at 2021-01-01

メモです

みんなのAWS 〜AWSの基本を最新アーキテクチャでまるごと理解!:書籍案内|技術評論社

第1章 AWSの基礎知識

  • クラウドとは

    • ITインフラの歴史
      • メインフレームからクラウドの時代へ
    • AWS のはじまり
    • クラウドの定義
      • クラウドの特徴
        • オンデマンド・セルフサービス
        • 幅広いネットワークアクセス
        • リソースの共用
        • スピーディな拡張
        • サービスが計測可能であること
      • クラウドのサービスモデル
        • IaaS
        • PaaS
        • SaaS
    • クラウドの物理的な世界へ
    • 責任共有モデル
  • AWS のベストプラクティス

    • AWS Well-Architected フレームワーク
      • 一般的な設計の原則
      • 運用上の優秀性
      • コスト最適化
      • 信頼性
      • パフォーマンス効率
        • コンピューティング
        • ストレージ
        • ネットワーク
      • セキュリティ
        • 認証情報の管理
        • データ保護
        • 監視とログ管理
        • セキュリティのベストプラクティス
  • 最低限押さえておくべきアカウント開設時のセキュリティ

    • AWSセキュリティの概要
      • AWS はセキュリティ的に安全なのか
        • AWS クラウドセキュリティ
          • データの保護
          • コンプライアンスの要件に準拠
          • コスト削減
          • 迅速なスケーリング
        • 責任共有モデル
        • 日本国内の導入事例
      • AWS セキュリティの考え方
    • アカウント開設時のセキュリティ
      • root ユーザーを利用せず、IAM ユーザーを利用する
      • AWS CloudTrail を有効化する
      • AWS Config を有効化する
      • Amazon GuardDuty を有効化する
      • その他アカウント開設時の参考情報
    • IAM の概要と使い方
      • ユーザー/グループ/ポリシー/ロール
      • 権限設定の考え方
    • AWS Well-Architected の「セキュリティの柱」
      • 設計原則
        • 強力なアイデンティティ基盤の実装
        • トレーサビリティの実現
        • 全レイヤーへのセキュリティの適用
        • セキュリティのベストプラクティスの自動化
        • 伝送中および保管中のデータの保護
        • データに人の手を入れない
        • セキュリティイベントへの備え
      • ベストプラクティス
        • アイデンティティ管理とアクセス管理
        • 発見的統制
        • インフラストラクチャ保護
        • データ保護
        • インシデント対応
    • その他の参考情報
  • AWS における監視(モニタリング)

    • 監視の基本用語にみる時代の変化
      • メトリック、ログ、イベント
      • モニタリング・4つの立ち位置
        • ブラックボックス監視
        • ホワイトボックス監視
        • ヘルスチェック監視
        • シンセティック監視、リアルユーザー監視
      • 可観測性と「トレース」
      • AI・機械学習による「AIOps」
    • AWS上のシステムを「監視(モニタリング)」する
      • Amazon CloudWatch
      • AWS X-Ray
      • その他の監視(モニタリング)機能
      • AWS以外の選択肢
  • AWS を学習するコツ

    • AWS 認定
    • AWS Webinar
    • よくある質問
    • AWSの最新情報

第2章 AWS で作るWebサービス

  • 本章で解説するアプリケーションの全体構成と利用する AWS サービス
    • Amazon ECS
    • PHP
    • CodePipeline
  • AWS のネットワーク基礎
    • Amazon VPC
      • Amazon VPN の構成要素
        • サブネット
        • ゲートウェイサービス
        • ENI とIPアドレス
        • ルートテーブル
        • セキュリティグループとNACL
        • Amzon Provided DNS
      • VPC の設計
        • CIDRの決定
        • サブネットの分割
        • ルートテーブルの設定
      • パブリックドメインとSS:/TLS証明書
        • Amazon Route53を用いたドメインの取得とレコードの管理
      • AWS Certificate Manager とSSL/TLS 証明書
  • アプリケーション構築・運用手段としてのコンテナ関連サービス
    • コンテナとは何かを理解する
    • コンテナを使う意味を考える
      • 複数の環境で使うか?
      • 頻繁に変更するか?
      • 増えたり減ったりするか?
    • AWS におけるコンテナ関連サービスについて理解する
      • Amazon Elastic Container Registory
      • コントロールプレーンとデータプレーン
      • Amazon Elastic Container Service
      • Amazon Elastic Kubernetes Service
      • AWS Fargate
    • 要件に合ったコンテナ環境の選択が非常に重要
  • CI/CD を実現する Code シリーズ
    • AWS フルマネージド Git リポジトリ「CodeCommit」
      • CodeCommitの利用方法(HTTPS)
      • CodeCommitの利用方法(SSH)
    • アプリケーションのテストやビルドを実行する「CodeBuild」
      • CodeBuildによるテストスクリプトの実行
    • Codeシリーズを束ねる「CodePipeline」
      • CodePipelineの作成
      • CodeCommitへのプッシュによるPipeline自動起動の確認
      • CodePipelineのその他の機能
    • アプリケーションのデプロイを実現する「CodeDeploy」
      • インプレイスデプロイ
      • Blue/Greenデプロイ
  • モニタリング:障害監視、リソース監視
    • AWSコンポーネントでのデータ収集
      • ログの収集
      • メトリクスの収集
      • CloudWatch Logsメトリクスフィルターを用いらログ内の特定イベント数の集計
        • アプリケーションレイヤでのカスタムメトリクスの収集
        • Container Insightsによるコンテナの詳細情報の収集
      • ダッシュボードによる可視化
        • 各サービスの標準ダッシュボード
        • カスタムダッシュボード
        • 作成可能なウィジェット
        • メトリクスと統計値の取得
          • CloudWatch Metric Math
        • 各サービスの標準ダッシュボードからのウィジェットのインポート
      • アラーム
        • 設定の流れ
        • メトリクスの選択
        • 条件の設定
        • アクションの設定
        • 説明の追加、設定の完了
        • 異常検知用学習モデルのカスタマイズ
  • アプリケーションセキュリティ
    • WAF と AWS WAF
    • AWS WAF の設定
      • Web ACLの作成
      • ロギングの設定
    • Amazon Athenaによるログの確認
      • 分析データ準備
    • コンテナセキュリティの概要
      • イメージリスク
      • レジストリリスク
      • オーケストレーターリスク
      • コンテナリスク
      • ホストOSリスク
    • Amazon ECR のイメージスキャン
    • Aquaによるコンテナ環境の保護
  • コードによるインフラの運用管理
    • AWS CloudFormationとは
      • CloudFormationのシステム概要
    • CloudFormationのテンプレートの基礎を理解する
    • CloudFormationを AWS マネジメントコンソールから実行する
    • CloudFormationを CLI から実行する
      • チェンジセットの活用
    • CloudFormationで複数リソースを作成する
      • 方法1 クロススタック参照
      • 方法2 ダイナミック参照(動的な参照)
      • 方法3 シェルスクリプトを利用する方法
  • CloudFormation を利用したコンテナアプリケーション構築
    • ハンズオンの目的
    • ハンズオンで作成するAWS サービスの構成図
      • 管理者用管理画面
      • アプリケーション画面
    • ハンズオンに必要な環境の用意
      • Bashの動作環境
    • ハンズオンで利用するソースコードの取得方法、および内容の解説
    • ハンズオンの実行方法
      • エラーが起こったときの対処方法
      • なぜCloudFormationだけで全環境を構築する構成にしなかったか
    • 手順1:VPCの作成
    • 手順2:SecuriryGroupの作成
    • 手順3:CodeCommitの作成
    • 手順4:ECRの作成
    • 手順5:RDSの作成
      • コンソールからパラメータストアへのデータベース接続パスワード登録
      • CloudFormationからのRDS作成
    • 手順6:ECSクラスターの作成
    • 手順7:管理者用コンソール画面の作成
      • 管理画面(phpMyAdmin)ページの作成
      • アプリケーションから利用するテーブルの作成
      • phpMyAdminで利用しているコンテナの解説
    • 手順8:アプリケーション画面の作成
      • 1.PHPコンテナのビルドとECRへのプッシュ
      • 2.アプリケーションの公開(ALB、ECSタスク、ECSサービスの作成)
      • CloudWatch Logsの確認
      • Container Insightsによるコンテナ環境のメトリクスの確認
    • 手順9:CI/CDパイプラインの作成
      • 1.CodeCommitリポジトリへのソースコード格納
    • ハンズオン環境に対するブラッシュアップの方向性
    • ハンズオン環境の削除方法
      • スタック削除時の注意点

第3章 サーバーレスプラットフォームで作るモバイル向けアプリケーション

  • サーバーレスアーキテクチャとは
    • なぜサーバーレスを選択するか
      • サーバーレスサービス登場以前
      • 提供したい価値と、それを実現するための効率的な手段
    • サーバーレスアーキテクチャの定義
      • マネージドサービスのみで構築されている
      • イベントドリブンなアーキテクチャ
      • 実使用リソース量・時間に対する従量課金(最大値に対する課金ではない)
      • スケーリングが自動で行われる
  • サーバーレスを実現する AWS サービス
    • AWS Lambda
      • Lambda の特徴
      • Lambda の基本操作
        • Lambda のトリガーとなるイベントソース
      • Lambda のユースケース
        • Web サービスのバックエンド
        • データの整形・変数処理
        • 定期的な処理
      • Lambda 開発におけるポイント
        • Lambda からRDSへの接続
        • Lambda コールドスタート対策
        • Lambda Layers
    • Amazon API Gateway
      • API Gateway の基本操作
        • HTTP のメソッドを定義
        • API Gatewayのテスト
        • API のデプロイ
      • API Gateway 利用時のポイント
        • メソッド設定
          • メソッドリクエスト
          • 統合リクエスト
          • 統合レスポンス
          • メソッドレスポンス
        • API に対する認証機能の追加
          • IAM アクセス権限を利用する
          • Lambda オーソライザーを利用する
          • Cognito オーソライザーを利用する
        • WAF によるセキュリティ対策
    • Amazon DynamoDB
      • DynamoDBの特徴
      • DynamoDBの基本操作
      • DynamoDB利用によるおけるポイント
        • キャパシティユニット
        • 結果整合性のある読み込みと強力な整合性のある読み込み
    • Amazon S3
      • S3の基本操作
      • S3のユースケース
        • データのバックアップ
        • ログの保存
        • コンテンツの配信
      • S3を利用するときのポイント
        • バージョニング
        • ライフサイクル、ストレージタイプ
    • Amazon CloudFront
      • CloudFrontの特徴
      • CloudFrontの基本操作
      • CloudFront利用におけるポイント
        • ディストリビューションとビヘイビアー
        • カスタムエラーページ
        • カスタムヘッダー
  • 構築するアプリケーションの全体構成
  • クラウド開発キット(AWS CDK)の準備
    • AWS CDK とは
    • AWSCDK で利用する IAM ユーザーの作成
      • credential ファイルの作成
    • ランタイムのインストール
    • AWS CDK のテンプレート生成
    • Bootstrap処理
  • バックエンドアプリケーション(API)の構築
    • 必要なライブラリのインストール
    • バックエンドの作成
      • 全体構成
      • API Gateway Endpoint の作成
      • DynamoDB テーブルの作成
      • Lambda Function の作成
      • 処理の実装
      • AWS CDK Appの定義
    • ビルド&デプロイの定義
    • デプロイの実行
    • 確認
  • フロントエンドアプリケーションの作成
    • Vue.jsとは
      • Vue.js登場前との比較
    • PWAとは
    • Vue.jsアプリケーションの作成
      • main.js
      • App.vue
      • Tab.vue
      • Home.vue
      • Persons.vue
      • index.js
  • フロントエンドアプリケーションの配信
    • 必要なライブラリのインストール
    • フロントエンドの作成
      • 全体構成
      • S3バケットの作成
      • CloudFront Distributionの作成
      • AWS CDK Appの定義
    • ビルド&デプロイの定義
    • デプロイの実行
    • 動作確認
  • サーバーレスアプリケーションのモニタリング
    • モニタリングの考え方
    • 監視ポイント
      • パフォーマンス(性能)モニタリング
      • 異常検知
      • キャパシティプランニング
    • AWS X-Ray

第4章 AWS で作るデータの取集・可視化基盤

  • AWS で作るデータ収集基盤
    • 本節で構築するデータ収集基盤
      • 想定するシナリオ
        • 高速道路にあるETCゲート
      • 構築するデータ収集基盤の概要
      • 仮想IoTデバイス
      • 構築するデータ収集基盤の詳細
        • アーキテクチャと処理の流れ
        • データの変換処理
        • 使用しているAWSサービス
          • IoT Core
          • Kinesis Data Firehose
          • Lambda
          • DynamoDB
          • S3
        • プログラミング環境
          • Python 3
    • AWS SAM(Serverless Application Model)
    • データ収集基盤の構築
      • 仕様を決める
        • ETCゲートとIoT Core の仕様
        • データ収集結果の内容
        • DynamoDB の設計と格納するデータ
      • Python 仮想環境の構築
      • 必要なライブラリをインストール
      • AWS SAMプロジェクトの作成
      • デプロイ先S3バケットの作成
        • デプロイ先のS3バケットのCloudFormationテンプレートを作成
        • デプロイ先のS3バケットをデプロイ
      • AWS SAM テンプレートの作成
      • ライブラリを未使用にする
      • Lambda 関数のコードを作成
      • ビルド
      • デプロイ
      • データ収集結果を格納するS3バケットの情報
    • 動作確認(簡易)
      • DynamoDBに格納するデータのJSONファイルを作成する
      • ブラウザの IoT Core でテストする
    • 仮想IoTデバイスの作成
      • キーペアの作成
      • IPアドレスの確認
      • EC2インスタンスの作成
      • EC2インスタンス内でAWS CLI を使うユーザーの作成
      • EC2インスタンスに接続する
      • Python 3 の環境を構築する
      • AWSCLI の設定を行う
      • IoT デバイスを IoT Core に接続するための準備
        • IoT Core にモノを作成する
        • IoT Core にポリシーを作成する
        • 証明書の作成
        • モノと証明書の紐付け
        • 証明書とポリシーの紐付け
        • サーバー認証用のルートCA証明書の取得
        • IoT Core のエンドポイントを取得
      • ETC ゲート用プログラムの作成
        • AWSIoTPythonSDKのインストール
        • データ送信用プログラムの作成
      • 動作確認(仮想IoTデバイス)
        • データの送信を終了する
        • S3 バケットの様子
      • より実用的に利用する場合
  • データ分析の基本知識と AWS サービス
    • データ分析の基本知識
      • データレイク
      • データウェアハウス
      • ETL
        • Extract(抽出)
        • Transform(変換)
        • Load(ロード)
      • 可視化
    • データ分析で使用するAWSサービス
      • Amazon S3
      • AWS Glue
        • クローラ
        • データカタログ
        • ジョブ
        • トリガー
        • ジョブフロー
      • Amazon Athena
    • Amazon Redshift
    • Amaozn Quicksight
  • データレイクを構築する
    • S3のデータをカタログ化する
      • AWS Glue クローラの設定と実行
      • データカタログ内のテーブル定義確認
    • Athenaでログ検索
  • データウェアハウスを構成し、グラフ表示する
    • データウェアハウス構成
      • Redshiftクラスター構築
      • Redshiftテーブル作成
      • AWS Glue からRedshiftへのコネクションの作成
      • Redshiftテーブルのカタログ登録
      • Glue ジョブの作成と実行
      • Redshiftテーブル確認
    • Amazon QuickSightからデータを参照する
      • QuickSightアカウント作成
      • Redshift-QuickSight間通信用VPCの作成
      • データセットの作成
      • グラフ作成
  • 機械学習を導入する
    • AWS における機械学習利用のアプローチ
      • AI サービスを利用する
        • Amazon Forecast
        • Amazon Personalize
        • Amazon Comprehend
      • Amazon SageMakerを使用する
    • 機械学習を導入する前にすべきこと
  • 構築したシステム(AWSリソース)を削除する
    • データ分析基盤の削除
      • QuickSight環境の削除
        • 分析の削除
        • データセットの削除
        • VPC 接続設定の削除
        • QuickSightアカウントの削除
      • Glueリソースの削除
        • ジョブの削除
        • クローラの削除
        • カタログの削除
      • Redshiftクラスターの削除
      • VPCエンドポイントの削除
    • 仮想IoTデバイスの削除
      • モノと証明書とポリシーの紐付けを解除
      • モノと証明書とポリシーの削除
      • EC2インスタンス およびユーザーの削除
    • データ収集基盤の削除
      • S3バケット名の取得
      • データ収集基盤の本体を削除
      • S3バケットを削除
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?