AWS クラウドプラティクショナー　流し見用 part7

●Amazon SNS（Simple Notification Service)
・完全マネージド型のpub/subメッセージングサービス
　コンポーネント間のメッセージ通知やアラート通知に利用する
・AWS上でイベント通知やメッセージング処理/プッシュ通知をするといった場合はSNSを選択する
●Amazon SQS（Simple Queue Service)
・完全マネージド型のメッセージキューイングサービス
　実行処理の分散並列処理を可能にする
・AWS上でキューイング処理/タスク並列分散処理/ポーリング・pull型の通知をする場合はSQSを選択する
●Amazon SES (Simple Email Service)
・Eメールの送受信機能を提供するサービス
　アプリケーション上のEメール通知機能を実装できる
・Eメール機能を実装する場合はSESを選択する
●Amazon MQ（Message Queue)
・業界標準APIやプロトコルを利用して、クラウド内のメッセージブローカーを利用できる、Apache ActiveMQ向けのマネージド型メッセージブローカーサービス
・業界標準APIやプロトコルやApache ActiveMQ向けのキューイングを実装するという場合は MQを選択する。

●セキュリティグループ設定
・サーバー単位で適用
・ステートフル
　インバウンドのみ設定すればアウトバウンドも許可される。（状態を維持）
・許可のみをIn/outで指定
・デフォルトでは同じセキュリティグループ内通信のみ許可
・全てのルールを適用
●ネットワークACLs設定
・VPC/サブネット単位で適用
・ステートレス
　インバウンド設定だけではアウトバウンドは許可されない
・許可と拒否をIn/outで指定
・デフォルトでは全ての通信を許可する設定
・番号の順序通りに適用

●毎月の請求額を見積もるツール
AWS Pricing Calculator
AWSのユーザがAWS請求額を効率的に見積もる際に利用するツール

●Cost Explorer
月額コストの予測分析が可能な分析ツール
カスタムレポートを作成してコストと使用量のデータを分析できる

●Route53 が提供する機能
・DNS名前解決
・ドメイン登録
Amazon Route53はAWSのドメインネームシステム（DNS）サービスであり、ドメインを登録して、DNS名前解決をしてドメインをルーティングする事ができる
その際にDNSヘルスチェックを構成し、トラフィックを正常なエンドポイントにルーティングしたり、アプリケーションやそのエンドポイントの正常性を独立してモニタリングする事ができる
新しいドメイン名を取得する場合は、ドメイン名をAmazon Route 53に登録して利用する事が可能
また、既存のドメインの登録を他のレジストラ（ドメインを販売して登録するベンダー）からRoute53に移管することもできる逆にRoute53に登録したドメインの登録を別のレジストラに移管することもできる

●リードレプリカ
Amazon RDSにおいてデータベース読み取り処理をオフロード（負荷を軽減すること）する事ができる機能をリードレプリカと呼ぶ
リードレプリカによってRDSはデータベース（DB)インスタンスのパフォーマンスと耐久性が向上する。
1つのDBインスタンスのキャパシティーを伸縮自在にスケールし、読み取り頻度の高いデータベースのワークロードを緩和できる
ソースDBインスタンスのレプリカを複数作成し、アプリケーションの大容量読み取りトラフィックをデータの複数のコピーから提供することにより、全体の読み込みスループットを向上させる事ができる

●AWSパートナーパス
AWSパートナーパスはAWSパートナーネットワーク（APN）参加後に、パートナーとなった会社が登録する仕組み
ソフトウェア、ハードウェア、サービス、トレーニング、ディストリビューションなどの領域ごとに最適なパスに登録することで、パートナーとしての利用してもらう対象ユーザーに対して幅広いオファリング（提案、提供）を実施する事ができる

●AWSプロフェッショナルサービス
AWSでは利用者をサポートするため専門的なAWSプロフェッショナルサービスが提供されている
これはAWSクラウドを使用する際に望ましいビジネス成果を実現するのを支援できる専門家のグローバルチーム
チームはエンタープライズクラウドの導入に関連した具体的な成果を達成するために役立つ、一連のサービスを使って支援を行う
また、さまざまなソリューション、テクノロジー、業種をカバーするグローバルな専門プラクティスを活用し、専門的なガイダンスを提供する

