AWS認定クラウドプラクティショナー直前対策テキスト

クラウドの概念

クラウドコンピューティング
インターネットを通して提供される仮想化技術によるサービス形態

インスタンス
稼働中の仮想化されたサーバー
=EC2

リージョン
独立したクラウド領域
リージョン間の通信、データ移動する事はできない

アベイラビリティゾーン(AZ)
リージョン内の物理的に独立した領域
AZ間の通信が可能

データセンター
AZ内のクラウド本体のコンピュータ設置場所。

エッジロケーション
エッジ=端
ユーザに近い場所のデータセンター
CloudFront等に利用される

エラスティック(弾力性)
AWSで多用される言葉
EC2では自動でのスケールアウトスケールアップが可能

プロビジョニング
≒セットアップ、設定等の意味

サーバープロビジョニング
=OS、ソフトウェアのインストール、設定

ユーザー(アカウント)プロビジョニング
=ユーザー作成、アクセス権限設定

ワークロード
=OS、ミドルウェア、ソフトウェア、データを含めたシステム全体
AWSリソースに加えてプログラム等のソフトウェア、データ

グローバルリーチ
エッジロケーションを利用してグローバルにクラウドを利用してビジネスを行う事

ディザスターリカバリー(DR)
大規模障害復旧方法

名称 内容
バックアップ&リストア 退避(バックアップ)しておいたシステムのある時点のデータを、戻す(リストア)する
パイロットライト 普段は停止させている障害時用システムを起動して使う方法
コールドスタンバイ
ウォームスタンバイ 障害対策/ウォームスタンバイ」参照
マルチサイト 常時別の場所で同じシステムを稼働させておく方法
ホットスタンバイ

AWSクラウドの特徴

特徴

固定費から変動費
初期投資(固定費)が不要で使用した分だけ費用(変動費)が掛けられる

スケールメリット
超巨大企業が巨大なインフラを整備している為スケールメリットによる低コスト化が進んでいる

キャパシティ予測不要
リソースの使用に応じてスケールアウトスケールアップされるインフラを利用できる為、機器、サービスのキャパシティ設計が不要

スピード
サービス構築・稼働・リリースまでの速度が速い

データセンター不要
データセンターの設備投資、運用、保守はAWSが担う為不要

数秒で世界中にデプロイ可能
各国のリージョンに数秒でデプロイ可能
低レイテンシー、低コストを実現
※レイテンシー=遅延

アーキテクチャ原則

AWSの特徴を活かす為に推奨されるアーキテクチャ原則
具体的なプラクティス集については「Well Architected フレームワーク」参照

障害設計
1カ所の障害でシステム全体が止まる様な作りにしない

疎結合
各機能をコンポーネントとして分割する

スケーラビリティ
拡張・収縮を可能とする

サーバでなくサービス
保守の手間を軽減する為にサービスを利用する

グローバルリーチ
静的コンテンツはエッジロケーション

AWSの主要サービス

管理

サービス名 機能 備考
AWSマネジメントコンソール WEBベースでAWSを操作できる

コンピューティング

サービス名 機能 備考
EC2 仮想サーバ 用途/規模に応じて多様なファミリ/サイズがある
ECS Dockerコンテナ サーバ管理不要
Lambda 関数 インスタンス不要

 

コンテナサービス

サービス名 機能 備考
Amazon ECS EC2/Fagate上でDockerコンテナを稼働させるサービス
Amazon EKS Kuberntesサービス
AWS Fagate Dockerコンテナ用サーバレスエンジン ECS/EKSで稼働

ストレージ

サービス名 機能 備考
EBS ブロックストレージ EC2用。1つのEBSに接続できるEC2は1つのみ。拡張可能
インスタンスストア ブロックストレージ EC2用。一時的なデータの保管用
EFS ファイルストレージ EC2用。複数のEC2からアクセス可。EC2外からのインターネットアクセス不可
S3 オブジェクトストレージ 1つのオブジェクトがURLで指定できる
S3のアクセス権限設定については「S3アクセスコントロール」参照
S3 Glacier オブジェクトストレージ データの取り出しに数分〜必要だが低コスト
サービス名 機能 備考
Storage Gateway ゲートウェイ オンプレミスからAWSの各ストレージを利用できる
Snowball 物理デバイス(小) データ移行、エッジコンピューティング用
Snowmobile 物理デバイス(大)

