TxKxZxWx's blog

AWS SAA取得に向けて学習

AWS SAA取得に向けて 63日目 「おさらい - well architected framework (信頼性) 」

well architected framework の「信頼性」に関してまだ理解の浅い部分を備忘録。

 

 

質問①:

NLBの特徴として間違っているものを選択してください。

 

  1. L4ロードバランサーである。
  2. 毎秒数千万のリクエストに対応する性能がある。
  3. フォールトトレラント機能を有したコネクション処理を有する。
  4. コンテナ化されたアプリケーションをサポートしている。

 

答え:

2. 毎秒数千万のリクエストに対応する性能がある。

正しくは毎秒数百万のリクエストに対応できる性能がある。

ALBとNLBの説明に関しては以下を確認。

 

 

質問②:

大規模アクセスが予測されるケースについて、次の「ELBタイプと必要な対応」のセットのうち、「適切ではない内容」を選択してください。

 

  1. NLBを利用しており、Pre-warming申請をする。
  2. ALBを利用しており、Pre-warming申請をする。
  3. CLBを利用しており、Pre-warming申請をする。
  4. どのELBタイプも必ずしもPre-warming申請が必要となるわけではない。


答え:

1. NLBを利用しており、Pre-warming申請をする。

NLBはPre-warming申請は必要ない。

 

 

ALB(Application Load Balancer )

レイヤー7の対応が強化された単一ロードバランサーで、異なるアプリケーションへリクエストをルーティングが可能。

 

webアプリケーション用のロードバランジングとしてはこれを使用するのが主要。

 

  • URLのパスに基いてルーティングが可能なパスベースルーティングが可能。
  • WebSocketとHTTP/2のリクエストを受付。
  • 1インスタンスに複数ポートを登録可能。
  • EC2インスタンスをターゲットグループに割り当てる際、複数ポートを個別のターゲットとして登録することが可能なため、ポートを利用するコンテナをロードバランシング可能。
  • ターゲットグループでのヘルスチェックが可能。アクセスログの情報追加。
  • EC2と同様に削除保護が可能。
  • ALB自体が自動的にキャパシティを増減。

 

NLB(Network Load Balancer)

NLBは超低遅延で高スループットを維持しながら秒間何百万リクエストを捌く様に設計された新しいロードバランサー

 

大量処理が要求される場合にこちらを使用する。

 

  • 開放型システム間相互接続 (OSI) モデルの固定IPアドレスを持つL4ロードバランサー
  • 揮発性ワークロードを処理し、毎秒数百万のリクエストに対応できる能力。
  • VPC外のターゲットを含めたIP アドレスや静的IPアドレスでの登録可能。
  • 複数のポートで各インスタンスまたは IP アドレスを同ターゲットグループに登録可能。
  • 大規模アクセスが予測される際CLBやALBで必要だったPre-warming申請が不要
  • ALBやCLBはX-Forwarded-Forでアクセス元IPアドレスを判断していたが、NLBは送信。
  • IPアドレスと送信元ポートの書き換えを行わないため、パケットからアクセス元が判断可能。
  • NLBはフォルトトレランス機能を内蔵したコネクション処理を持ち、数カ月から数年のオープンなコネクションを処理できる。
  • コンテナ化されたアプリケーションのサポート。
  • 各サービスの個別のヘルスステータスのモニタリングのサポート。

 

 

質問③:

ロードバランシングしたいサーバーとしていくつかの機能別サーバー群を有している。

ソリューションアーキテクトとして機能別にバランシングを実施したいと考えています。

選択すべき方式は?

 

答え:

ALBを利用したパスルーティングを実施する。

ALBを利用したパスルーティングを実施することで、機能別にグループ分けしたEC2インスタンス群において、グループ毎にそれぞれバランシングを実施することが可能。

 

 

質問④:

スケーリングのタイプと説明の組合せで正しいものを選択してください。

 

  1. スケールアップは処理する機器/サーバー台数を増加すること。
  2. スケールダウンはメモリやCPUを削減すること。
  3. スケールアウトは処理する機器/サーバー台数を低減すること。
  4. スケールインはメモリやCPUの追加・増強すること。

 

答え:

2. スケールダウンはメモリやCPUを削減すること。 

スケールダウンはメモリやCPUを削減すること。

 

Image from Gyazo

 

 

垂直スケーリング

  • スケールアップ
    サーバー内の機能を高めていく。
    サーバーのメモリやCPUをより高性能のものにしたりする。

  • スケールダウン
    逆に削除や低性能化する。

 

例えば、
・この処理のサーバーにもっとパワーが必要になった。
→メモリとCPUを増強してスケールアップする。

・このサーバーはそんなに大したことしてないのに高価なCPUを使用していてもったいない。
→そのCPUを別のサーバーに移して別のものと交換するなどが垂直スケーリング。

 


水平スケーリング

  • スケールアウト
    処理する機器自体を増やす。
    垂直スケーリングでは内容を増やしたが、水平スケーリングでは処理するサーバーを増やして、処理をよりできるようにする。

  • スケールイン
    処理する機器を減らす。
    Auto-Scalingはこのスケールアウトとスケールインを実行するサービス。 

 

 

 

質問④:

既存のEC2インスタンスに対して後からAuto-Scalingを設定する予定です。

既存のインスタンスを活かして利用するために、どのターミネーションポリシーを設定するべきでしょうか。

 

  1. OldestInstance
  2. NewestInstance
  3. OldestLaunch Configuration
  4. デフォルト設定

 

答え:

 2. NewestInstance

AutoScalingによって新しく設置されたインスタンスから削除される設定。

 

Image from Gyazo

 

 

 

質問⑤:

C社では現在PostgreSQLを利用してデータベースを構築しているが、AWSクラウドサービスに移行したいと考えている。

次に示す既存データベースの要件を踏まえた場合にどのように移行するべきか検討しなさい。

・PostgreSQL10.6を利用

ファイルシステムとの連携が必要

CRMとの連携が必要

・WEBサーバーとの連携が必要

 

答え:

RDSはファイルシステムとの連携はサポートされていない為、EC2インスタンスを利用する必要がある。 

 

 

RDSの制約事項

RDSはマネージド型で楽な反面、AWSから提供される機能範囲内での制限を受ける。

 

  • バージョンが限定される。
    最新バージョンは使えない。
  • キャパシティに上限がある。
  • OSへのログインができない。
  • ファイルシステムへのアクセスができない。
  • IPアドレスが固定できない。
  • 一部の機能が使えない。
  • 個別パッチは適用できない。

 

 

 

質問⑥:

RDSのリードレプリカの構築について説明しなさい。

 

答え:

リードレプリカの増設

フェールオーバー設定を有効化するだけで、非常に簡単にフェー ルオーバーが利用可能となる。