●コンシェルジュサポートチーム
コンシェルジュサポートチームは、ユーザー側と連携して請求およびアカウントのベストプラクティスを実装するAWSの請求およびアカウントのエキスパート
ユーザーに対してアカウンや請求といった対応についてコンシェルジュ（お客様対応）となりサポートする
AWSサポートプランのエンタープライズプランで利用可能

●AWS TAM（Technical Account Manager)
AWSを導入している企業や個人に対して、効率よく運用するため技術的視点でサポートを行うAWSの専門家
技術的なトラブルがあった際や問い合わせなどに対して技術面から支援してくれる

●AWSのアイデンティ
・IAMユーザー：個人
・IAMグループ：複数
・IAMロール：AWSサービス
これらのIDを利用してAWSリソースへのアクセスを管理し、各リソースで実行できるアクションを決定する
IAMはこうしたIDを作成して管理する事ができる
AWS Identity and Access Management(IAM)のアクセス管理では、アカウントでプリンシパルエンティティとは、IAMエンティティ（ユーザーまたはロール）を使用して認証されているユーザーまたはアプリケーションを指す
アクセス管理は、認可と呼ばれることもある
AWSでのアクセスを管理するには、ポリシーを作成し、アイデンティティ（ユーザー、ユーザーのグループ、ロール）またはAWSリソースにアタッチする
ポリシーはAWSのオブジェクトであり、アイデンティティやリソースに関連つけて、これらのアクセス許可を定義する

●webサーバーのヘルスチェックに基づいた正常・非正常の監視に利用できるサービス
Route53
Route53はアプリケーションとWebサーバーおよびその他のリソースのヘルスとパフォーマンスを監視するヘルスチェック機能を提供する。
ヘルスチェックに基づいて、Route53は正常なエンドポイントのみにトラフィックをルーティングして、アプリケーションのフォールトトレランスのレベルを高める事ができる。
Amazon Route 53ヘルスチェックでは以下の3つの方法で、ウェブアプリケーション、ウェブサーバー、その他のリソースの正常性とパフォーマンスと監視することができる
・ウェブサーバーなどの指定されたリソースのヘルスチェック
・その他のヘルスチェックのステータス
・Amazon CloudWatchアラーム状態

●オンプレミスのデータセンターにあるストレージを拡張して、データのバックアップに使用できる費用対効果の高いAWSサービス
AWS Storage Gateway
AWS Storage Gatewayは、オンプレミス環境のストレージをAmazon S3にシームレスに接続する事ができるハイブリッドストレージサービス
AWS Storage GatewayはオンプレミスストレージをAmazon S3バケットに接続して、バックアップ構成にしたり、データ移行したりといったように拡張する
このサービスはバックアップ、アーカイブ、災害復旧、クラウドデータ処理、および移行に使用できる
・ファイルゲートウェイ
シームレス（一体化したもの）にAWSクラウドに接続して、データファイルやバックアップイメージをAmazon S3クラウドストレージに保存するバックアップソリューションを提供する
・ボリュームゲートウェイ
オンプレミスアプリケーションにクラウドバックアップのiSCSI（SAN(ストレージ専用ネットワークの一種）の一種）ブロックストレージボリュームを提供
キャッシュ型ボリュームまたは保管型ボリュームのどちらかを使用
・テープゲートウェイ
Amazon S3とGlacierにデータを保管する仮想テープストレージとVTL管理を提供する

●VTL
仮想テープライブラリはハードディスク（HDD)上に仮想のテープドライブを作り、バックアップを行う方法

●AWS Works
Chef(サーバの構成管理ツール)やPuppet(サーバの構成管理ツール)のマネージド型インスタンスのサーバーの設定、デプロイ、管理を自動化できるようになる設定管理サービス

●Elastic BeanstalkとOps Worksの違い
・Elastic Beanstalk
アプリケーションのデプロイ自動化
ウェブアプリケーションやサービスを使い慣れたサーバーにおいてデプロイとスケーリングするためのサービス
・Ops Works
インフラの設定自動化
ChefやPuppetのマネージド型インスタンスのサーバーの設定・デプロイ・管理を自動化できるようになるインフラの設定管理サービス