データベース

リレーショナルデータベース

サービス名 機能 備考
RDS 各種一般的なデータベースエンジン(Oracle等)+Aurora
Aurora クラスタ構成のAWS独自のRDBエンジン(MySQL/Postgre)
Redshift データウェアハウス

 

NoSQL

サービス名 機能 備考
DynamoDB NoSQL
ElastiCache インメモリデータストア

ネットワーク

サービス名 機能 備考
VPC 利用者独自の論理ネットワーク
Amazon VPC拡張ネットワーク 高スループット、低レイテンシーの拡張機能
Amazon VPCエンドポイント VPC内のインスタンスとVPC外のサービスの接続機能 セキュリティの問題でインターネットに接続せずにサービスを利用する場合に使用
ELB ロードバランサー
CloudFront CDN エッジロケーションで稼働
Route53 DNS
Direct Connect 専用線
Virtual Private Network VPN
EBS最適化インスタンス EC2〜EBS間接続の専用化

セキュリティ

サービス名 機能 備考
IAM ユーザ、サービス等に対する認証と認可
KMS 暗号化キーの管理
WAF ファイアウォール

マネジメント

サービス名 機能 備考
AutoScaling インスタンスの自動拡張
CloudFormation コードからAWS環境を構築
CloudWatch サービスのモニタリング

その他

メッセージングサービス

サービス名 機能 備考
Amazon SNS pub/sub型メッセージングサービス
Amazon SQS キュー型メッセージングサービス
Amazon SES Eメールサービス
Amazon MQ キュー型メッセージングサービス

 

AWSサポート

サービス名 機能 備考
ベーシックサポート ガイドの閲覧が可能 全利用者対象
開発者サポート Trusted Advisorの7コアのチェック
・メールサポート(営業時間内)
ビジネスサポート Trusted Advisor
・電話/メール/チャットサポート(年中無休)
エンタープライズサポート Trusted Advisorのフルチェック
・電話/メール/チャットサポート(年中無休)
・コンサルティング
・アドバイス

 

Marketplace
AWSで利用可能なソフトウェアのカタログ
ソフトウェアベンダーの製品に対する検索・購入・デプロイが可能

APNパートナー
サポート企業のネットワーク

パートナー名 機能 備考
APNコンサルティングパートナー 設計、開発、構築、移行、管理サポート
APNテクノロジーパートナー AWSに関するハード、接続サービス、ソフトウェア提供

Well Architected フレームワーク

AWS Well-Architected Tool
ベストプラクティスについて質問形式でチェックできるサービス

運用の優秀性

設計原則

1.プログラムコードで運用する
 従来:手作業での運用
 AWS:アプリ、インフラもコードによる自動化を推奨
2.ドキュメントへの注釈
 従来:手作業で作成
 AWS:自動作成
3.定期的に小規模リリースする
 従来:長期サイクルでの一括リリース。リリース後は凍結
 AWS:小規模リリース(その為の設計)を推奨。※失敗時にその部分だけ戻せる為
4.手順を定期的に改善する
 従来:成功した手順を凍結。間違えない様に運用
 AWS:頻繁な手順改善を推奨
5.障害を予想してテストする
 従来:障害、変更は避ける
 AWS:あえて障害を発生させるテスト実施を推奨
6.障害から学習する
 従来:リリース前に極力バグを無くす
 AWS:障害からの学習を推奨

ベストプラクティス

AMI
Amazon Machine Image

EC2インスタンスのイメージ
EBSスナップショット等のストレージを含む

VPCフローログ
VPC上の通信ログを出力

AWS Elastic Beanstalk
WEBアプリケーションの自動デプロイ(プロビジョニング)、自動スケーリング

AWS Codeシリーズ

サービス名 機能 備考
CodeCommit Gitリポジトリ
CodeBuild ビルド、テスト
CodeDeploy デプロイ
CodePipeline 継続的デリバリー/継続的インテグレーション
X-Ray マイクロサービス管理

AWS CI/CD」参照

AWS X-Ray
マイクロサービスアプリケーション間の依存関係の分析・管理ツール

