TECH PLAY

AWS設計スキルアップガイド──サービスの選定から、システム構成、運用・移行の設計まで

3,190円 (税込)

楽天

AWS設計スキルアップガイド──サービスの選定から、システム構成、運用・移行の設計まで

書籍情報

発売日:

著者/編集:株式会社BFT/佐野 夕弥/相馬 昌泰/富岡 秀明/中野 祐輔/山口 杏奈

出版社:技術評論社

発行形態:単行本

書籍説明

内容紹介

本書はAWSの「設計」に関することを網羅的に扱っています。AWSでは200以上のサービスを提供していますが、設計という観点から絞り込み、本当に必要なものだけをくわしく紹介しています。さらには、設計を自分の力で進めていくために必要となる知識も記載しています。「誰か」が決めたレールの上で設計・構築・試験・運用をするのではなく、「どうあるべきか」をあなた自身で考え、決めていくための一冊となるはずです。

目次

■第1部 クラウドの基礎知識編 第1章 オンプレミスからクラウドへ 1.1 クラウドとは クラウドの概念 クラウドのサービス形態 クラウドの利用形態 AWSを選ぶメリット AWS特有のメリット クラウド一般のメリット 1.2 インフラ構成の変遷 オンプレミスからクラウドへ クラウド黎明期(2006年~2010年) クラウド成長期(2010年~現在) オンプレミスとクラウド、費用のかかり方の違い オンプレミスとクラウド、冗長化の違い オンプレミスのメリットを受けやすいシステムとは クラウドネイティブなシステムとは 第2章 クラウドのインフラ設計 2.1 インフラストラクチャの設計 非機能要求グレードの活用 非機能要求グレードの例 本書で記載する非機能要求グレードの範囲 「クラウドで非機能設計」の勘どころ 2.2 クラウドで考えるセキュリティ クラウドセキュリティの責任分界点 責任分界点とは AWSの責任共有モデル ■第2部 AWSのシステム構成編 第3章 システムの構成 3.1 AWS全体の設計 AWSアカウントを発行する前に ルートユーザーの使用ケース AWSアカウントを発行したら行うこと 多要素認証の使用法 AWSアカウントの運用例 単一のAWSアカウントで運用する 複数のAWSアカウントで運用する ランディングゾーン AWS Control Tower AWS Organizations AWS IAM IAMポリシーの設計の進め方 IAMグループやIAMロールの設計例 3.2 システム構成図の描き方 図を描く前の注意点 相手に伝わる図を描くためには 必要な情報だけ記載する アイコンや文字の大きさ・位置をそろえる 左から右、上から下に情報が流れるようにする 余白をしっかりとる システム構成図例 構成図例(1):アップロードした画像のサムネイル化とサーバレスなWebアプリケーション 構成図例(2):災害対策サイトを大阪リージョンに構築する 構成図例(3):システムを監視し、SNSやチャットへ通知する 3.3 クラウドにかかるコストを見積もる オンプレミスにかかる多大な費用 AWSの見積り AWS Pricing Calculatorとは AWS Pricing Calculatorの使い方 見積りの注意点 見積り例 Windowsの社内システムをクラウドに移行する 第4章 ネットワーク設計 4.1 AWSのネットワーク設計 オンプレミスとは異なる設計の注意点 AWSのネットワーク構成要素 リージョンとアベイラビリティゾーン VPCとサブネット セキュリティグループとネットワークACL、AWS Network Firewall ルートテーブル VPCエンドポイント Route 53 Route 53でできること Route 53のヘルスチェック VPCフローログ 4.2 外部システムとの接続方法 AWSへVPNで接続する AWS Client VPNを使用してVPN接続する AWSサイト間VPNを使用してVPN接続する AWSへDirect Connectで接続する Direct Connectの契約 Direct Connectの冗長化──障害発生箇所と対応法 Direct Connectの冗長構成例(1)──非クリティカルなワークロードでの構成 Direct Connectの冗長構成例(2)──クリティカルなワークロードで回復性のある構成 Direct Connectの冗長構成例(3)──バックアップとしてサイト間VPNを使用する構成 第5章 コンピューティング 5.1 コンピューティングサービスの種類と選択 AWSのコンピューティングサービス Lambda Lambdaの特徴 Lambdaのセキュリティ Lambdaの監視 5.2 Amazon EC2 インスタンスタイプの種類と選ぶ基準 インスタンスタイプの種類 インスタンスタイプを選ぶときの注意点 マシンイメージの選択 AMIの種類 オートスケールを活用し、可用性を高める EC2でオートリカバリ・オートヒーリングを活用し、保守性を高める インスタンスの費用削減 費用削減対策(1):リザーブドインスタンスの利用 費用削減対策(2):Savings Plansの適用 費用削減対策(3):スポットインスタンスの利用 T系インスタンスの注意点 バーストパフォーマンスインスタンスとは 5.3 AWSのコンテナサービス コンテナとは 仮想化技術(ホスト型・ハイパーバイザ型)とコンテナの違い コンテナとEC2の違い コンテナで構成するサービスの特徴 コンテナでサービスを作るときに気を付けること AWSでコンテナサービスを構成してみよう 5.4 Amazon ECS タスク定義 サービス クラスター タスク定義の更新 データボリュームを使用する 負荷に応じてスケーリングする 第6章 データベース 6.1 データベースサービスの種類と選択 AWSのデータベースサービス データベースを選択する流れ STEP1:WHAT、WHY、HOWを明確にする STEP2:ワークロードの機能要件を見極める STEP3:最も重要なワークロードのデータ型やデータアクセスパターンを洗い出す STEP4:データベースの非機能要件を定義する 選択肢として候補に挙がりやすいRDS、Aurora、DynamoDB 6.2 Amazon RDS RDSの特徴 RDSの構成 RDS Proxy RDS Proxyの特徴 RDS Proxyを利用する際の注意点 6.3 Amazon Aurora Auroraの特徴 Auroraの構成 Auroraのバージョン Auroraのレプリケーションとフェイルオーバー スケーリング Aurora Serverless Aurora Serverless v2の特徴 Aurora Serverless v2とv1の比較 6.4 Amazon DynamoDB DynamoDBの特徴 整合性モデル キャパシティモードとテーブルクラス DynamoDB Accelerator(DAX) DynamoDBの設計 テーブルのKeyやIndex 変更データのキャプチャ 第7章 ストレージ 7.1 ストレージの種類と選択 AWSのストレージサービス Amazon EBS 7.2 Amazon S3 S3の特徴 S3のストレージクラスとライフサイクル S3のセキュリティ S3のデータ保護 S3のアクセスポリシーの全体像 バケットポリシー ユーザーポリシー パブリックアクセスのブロック そのほかのセキュリティ設定 S3イベント通知 7.3 Amazon EFS EFSの特徴 EFSの使い方 EFSのアクセス制御 EFSの可用性とライフサイクル 第8章 アプリケーション統合 8.1 アプリケーション統合サービスの種類と選択 アプリケーション統合サービス 8.2 Amazon API Gateway API Gatewayの特徴 REST APIエンドポイントの種類 REST APIのデプロイとステージ REST APIのメソッド設定 API Gatewayの注意点 認証・認可 スロットリング ベストプラクティス 8.3 Amazon EventBridge EventBridgeの特徴 イベントバスの種類 アクセス制御 EventBridgeのルールと入力トランスフォーマー Amazon SNSやSQSとの使い分け 第9章 可用性 9.1 AWSでの可用性の考え方 可用性とは システムの可用性を高める背景 障害に対する共通の対策 冗長化とは 疎結合化とは 9.2 AWSのSLA(サービスレベルアグリーメント) AWS上で起き得る障害の種類 AWS側の要因によって起こるもの 利用者側の要因によって起こるもの いずれの要因でもないもの AWSがSLA(SLO)を満たせなかった場合 リスクマネジメント リスクマネジメントのプロセス 第10章 セキュリティ 10.1 Well-Architectedフレームワークの利用 Well-Architectedの6つの柱 セキュリティの7つの設計原則 クラウドセキュリティ6つの領域のベストプラクティス 10.2 セキュリティガイドラインの活用 クラウドの選定に役立つガイドライン「ISMAP」 要件定義や設計で役立つガイドライン 情報システムに係る政府調達におけるセキュリティ要件策定マニュアル CIS Controls 非機能要求グレード クラウドサービス提供における情報セキュリティ対策ガイドライン セキュリティ対応に役立つガイドライン サイバーセキュリティフレームワーク STRIDEモデル 10.3 AWSサービスでセキュリティ対策を行う リスク検出を支援するAWSのサービス Amazon Inspector AWS Config サイバー攻撃からの防御を支援するAWSのサービス Amazon GuardDuty AWS Shield AWS WAF 未知の脅威への対応自動化 ■第3部 AWSの運用設計編 第11章 ジョブ管理 11.1 ジョブ実行に関連するサービスの種類と選択 AWSのジョブ実行に関連するサービス AWS Lambdaでジョブ管理を実装する 11.2 AWS Batch Batchの特徴 Batchのコンポーネント 配列ジョブとジョブの依存関係 EC2 SpotやFargate Spotを活用しコストを最適化する 11.3 AWS Step Functions Step Functionsの特徴 ワークフローのタイプ Step Functionsの状態 Step Functionsの入出力 ステートマシンを作成する Step FunctionsでWebサイトの正常性確認を行う S3へのファイル格納をトリガにLambdaを複数実行する 実行の確認・デバッグ 第12章 バックアップ 12.1 クラウドでのバックアップの概要 バックアップ対象の整理 AWSのバックアップ 12.2 AWS Backup AWS Backupの機能 AWS Backupの概要 AWS Backupのサポート対象 AWS Backupの注意点 第13章 監視 13.1 監視の種類 リソース監視 Amazon CloudWatchで収集されたメトリクスを見る CloudWatchエージェントを導入してカスタムメトリクスを取得する ログ監視 AWS費用の監視 通知と復旧 Amazon SNSを利用してアラートを通知する 13.2 ログの管理 EC2インスタンスのログ収集 ログ収集に必要なポリシー CloudWatchエージェントのインストール CloudWatchエージェントの設定と起動 CloudWatchエージェント関連でのハマりポイント マネージドサービスのログ収集 Lambda API Gateway RDS VPC CloudTrail ログの保管 ログ保管期間の目安 13.3 既存の監視システムとCloudWatchの連携 Zabbixによる統合監視 SaaSの監視サービスによる統合監視 第14章 構築・運用の自動化 14.1 自動化のメリットとデメリット 自動化導入のメリット 自動化導入のデメリット 14.2 AWSで構築の自動化を推進するサービス CloudFormationとは CloudFormationのライフサイクル CloudFormationのテンプレートを準備する CloudFormationでスタックを作成する 既存のスタックを変更する スタックを削除する CloudFormationテンプレートの便利な書き方 Parameters Outputs 組込み関数 14.3 AWSで考えるCI/CD CI/CDとは CodePipelineでできること コンテナアプリケーションのCI/CD構成例 Codeシリーズを活用したECSへのCI/CD実装 Lambda関数URL機能を利用したLambda関数のCI/CD実装 ■第4部 AWSへの移行設計編 第15章 オンプレミスからの移行 15.1 クラウドリフト・クラウドシフトという考え方 なぜクラウドに移行するのか クラウドリフト&シフト クラウドリフトの流れ (1)クラウド化の目的の定義・現状の課題整理 (2)非機能要求の定義 (3)リフト対象サーバの整理 (4)移行検討 (5)移行ツールの検証 (6)クラウド上でアプリケーションの動作検証 (7)通信要件の整理 (8)クラウドのネットワーク設計 (9)システム構成図の作成 (10)運用関連の変更箇所洗い出し (11)リフト環境の構築・試験 (12)移行リハーサル (13)本番移行・移行後の対応 クラウドシフトで必要となるタスク シフト対象サービスの選別 マイクロサービスに合ったアプリケーションの改修 サーバレスなインフラ基盤の検討 15.2 仮想マシンの移行 オンプレミスのサーバをAWSに移行する AWS MGNのしくみ AWS MGNの注意点 AWS MGN以外のAWS移行サービス 15.3 データベースの移行 データベース移行のステップ RDSへのデータ移行方法 オンプレミスのOracleからRDSのPostgreSQLへデータベースを移行する オンプレミスのOracleからRDSのOracleへデータベースを移行する 15.4 大量データの移行 「オンライン」のデータ移行 「オフライン」のデータ移行

著者情報

BFT

中野 祐輔

中野, 祐輔

佐野 夕弥

佐野, 夕弥

富岡 秀明

富岡, 秀明

山口 杏奈

山口, 杏奈

株式会社BFT

相馬 昌泰

相馬, 昌泰