●サーバーレスコンピューティングを実行するAWSリソース
・Fargate
Amazon Elastic Container Service(ECS)とAmazon Elastic Kubernetes Service(EKS)の両方で動作する、コンテナ向けサーバーレスコンピューティングエンジン
Fargateを使用すると、アプリケーションの構築に集中する事ができる
Fargateではサーバーのプロビジョン（供給、設備）と管理が不要となり、設計段階からのアプリケーション分離によりセキュリティを強化する
Fargateでは、インスタンスの選択やクラスター容量のスケーリングなしに、適切なコンピューティング容量が割り当てられる
・Lambda
インフラ設定なしに、直接コードを記述して、設定することでアプリケーションを容易に構築できるコンピューティングサービス
サーバーレスアーキテクチャでのシステム開発、運用をマネージドサービスで提供する

●ストレージサービスの中で、データを保存するためにEC2インスタンスにネットワーク経由でアタッチするストレージ
EBS
Amazon EBSは実行中のインスタンスに接続可能な高可用性、信頼性、耐久性、ブロックレベルのストレージボリュームを提供する
Amazon EBSボリュームは物理的にEC2インスタンスが構成されているサーバーに接続されたストレージではなく、ネットワークを介して、作成したAmazon EBSボリュームをEC2インスタンスにアタッチして利用する

●EBSとインスタンスストア違い
インスタンスストア
・ホストコンピュータに内蔵されたディスクでEC2と不可分のブロックレベルの物理ストレージ
・EC2の一時的なデータが保持され、EC2の停止・終了と共にデータは消去される
・無料

Elastic Block Store（EBS）
・ネットワークで接続されたブロックレベルのストレージでEC2とは独立して管理される
・EC2をTerminateしてもEBSはデータを保持可能で、Snapshotを S3に保存する。
・別途EBS料金が必要

●ユーザーにAWSリソースへのアクセス許可設定を提供するドキュメント
ポリシー
IAMポリシーを使用してIAMユーザーやIAMロールに対してアカウント内のAWSリソースに対するアクセス許可を定義する。IAMポリシーはAWSリソースの許可権限を規定するJSON形式のドキュメント

●RDSのバックアップを定期的に保存するストレージ
S3
Amazon RDSではDBインスタンスの自動バックアップはデフォルトでAmazon S3に取得され、指定した期間保存される。さらに、スナップショットを作成することも可能。
スナップショットはユーザー起動型のインスタンスバックアップで、明示的に削除するまで保持される
RDSのスナップショットも S3に保存される

●VPC経由のネットワークトラフィックに対してファイアーウォールや侵入防止システムを提供するサービス
AWS Network Firewall
AWS Network Firewallは、全てのAmazon Virtual Private Cloud（VPC)に不可欠なネットワークファイアーウォールや侵入防止システムをデプロイできるようにするマネージドサービス
AWS Network Firewallの柔軟なルールエンジンを使用すると、アウトバウンドサーバーメッセージブロック（SMB）リクエストをブロックして悪意のあるアクティビティの拡散を防ぐなど、ネットワークトラフィックを詳細まで制御できるファイアウォールルールを定義できる

●EC2インスタンスで処理される常に変化するデータを保存するのに最も推奨されているストレージオプション
EBS（Elastic Block　Store)
実行中のインスタンスにアタッチできる耐久性のあるブロックストレージボリュームを提供する
頻繁かつ詳細な更新が必要なデータのプライマリストレージデバイスとしてAmazon EBSを使用できる
従って、今回のシナリオのようにEC２インスタンスで処理されるために常に変化するデータを保存する場合はAmazon EBSを利用することになる
・ブロックストレージ
　EC２にアタッチして活用するディスクサービス
　ブロック形式でデータを保存
　高速・広帯域幅
　　例：EBS、インスタンスストア
・オブジェクトストレージ
　安価かつ高い耐久性をもつオンラインストレージ
　オブジェクト形式でデータを保存
　　例：S3、Glacier
・ファイルストレージ
　複数のEC2インスタンスから同時にアタッチ可能な共有ストレージサービス
　ファイル形式でデータを保存
　　例：EFS
EBSとインスタンスストア
・インスタンスストア
　ホストコンピュータに内蔵されたディスクでEC2と不可分のブロックレベルの物理ストレージ
　EC２の一時的なデータが保持され、EC2の停止・終了とともにデータは消去される
　無料
・EBS
　ネットワークで接続されたブロックレベルのストレージでEC2は独立して管理される
　EC2をTerminate(終了)してもEBSはデータを保持可能でSnapshotを S3に保存する。
　別途EBS料金が必要

