プロビジョンドIOPS SSDとスループット最適化HDDの比較
・ プロビジョンドIOPS SSD
I/O負荷の高いワークロード、特にストレージパフォーマンスと一貫性に左右されるデータベースワークロードのニーズを満たすように設計されている。
・ スループット最適化HDD
コスト効率の良いHDDを利用してビッグデータやログデータ処理向けのEBS。
高いスループット機能があるという点においてはプロビジョンドIOPS SSDと同じだが、性能は劣る。
コストを最優先する場合にこちらを使う
異なるAWSアカウント上のリソースへのアクセスの委任
クロスアカウント許可とIAMロールを設定。
→特定のアカウントにある特定のリソースを別のアカウントのユーザーと共有できる。
API Gatewayに対するアクセス権限の設定方法
IAMアクセス権限によって制御することができる。
APIの呼び出し等をAPIコール元にアクセスを許可するIAMポリシーを作成して設定することが必要。
DynamoDBのプロビジョンドスループットモードとオンデマンドモード
プロビジョンドスループットモード
プロビジョニングモードを選択した場合、アプリケーションに必要な 1 秒あたりの読み込みと書き込みの回数を指定します。Auto Scaling を使用すると、トラフィックの変更に応じて、テーブルのプロビジョンドキャパシティーを自動的に調整できます。これにより、コストの予測可能性を得るため、定義されたリクエストレート以下に維持されるように DynamoDB を制御することができます。
以下条件の場合に適切なオプション
・アプリケーションのトラフィックが予測可能
・トラフィックが一定した、徐々に増加するアプリケーションを実行
・キャパシティの要件を予測してコストを管理できる
オンデマンドモード
Amazon DynamoDB オンデマンドは、容量計画なしで 1 秒あたりに数千ものリクエストを処理できる柔軟な請求オプションです。DynamoDB オンデマンドには、読み取りおよび書き込みリクエストのリクエストごとの支払い料金が用意されているため、使用した分だけ課金されます。
オンデマンドモードを選択すると、DynamoDB は、前に到達したトラフィックレベルまで拡張または縮小して、ワークロードを即座に受け入れることができるようにします。ワークロードのトラフィックレベルが新しいピークに達すると、DynamoDB はワークロードに対応するように迅速に対応します。オンデマンドモードを使用するテーブルは、同じ 1 桁ミリ秒のレイテンシー、サービスレベルアグリーメント (SLA) のコミットメント、DynamoDB が既に実現しているセキュリティを提供します。オンデマンドは、新しいテーブルと既存のテーブルの両方に選択できるだけでなく、コードを変更せずに既存の DynamoDB API を引き続き使用することができます。
以下条件の場合に適切なオプション
・不明なワークロードを含む新しいテーブルを作成
・アプリケーションのトラフィックが予測不可能
・わかりやすい従量課金制の支払いを希望
暗号化されたAMIを別のAWSアカウントと共有する方法
AMIのLaunchPermissionプロパティを変更することが必要。
AWS KMSを利用して暗号化されたAMIを利用するには、その暗号化に利用したCMK自体を共有することが必要。
DynamoDBトランザクション機能
DynamoDBテーブルに対する1つのオペレーションとして複数の項目の追加、更新、削除が必要となる複雑なビジネスワークフローを管理できる。
Lambda関数が他のAWSリソースにアクセスする場合
その際はLambdaリソースを使用する他のアカウント
AWSサービスへのアクセス許可を付与するには、リソース自体に適用するポリシーをIAMロールに設定する。
Amazon eventBridge
AWS サービスを自動化して、アプリケーションの可用性の問題やリソースの変更などのシステムイベントに自動的に応答する機能を作成できる
AWS Certificate Manager(ACM)に対して、更新の対象となる ACM 証明書に対して AWS ヘルスイベントを生成することができる
Route53レコードは標準のDNSレコード
AWSリソースを構成する場合はALIASレコードを使用する必要がある。(エンドポイントのIPアドレスが動的に変更するため)
IAMロール
AWSサービスやアプリケーションなどのエンティティに対してAWS操作権限を付与するための仕組み。
ロールにはパスワードやアクセスキーを関連づけられない。ロールを使用するときは、一時的なセキュリティ認証情報が動的に作成される。
アクセスキーIDおよびシークレットアクセスキーが不要のため、アクセスキーの流出といったセキュリティリスクを回避できる。
IAMロールを利用すると、AWSサービスから別のAWSサービスへのアクセスをキャ化することも可能になる。
例)
Lambda関数からS3バケットにオブジェクトをコピーしたい場合、Lambdaの特定の関数に対してS3バケットへの書き込み権限を持つIAMロールをアタッチすることで実現できる。
セキュリティグループとネットワークACL
・セキュリティグループ
インスタンス単位で許可
ステートフルなので戻りのトラフィックは不要
・ネットワークACL
サブネット単位で許可/拒否
ステートレスなので戻りのトラフィックの設定も必要
参考