AWS SOA 取得に向けて勉強している中で、個人的に覚えておいた方がいいと思ったことを備忘録として残しておきます。
EC2 の購入オプション
Savings Plan は1時間あたりに支払う利用金額をコミットする
リザーブドインスタンスはインスタンススペックをコミットする
Savings Plan
EC2 Instance Savings Plan
同じリージョン内の特定のインスタンスファミリーに適用される割引プラン
Compute Savings Plan
インスタンスファミリーやリージョンに依存せず適用される割引
FargateとLambdaにも適用可能
リザーブドインスタンス
スタンダード
リージョンとインスタンスファミリーが固定
コンバーティブル
作成時の価格と同等以上であればインスタンスファミリー・タイプ、OS の変更が可能
参考
Elastic Beanstalk のデプロポリシー
All at once
- 一気にデプロイする
- 既存インスタンスへのデプロイ
- ダウンタイムが発生する
Rolling
- バッチサイズ(50%など)を決めてデプロイする
- 既存インスタンスへのデプロイ
- ダウンタイムは発生しない
- 一時的にキャパシティが減り、新旧のアプリケーションが混在する
Rolling with additional batch
- キャパシティを維持するために一時的に新規インスタンスを起動してデプロイし、完了したら新規インスタンスは削除する
- 既存インスタンスへのデプロイ
- ダウンタイムは発生しない
- 一時的に新旧のアプリケーションが混在する
Immutable
- 新規インスタンスへのデプロイ
- ダウンタイムは発生しない
- 一時的に新旧アプリケーションが混在する
Traffic splitting
- 新規インスタンスへのデプロイ
- 一定期間新規インスタンスにも振り分けて問題がなければ全て新規インスタンスに切り替える
- 一時的に新旧アプリケーションが混在する
参考
CloudFront と Global Accelerator の違い
CloudFront
- 低遅延のコンテンツ配信のサービス
- キャッシュする
- HTTP/HTTPS トラフィックに特化
Global Accelerator
- アプリの高可用性とパフォーマンス向上、世界中からのアクセスを高速化
- キャッシュせずにオリジンに毎回アクセスする
- ネットワーク層で動作
参考
EC2 がデフォルトで CloudWatch に送信するメトリクス
- CPU 使用率
- PID(プロセス ID)など詳細な情報はエージェントが必要
- ディスク I/O の読み取り・書き込み
- NW 情報量(送受信)
- インスタンス・システム状態
ディスク使用率やメモリ使用率は CloudWatch エージェントをインストールして取得する
参考
ECS のネットワークモード
host モード
- ホストの ENI を使ってコンテナが通信を行う
- ホストのポートとコンテナのポートが 1 対 1 になるので同じポートで複数コンテナ起動できないため負荷分散ができない、非推奨
bridge モード
- ENI とコンテナの間に Bridge を挟むのでホストとコンテナを別ポートで接続して同じポートで複数コンテナを起動できる
- ENI とコンテナは 1 対 N の関係なので SecurityGroup の設定と通信帯域も共有になる
awsvpc モード
- ホスト EC2 の ENI とは別に、コンテナごとに ENI が生成されるのでコンテナごとにセキュリティ設定ができる
- EC2 の種類によって作成できる ENI の数に上限があるのが欠点
参考
Route53 のルーティングポリシー
位置情報ルーティングポリシー
- クライアントの位置情報に基づいてルーティングする
- クライアントの国によって言語を変えたい場合などに使用する
地理的近接性ルーティングポリソー
- クライアントとリソースの位置情報補に基づいて、クライアントと地理的に近いリソースにルーティングする
- レイテンシを小さくさせる場合に使用する