AWSのサービスや用語や仕組みについてややこしい部分を自分用メモとして残すだけ
自分用メモとしてややこしかったりする部分を比較などして残すものです。
EC2
インスタンスの種類
リザーブドインスタンス:
「1年間」「3年間」と期間を決めてEC2インスタンスを予約することで安く使える。
スケジュールドリザーブドインスタンス:
日次、週次、月次と3パターンのスケジューリングされた買い方ができ、月一回だけバッチ処理で利用したいなどの要望に利用できる。
スポットインスタンス:
オンデマンド価格より低価で利用できる未使用の EC2 インスタンスで、供給と需要に基づいて徐々に調整される。
テナンシー
ハードウェア専有インスタンス(Dedicated Instance):
それを利用している AWS アカウントが起動した別のインスタンスが動作することはあっても、他の AWS アカウントの起動したインスタンスが動作することはない。
Dedicated Host:
他の AWS アカウントのインスタンスはもちろん、利用者の AWS アカウントの別のインスタンスが起動されることもない。
CloudWatch
メトリクス
標準メトリクス:
CPU利用率、通信トラフィック、ディスクIOバイト数、ステータス、etc...
カスタムメトリクス:
メモリ使用率、ディスク使用率、etc...
S3
使い分け
S3 スタンダード:
デフォルトで99.999999999%の耐久性。
S3 標準低頻度アクセス(Standard-Infrequent Access):
スタンダードと同等の耐久性で安価。ただし、読み込みにも課金されるのでアクセス頻度が低い場合が適している。
S3 Glacier:
最も安価。データの取り出しに時間がかかりいくつか種類がある。
「迅速」は緊急時に少数のファイルを1〜5分で復元可能。「標準」は取り出しに3〜5時間かかる。「大容量」は取り出しに5〜12時間かかるが最も安価。データ保存後に編集不可にするためにValut Lockという設定が可能。
S3 低冗長化ストレージ(Reduced Redundancy Storage):
耐久性は99.99%で低め。非推奨。
S3 1ゾーン低頻度アクセス(One Zone-Infrequent Access):
1つのAZのみにデータを保存する分安くなる。データへのアクセス頻度が低く、高い耐久性を必要とせず、かつ必要に応じてすぐに取り出したい場合に適している。
低頻度アクセスのログデータなどはOne Zone-IAで良いがマスターデータなどはより耐久性の高いStandard-IAが良い。
S3暗号化キーの方式
SSE-S3:
Amazon S3管理キーでサーバー側の暗号化を使用する(AES-256暗号化方式)
SSE-KMS:
AWS KMS管理キーを使用したサーバーサイド暗号化の使用
SSE-C:
顧客提供のキーを使用してサーバー側の暗号化を使用する
補足
S3バケットのデフォルト暗号化を有効化することで、ログの暗号化も実施され、後から変更も可能。
ELB
オプション
クロスゾーン負荷分散:
各ロードバランサーノードは、有効なすべてのアベイラビリティーゾーンの登録されたインスタンスにリクエストを均等に分散します。クロスゾーン負荷分散が無効の場合は、各ロードバランサーノードは、そのアベイラビリティーゾーンの登録されたインスタンスにのみリクエストを均等に分散します。
Connection Draining:
ロードバランサーがインスタンスの登録解除を報告するまで接続を保持する最大時間を指定できます。最大タイムアウト値は 1 ~ 3,600 秒の間で設定できます (デフォルトは 300 秒です)。
スティッキーセッション:
ロードバランサーがユーザーのセッションを特定のアプリケーションインスタンスにバインドするように設定できます。これにより、ユーザーのセッション中のすべてのリクエストが同じインスタンスに送信されます。
ストレージ
EBS vs EFS
Amazon EBS:
単一インスタンスから接続可。単一AZで冗長化。自動拡張不可。より安価。
Amazon EFS:
複数インスタンスから接続可。複数AZで冗長化。自動拡張可。
EBSの補足
Amazon Data Lifecycle Manager (Amazon DLM)を使用するとEBS ボリュームに保存されたデータをバックアップする自動化された手順です。Amazon DLM を使用してライフサイクルポリシーを作成し、スナップショット管理を自動化します。
データベース
Aurora:
(行指向データベース、)3AZにレプリケーション。
DynamoDB:
キーバリューストア、3AZにレプリケーション。
Redshift:
列指向データベース、単一AZのみ。
DynamoDBの補足
Amazon DynamoDB Accelerator (DAX) は、フルマネージド型高可用性インメモリキャッシュで、DynamoDB 用に特化しています。
DynamoDB ストリームは、DynamoDB テーブルの項目レベルの変更に対して時間順序のシーケンスをキャプチャし、その情報を最高 24 時間まで保存します。
Amazon Kinesis
Amazon Kinesisは主にストリーミングデータの収集・処理・リアルタイム分析に利用されます。
種類
Amazon Kinesis Data Streams:
ストリーミングデータをほぼリアルタイムで保存することができ、登録されたデータはEMRやLambdaなどで処理することができます。シャード単位で分割して並列処理を行うことができます。
Amazon Kinesis Data Firehose:
ストリームデータをS3やRedshiftに簡単に配信・保存できるサービスです。変換等も合わせて行ってくれる。
Amazon Kinesis Data Analytics:
ストリーミングデータに対してSQLクエリを実行しリアルタイム分析を行うサービスです。
AWS Storage Gateway
保管型ボリューム vs キャッシュ型ボリューム
保管型ボリューム:
新規にアップロードされたデータをローカルのディスクに保存した上で、非同期的にAWSへとバックアップを行います。ローカルサーバーをプライマリーストレージとして利用することが主な要件となります。
キャッシュ型ボリューム:
頻繁にアクセスされるデータはキャッシュとしてローカルのストレージゲートウェイに保持しながら、Amazon S3 をプライマリデータストレージとして使用できます。
AWS SQS
キューの種類
スタンダード (標準) キュー:
デフォルトのキュータイプ。できる限りメッセージの順序を保持し少なくとも 1 回は確実に配信されますが、複数のメッセージのコピーが順不同で配信される場合があり、全般的にメッセージが送信順に配信されるベストエフォート型の順序を提供します。
FIFO (先入れ先出し) キュー:
スタンダードキューを改良したもので、メッセージが送信または受信される順序は厳密に保持されます。また、メッセージは 1 回のみ配信され、コンシューマーが処理して削除するまで使用可能な状態で残り続けます。
補足
SQS 可視性タイムアウト:
この時間内に他のコンシューマーが同じメッセージを受信したり処理したりすることはできません。メッセージのデフォルトの可視性タイムアウトは 30 秒です。最小値は 0 秒、最大スケールは 12 時間です。
なんか似てるシリーズ
Opsworks vs Elastic Beanstalk
Opsworks:
Chef や Puppet のマネージド型インスタンスを利用できるようになる構成管理サービス。サーバーのパッチ適用、アップデート、バックアップが自動的に実行され、Chef サーバーが管理される。
Elastic Beanstalk:
Java、.NET、PHP、Node.js、Python、Ruby、Go、Docker で開発されたウェブアプリケーションとウェブサービスをデプロイし、自動的にデプロイメントの詳細を処理する。
WEBアプリケーションがホストされているインフラ管理にはElastic Beanstalk、インフラ環境そのものを自動で展開したり管理するためにはOpsWorksやCloudFormationが適しています。
色々
認証情報レポート:
IAMユーザーが最後にAWSサービスにアクセスした⽇付と時刻を表⽰する機能を提供してくれます。
AWS CloudTrail:
AWS アカウントのガバナンス、コンプライアンス、および運用とリスクの監査を行えるように支援する AWS のサービスです。コンソールでの操作と AWS API コールを記録します。
AWS Config:
AWS上のリソース状況のスナップショットを記録できる構成管理サービスです。
AWS Trusted Advisor:
AWS ベストプラクティスに従ってリソースをプロビジョニングするのに役立つ、リアルタイムガイダンスを提供します。
AWS Systems Manager:
AWS で利用しているインフラストラクチャを可視化し、制御するためのモニタリングサービスです。
Amazon Inspector:
自動的にアプリケーションを評価し、露出、脆弱性、ベストプラクティスからの逸脱がないかどうかを確認できます。
GuardDuty:
AWS 環境内のネットワークアクティビティとアカウントの動作を継続的にモニタリングすることによって、脅威を識別します。