セキュリティ

責任共有モデル
AWSと利用者でセキュリティとコンプライアンスについての責任が分割される

AWSの責任
ホストのコンピュータ、OS、データセンター等におけるセキュリティ設定

利用者の責任
仮想環境のOS、ネットワーク構成、ファイアウォール構成におけるセキュリティ設定

AWS Artifact
・AWSのコンプライアンスレポート取得
・NDA締結
・SOCレポート取得

SOCレポート
重要なコンプライアンス管理および目標をAWSがどのように達成したか?の報告書
System Organization Control(SOC)

IAM
ユーザー、グループ、ロール、ポリシー
AWSセキュリティ/IAM」参照

セキュリティグループ/ネットワークACL

機能 セキュリティグループ ネットワークACL
制御単位 インスタンス単位 サブネット単位
許可設定
拒否設定
ステート ステートフル ステートレス
ルール 1つ 複数

 

AWS CloudTrail
AWSマネジメントコンソール等によるAWSアカウントへの操作履歴を取得

AWS Config
AWSリソースへの操作履歴を取得

AWS Shield
AWS セキュリティ/AWS Shield」参照

Amazon GuardDuty
AWSアカウント、ワークロードに対する包括的な脅威検出
CloudTailVPCフローログ、DNSログ等を調査する

Amazon Inspector
アプリケーションのセキュリティ評価を取得

AWS Directory Service
AWS上でMicrosoftActiveDirectoryが使用できる

S3アクセスコントロール

方法 制御
ACL バケット内のオブジェクト単位
バケットポリシー バケット単位
IAMポリシー IAMユーザーIAMロール単位

 

AWS Service Catalog
CloudFormationのテンプレートの集まり
ユーザーはCatalog外のリソースを使用できなくなる

AWS Trusted Advisor
ベストプラクティスに従ったチェックサービス
S3バケットアクセス制御、セキュリティグループポート設定、IAM使用有無、ルートアカウントでのMFA使用有無、EBSアクセス制御、RDSアクセス制御

設計原則

1.協力なアイデンティティ基盤を実装する
 従来:管理者/利用者別の認証と権限付与
 AWS:役割分担の徹底、最小限の権限付与を推奨
2.トレーサビリティ
 従来:監査時、障害時のみログでの調査を実施
 AWS:リアルタイム監視、メトリックスによる動的なアクションが可能
3.全レイヤへのセキュリティ
 従来:データセンター外部からのアクセスに対するセキュリティ対策
 AWS:外部+アプリ、OS、ネットワークへのセキュリティ対策
4.自動化
 従来:担当者が手動で実施
 AWS:自動
5.伝送中、保管中のデータ保護
 従来:平文
 AWS:暗号化、トークン分割、アクセスコントロール
6.データ操作
 従来:手作業でのデータ操作あり
 AWS:手作業に代わるツールの提供
7.セキュリティ事故への備え
 従来:事故後の対応
 AWS:インシデント対応シュミレーションの実行、自動化ツールによる検出、調査、復旧が可能

ベストプラクティス

アイデンティティ管理とアクセス管理
意図した方法で承認されたユーザだけがアクセスできる様にする。
ユーザ=個人、グループ、プログラム
以下のサービスを利用
IAM
Organizations
STS

発見的統制
潜在的な脅威、インシデントの特定の為にログ、イベントを監視
以下のサービスを利用
Cloud Trail
Cloud Watch
AWS Config
Amazon GuardDuty

インフラ保護
深層防御を推奨
境界防御、ログ監視等を実行する
以下のサービスを利用
Amazon VPC
Amazon CloudFront
AWS WAF

データ保護
データの暗号化、暗号化キーのローテーション、アクセスログ取得、データのバックアップ
以下のサービスを利用
KMS
S3

インシデント対応
インシデント対応テストを推奨
CloudFormation
Cloud Watch Events

信頼性