●EBSボリュームの暗号化に使用されるサービス
AWS KMS(Key Management Service)
EBSはKMSを利用してデータを暗号化する事ができる
暗号化Amazon EBSボリュームを作成するときは、AWS KMSカスタマーマスターキー（CMS）を指定する
デフォルトでは、Amazon EBSは、ユーザーのアカウントに割り当てられたAmazon EBSは、ユーザーのアカウントに割り当てられたAmazon EBS用のAWS管理のCMKを使用する。

●KMSの特徴
　暗号鍵の作成・管理・運用を実施するマネージドサービスでAWSマネジメントコンソール、AWS SDKまたはCLIを使用して、キーを作成、インポート、ローテーション、削除、管理する
　IAMと連携して鍵のアクセス管理を実施
　カスタマーマスターキー（CMK）の無効化・有効化・削除を実施し、1年ごとの自動キーローテーションする事が可能
　CMKを外部から持ち込んで管理することも可能
　キー保護するためにFIPS140-2の検証済みまたは検証段階のハードウェアセキュリティモジュールを使用
　AWS CloudTrailと統合されており、すべてのキー使用ログを表示
　RDSや S3などの多数のAWSサービスに適用可能
　KMS SDKを利用することで、アプリケーションにおける暗号化も可能

●AWS用のサードパーティのソフトウェアソリューションやサービスを検索するために利用するサービス
AWSマーケットプレイス
AWSマーケットプレイスはAWS上で利用可能なソフトウェアやサービスを見つけ、購入する事ができるオンラインストア、ここでAWS用のサードパーティのソフトウェアソリューションとサービスの検索する事ができる
AWSマーケットプレイスでは、ソフトウェア製品がある独立系ソフトウェアベンダー（ISV)、付加価値再販業者（VAR)、システムインテグレータ（SI）向けに設計されている
パートナーは、わずか数日でAWS Marketplaceの利用を開始し、世界中のお客様にソフトウェア製品を提供できるようになる

●ライブラリなどのアプリケーションリリースをアプリケーションコードと共に保存できるAWSサービス
AWS CodeCommit
フルマネージド型のソース管理サービス
企業が安全で拡張性の高いプライベートGitリポジトリを簡単にホストできるようにする
AWS CodeCommitを使用して、ソースコードからバイナリまで、あらゆるデータを安全に保存でき、ライブラリなどのアプリケーション資産をコードと共に保存する事が可能

●世界中のユーザーがAPIリクエストとレスポンスのレイテンシーを低く抑えるためにAPI Gatewayと連携するべきサービス
Amazon CloudFront
APIクライアントが世界中に分散している場合は、API Gatewayはエッジ最適化されたAPIエンドポイントが必要になる場合がある
このエンドポイントは、クライアントの接続時間を短縮するためにAWSマネージド型のCloudFrontの仕組みを利用している

●コスト最適化、パフォーマンス、セキュリティ、フォールトトレランス、サービス制限の分野でのベストプラクティスに従ってリソースを利用するためのリアルタイムガイダンスを提供するツール
AWS Trusted Advisor
AWS環境を最適化することで、コスト削減、パフォーマンスの向上、セキュリティの向上に役立つオンラインリソース
Trusted Advisorでは、リソースをプロビジョニング（ITインフラストラクチャをセットするプロセス）するのに役立つ、コスト最適化、パフォーマンス、セキュリティ、フォールトトレランスの分野でのベストプラクティスに従ってリソースを利用するためのリアルタイムガイダンスを提供する

