初めに
SAAの勉強中なのですが、単にとある問題集の復習として
備忘録やメモを取るための記事になります。
何か間違えなどあれば教えていただけると幸いです。
メモ一覧
■Transfer Accelerationとは?
クライアントとS3バケットの間で長距離に渡るファイルの転送を
高速で簡単に、その上安全に行えることが可能!
■マルチパートアップロードとは?
大容量のオブジェクトをいくつかに分けてアップロード可能
既存オブジェクトのコピーを作成できる
■マルチAZについての注意点
セカンダリーDBは別AZは可能だが、別リージョンは不可能
またリードレプリカは別AZやリージョンに生成可能
リードレプリカを利用したフェイルオーバー構成は
RDSではないが、Auroraであれば可能
■マウントターゲット
VPC内のEFSにアクセスするには、マウントターゲットが必要。
・AZごとに1つのマウントターゲットを作成できる
・VPCのAZに複数のサブネットがある場合、それらのサブネットの1つのみに
マウントターゲットを作成できる。
・AZ内のEC2は1つのマウントターゲットを共有可能。
■ユーザ数の増加に柔軟に対応する方法
・AutoScaling
・Route53 にルーティングポリシーを作成し、加重ルーティングを
使用することで、複数のリソースを単一のDNS名に関連づけることが可能。
■DNSレコード
例えばCNAMEはドメインの別名を定義するが、これはRDSの
自動フェイルオーバーをルーティングする際に切り替わったりする。
・TXT→ホスト名に関連づけるテキスト情報
・MX→対象ドメイン宛のメール配送先ホスト名を定義
・Aレコード→FQDNとサーバーを識別するグローバルIPアドレスの関連づけを定義する
・DNAME→別のドメインに対してDNS名の部分木全体をマッピングする機能を提供
■Elastic IPの特徴
・固定化したIPアドレス
・パブリックIPはEC2インスタンスが開始するたびに
別のIPアドレスに変わる。
・EIPは外部からのアクセスを受けるために利用する
ex. NATゲートウェイなど。。
※仮にEC2で障害が発生しても、新しく用意したEC2へ「EIP」を付け治せるメリットがある。
・連携先のシステムでIP制限を掛けている場合、こちらからアクセスする際のIPアドレスを固定しておく必要あり。
NATゲートウェイに「EIP」を割り当てることで実現可能です。
■プレイスメントグループとは?
単一のAZ内のインスタンスの論理的なグループ
以下ののメリットがあるアプリに推奨される
・ネットワークの待ち時間 が短い、
・ネットワークのスループットが高い
・両方
■[Cloud Front]不明単語
・エッジロケーション:
クライアントに対する高速配信を可能にする
・地域制限(地理的ブロッキング):
CloudFrontウェブディストリビューションを通じて配信しているコンテンツに
ついて特定地域のユーザによるアクセスを回避できる
■[Amazon S3] APIの高レベルセキュリティリクエスト
API認証情報を利用しない方式が可能。
認証情報を利用するとどうしても漏洩リスクが存在してしまうため。。
方法は、認証情報の代わりにIAMロールを使用して
APIリクエストを作成するためのアクセス許可を委任できる。
■[SQS]クラッシュした場合のメッセージ
クラッシュやエラーの場合、メッセージはキューに残ることに注意
他のコンシューマーが同じメッセージを再処理しないように
SQSは可視性タイムアウトを設定する。
設定した時間内は、他のコンシューマーが同じメッセージを受信したりすることは
なくなる。。
デフォルトで設定時間は30秒。
Min0s max 12h
■EC2インスタンスを特定のS3にのみにアクセスを制限する方法
基本はIAMロールを利用して、S3バケットへの特定のアクセスを必要とする
EC2インスタンスにアクセス権限を付与する。
バケットポリシーでも可能だが、特定ユーザ単位でのアクセス制御を
主としてる場合、特定IPのEC2からのアクセス制御はIAMロールのがベター
■AmazonS3 CORSとは?
結論から言うと、外部サイトからの通信アクセスを制御するための機能。
デフォルトでは、外部からのアクセスはブロックされる。。
また他ドメインへのリクエスト(HTTP)もできない。
例えばフロントエンドエンジニアがWebページを作成した際
「同一生成元ポリシー」によって生成したドメイン以外への
リクエストは不可能。
しかしデータを共有するためには、同一生成元ポリシーを無視することが
必要。。
そこでCORSの出番!
S3に対するクロスオリジンアクセスを選択的に許可できる。
実装も容易だと言われている。。
■ヘルスチェックの種類
・HTTPヘルスチェック:
アプリケーション層で稼働状況を確認する方法。
Webサーバ上で稼働するアプリにHTTPリクエストを送信し、
正常応答なら稼働と判断する
・UDP/TCPヘルスチェック:
トランスポート層で稼働状況を確認する方法。
リクエストがTCP or UDPになること以外は
HTTPヘルスチェックと同様。
■VPCのDNS設定
DNS hostnamesオプションが無効の場合、
サブネットで起動されたインスタンスはDNS名を取得できない。。
その場合、VPC構成を変更して有効化をする。