AWSにおける信頼性に関する設計原則
・検証済みの復旧手順が確立されている
・障害からの自動復旧
・水平方向のスケールアップ(高可用性
・キャパシティ推測不要
・自動化

Amazon CloudWatch
各種メトリクスの監視サービス

EC2、RDS等は無料でメトリクスをCloudWatchに出力できる
ログに対する監視・自動処理も可能

メトリクス
定量化された活動についての指標

Amazon CloudWatch Events
各種メトリクスの監視し設定したしきい値を超えた場合にアクションを発生させられるサービス

Amazon CloudWatch Logs
各サービスの取得、クエリ処理、ソート、グループ化

Auto Scaling

EC2 Auto Scaling
EC2インスタンスの自動拡張

Application Auto Scaling
ECS、DynamoDBテーブル、Auroraレプリカ等の自動拡張

AWS Virtual Private Network(VPN)
オンプレミスとAWSのVPN接続サービス

AWS Direct Connect
オンプレミスとAWSの専用線接続サービス

設計原則

1.復旧手順をテストしておく
 従来:特定の障害発生シナリオのテストのみ。復旧手順の検証なし
 AWS:障害発生のメカニズム、復旧手順の検証を推奨。障害の再現可能
2.障害から自動復旧される
 従来:ログ監視に基づいた手動復旧
 AWS:システムのKPIの設定から復旧プロセスの自動実行を推奨
3.水平方向へスケールできる
 従来:リソースが1カ所にまとめられている。1か所の障害で全システムが影響を受ける
 AWS:リソースを分散。1か所の障害は他リソースに影響しない
4.キャパシティ推測不要
 従来:キャパシティを予測。超過すると処理できない
 AWS:キャパシティ予測不要。リソースの自動追加/削除を推奨
5.設定変更を自動化する
 従来:手動で変更
 AWS:自動化推奨

ベストプラクティス

基盤
ネットワーク形態、サービス制限を把握しておく
以下のサービスを利用
CloudWatch
AWS Trusted Advisor

変更管理
需要の変動に応じて自動的にリソースが追加/削除される設計を推奨
環境の変更はログから把握可能
以下のサービスを利用
AWS CloudTrail
AWS Config
Amazon AutoScaling
CloudWatch

障害管理
システムの常時監視から自動で対応される設計を推奨
障害後は本番環境への調査/復旧でなく、新環境での復旧/旧環境の調査が望ましい。
また以下の様な障害対応を検証しておく
・定期的なバックアップデータからのリストア
・自動化された障害テストからの復旧
以下のサービスを利用
AWS CloudFormation
Amazon S3
Amazon S3 Glacier

パフォーマンス効率

EC2

効率化対象 内容
コンピューティング インスタンス世代:新>古
OS:新>古
ストレージ EBS最適化インスタンス>非EBS最適化インスタンス
ネットワーク 拡張ネットワーキング:有効>無効

 

RDS
設定項目
・メモリ
・パフォーマンス
・I/O最適化

自動
ストレージのスケーリング

補足
マルチAZ配置
複数AZにデータ同期されたDBを配置する構成
障害設計として高可用性フェイルオーバーを実現できる

Amazon Redshift
データウェアハウス
大容量、高速度

Amazon ElastiCache
RDS等の前に設置して利用するインメモリデータストア
AWS ストレージサービス/ElastiCache」参照

Amazon DynamoDB Accelerator(DAX)
DynamoDB用インメモリデータストア

Amazon S3 Transfer Acceleration
他大陸リージョンのS3アップロードサービス

設計原則

1.最新テクノロジーを利用する
 従来:安全を重視して枯れた技術、以前と同じアーキテクチャで構築
 AWS:新しい技術を利用する
2.数分でグローバル展開する
 従来:データセンターがあるローカルエリアでのみサービスを展開
 AWS:積極的にグローバル展開する
3.サーバレスアーキテクチャを利用する
 従来:サーバ/サーバ管理者を利用
 AWS:サーバレスサービスを管理者無しで利用
4.頻繁に検証する
 従来:リソースを準備できない為事前検証はしない
 AWS:多様なインスタンス/ストレージの比較検証を何度でも行う
5.システムを深く理解しておく
 従来:インフラ/アプリで分業されており全体を理解できず効率向上ができない
 AWS:全体を理解しやすく効率向上が可能

ベストプラクティス

最適なリソースの選択
CloudWatchから取得したデータを検証し、以下4つのリソースを最適化する

1.コンピューティング
3つのタイプから適切なアーキテクチャを選択する
以下のサービスを利用
Auto Scaling

2.ストレージ
以下を考慮しストレージを選択する
・アクセス方法(ブロック/ファイル/オブジェクト)
・アクセスパターン(ランダム/シーケンシャル)
・スループット/頻度(オンライン/オフライン/アーカイブ)
・更新頻度
・可用性/耐久性

3.データベース
以下の要件からデータベースを選択する
・可用性
・整合性
・パーティション対応
・レイテンシー
・スケーラビリティ
・クエリ機能

4.ネットワーク
以下の要件からネットワークを選択する
・レイテンシー
・スループット
・サービスを提供する場所

レビュー
以下から情報を得て新しいサービスや機能を利用する
・AWSブログ
・AWSウェブサイト「最新情報」

モニタリング
性能の劣化を観測する為にメトリクスを設定/監視する
以下のサービスを利用
Amazon Cloud Watch
AWS Lambda

トレードオフ
以下のどちらを重視するか?によってリソースをトレードオフする
・整合性/耐久性/容量
・レイテンシー
以下のサービスを利用
Amazon ElastiCache
Amazon CloudFront
Amazon DynamoDB Accelerator(DAX)

コスト最適化

EC2購入オプション

オプション 内容 課金方法
オンデマンドインスタンス 秒単位の課金(デフォルト) 秒単位
Savings Plans 1/3年のコンピューティング使用料契約
リザーブドインスタンス 1/3年のインスタンス利用契約 秒単位
スポットインスタンス 未使用インスタンスを入札して契約 秒単位
Dedicated Hosts 専用物理ホストの利用契約

 

リザーブドインスタンス

オプション 平均割引率 別リザーブドインスタンスへの変更
スタンダード 1年(40%)
3年(60%)
×
コンバーティブル 1年(30%)
3年(50%)

 

AWS Organizations
複数アカウントを一元管理
請求書管理、使用状況管理

TCOCalculator
TCO計算ツール
コスト見積もりツール

・AWS使用コスト見積もり
・オンプレミスからの移行ガイダンス
廃止

総所有コスト:AWS Total Cost of Ownership

AWS Pricing Calculator
AWS料金計算ツール
個々のユースケース毎のAWS製品、サービスのコスト見積もり

AWS Cost and Usage Report(CUR)
現在の使用状況から追跡された推定請求額レポート

AWS Cost Explorer
過去のコストをグラフ化によるコスト分析ツール
リザーブドインスタンスSavings Plans利用時の削減コストも取得できる

AWS Budgets
設定したコストを超えた際の通知を取得できるサービス

設計原則

1.消費モデルを導入する
 従来:前払い。消費前に支払う
 AWS:都度払い。未使用時はリソースを停止する

2.スケールメリットを得る
 従来:導入前のデータセンターへの一括投資のみでスケールメリットは得られない
 AWS:スケールメリット、生産性/コスト削減メリットが得られる

3.データセンター運用費を排除する
 従来:データセンター運営費、保守要員が必要
 AWS:データセンター運営費、保守要員が不要

4.費用を分析し、リソースを最適化する
 従来:運用段階では収益の分析結果を元にした最適化はできない
 AWS:システム使用状況、コストの特定が可能で収益率からリソースの最適化が可能

5.運用負担を削減する
 従来:サーバへのOS/DB導入により運用負担が発生する
 AWS:マネージドサービスの仕様により運用負担が発生しない

ベストプラクティス

費用を把握する
最終的な収益改善の為にリソースの利用コストを把握する

以下のサービスを利用
Cost Explorer
AWS Budgets
・リソースへのタグ付け
・請求アラート
AWS簡易見積もりツール

費用対効果の高いリソースを使用する
・適切なインスタンス、リソースを選択する
・マネージドサービスを使用する
・適切な料金オプションを選択する

以下のサービスを利用
Cost Explorer
AWS Trusted Advisor

需要と供給を一致させる
無駄を省きコストを削減できる

以下のサービスを利用
AutoScaling

長期的に最適化する
年々新サービスがリリースされる為、現状をレビューし改善する

以下のサービスを利用
・各種マネージドサービス
・AWSブログ、AWSウェブサイト「最新情報」
AWS Trusted Advisor