●アプリケーションのセッションデータを保存して、高速にデータ処理するのに適したデータベース
Amazon DynamoDB
Amazon DynamoDBはシームレスで拡張性のある高速で予測可能なパフォーマンスを提供する完全に管理されたNoSQLデータベースサービス
セッションデータの処理に向いており、高速で処理を実行できる
Amazon DynamoDBはハイパフォーマンスなアプリケーションをあらゆる規模で実行するために設計された、フルマネージド、サーバレスのKeyーvalue NoSQLデータベース
DynamoDBは内蔵セキュリティ、継続的なバックアップ、自動化されたマルチリージョンでのレプリケーション、インメモリキャッシング、データエクスポートツールを提供する
Dynamo DBを利用する事で運用コストをかけずに、イノベーションの推進に集中できる
プレイヤーデータ、セッション履歴、リーダーボードを使って、数百万人の同時接続ユーザに対応したゲームプラットフォームを構築できる

●DynamoDBの性能
完全マネージド型のNoSQLデータサービスであり、テーブルサイズは無制限だが、1つのデータは400KBに制限
パフォーマンス
・ハイスケーラブルで無制限に性能を拡張できる
・負荷が高くなっても応答速度が低下しない低レイテンシー
・高可用性（SPOF(Simple Point Of Failure:単一障害)なしでデータは三箇所のAZに保存）
・マネージド型のためメンテナンスフリー：CloudWatchで運用
データ容量の制限
・ストレージの容量制限がない
テーブルのサイズには実用的な制限はない
テーブルは項目数やバイト数について制限がない
・データ項目には制限あり
項目のサイズ制限は400KBであり、大きなデータを格納できない

●DynamoDBのできること/できないこと
できる事
・キーに対するバリュー（値）のCRUD操作(Create Read Update Deleteを指す）
・簡易なクエリやオーダー
・例えば、数万人以上が同時アクセスして処理が必要になるアプリケーションのセッションデータ処理などが得意
できない事/向いていないこと
・JOIN/TRANSACTION/COMMIT/ROLLBACKは不可
・詳細なクエリやオーダー（データの検索や結合処理などには向いていない）
・大量のデータ読み書きにはコストがかかる

●洗練されたインタラクティブなグラフアプリケーションを作成できるAWSサービス
Neptune
Neptuneは高速かつ信頼性の高いフルマネージドグラフデータベースサービス
このサービスでは、高度に接続されたデータセットと連携するアプリケーションを簡単に構築及び実行できる
Amazon Neptuneを利用する事で、洗練されたインタラクティブなグラフアプリケーションを作成する事ができる

●AWSのNoSQL型データベース
・Amazon DynamoDB
規模に関係なく数ミリ秒台のパフォーマンスを実現するキーバリュー型及びドキュメント型のNoSQLデータベース
・Amazon ElasticCache
RedisまたはMemcachedと互換性のある完全マネージド型のインメモリーデータストア
・Amazon DocumentDB
ミッションクリティカルなMongoDBのワークロードを運用するための、スケーラブルかつ高い耐久性のフルマネージド型のNoSQL型データベース
・Amazon Keyspaces
Apache Cassandra向けのフルマネージド型のNoSQL型データベースサービス
・Amazon Neptune
IDグラフ、ナレッジグラフ、不正検出などのグラフのユースケースを強力にサポートする高速のグラフデータベース
・Amazon Timestream（時系列DB)
IoT及び運用アプリケーションに適した、高速かつスケーラブルなサーバレス時系列データベースサービス

●リレーショナルデータベース
・Amazon RDS
MySQL、PostgreSQL、Oracle、SQL Server、MariaDBと互換性のあるリレーショナルデータベース
・Amazon Aurora
MySQL及びPostgresSQLと互換性のある分散・高速化された高性能リレーショナルデータベース
・Amazon Redshift
AWS上で業務データ解析基盤を提供するデータウェアハウス
・Amazon RDS Custom
基盤となるOSやDB環境へのアクセスが可能なマネージドデータベースサービス。
SQL ServerとOracle版が対応可能
・Amazon RDS on Outposts
RDSなどのフルマネージド型のデータベースインスタンスをオンプレミス環境にデプロイする事ができる

●その他のデータベース
・Amazon QLDB
フルマネージド型の台帳データベース
透過的かつイミュータブルで、暗号的に検証可能なトランザクションログの保存向き
データの全変更が追跡され、変更履歴が長期間維持される
・Amazon OpenSearch Service
AWSでElasticsearchを実行する分散検索/分析エンジンで検索サービスを構築する
・Amazon CloudSearch
検索機能を手軽にWebサイトやアプリケーションに構築、実装できるクラウド型サービス