web-dev-qa-db-ja.com

AWSのElastic Load Balancerは単一障害点ですか?

アプリケーションをアマゾンウェブサービスに移行することを検討しています。すべてのEC2インスタンスを2つのアベイラビリティーゾーン間でミラーリングする計画です。データ転送コストのため、私たちは単一のAWSリージョン(オレゴン)に滞在します。

複数のAZは、アプリケーションサーバーとデータベースサーバーの単一障害点を取り除きますが、ELBはどうでしょうか。 2つのAZ間でトラフィックを分散する単一のELBがある場合、ELBもこれらの2つのAZ間でホストされますか?

ELBがSPoFになるのを防ぐためにAmazonは何をしますか?

16
Chris.B

基本的に、ELBはEC2インスタンスの単なるコレクションです。 ELBを作成する の場合は、ロードバランサーを配置するアベイラビリティーゾーンを指定します。ロードバランサーを構成するインスタンスがそれらのゾーンに作成されます。ここで単一障害点を回避する方法は、DNSルックアップを実行するときに複数のIPアドレスを返すことです。例えば:

  • Website.example.comのDNSルックアップはCNAME website-elb-12345.eu-west-1.elb.amazonaws.comを返します
  • このルックアップでは、website-elb-12345.eu-west-1.elb.amazonaws.comの情報も返されます。それはサイトがIPアドレス1.2.3.4とIPアドレス2.3.4.5を持っていると述べています

接続を確立するために使用するIPアドレスを選択するのはクライアントの責任です。 IPアドレスは、DNSルックアップから常に同じ順序で返されるとは限りません。クライアントは、最初の試行で接続できない場合、代替IPアドレスで再試行できます。

ELBのDNSレコードのTTLは60秒しかありません。つまり、ELBインスタンスが停止して置き換えられた場合、DNSはどこでもかなり迅速に更新されます。

14
Richard

実際にはSPoFになる可能性がありますが、同じリージョン内のSPoFになると思います。

AWSがRoute 53ヘルスチェックを使用して、異常なELBで終了するトラフィックを検出して再ルーティングすることを提案しているのはこのためです。

Amazon Route 53ヘルスチェックとDNSフェイルオーバー機能を使用して、Elastic Load Balancerの背後で実行されているアプリケーションの可用性を強化できます。ロードバランサーに登録されている正常なEC2インスタンスがない場合、またはロードバランサー自体が正常でない場合

ソース: http://aws.Amazon.com/elasticloadbalancing/

3
Alex

自動スケーリンググループを作成することで、単一のAZ SPoFを回避できます。単一のELBがX係数を満たさない場合、それが負荷や応答時間などによるものかどうかにかかわらず、新しいELBが作成されます。 ELBは基本的に、独自のAWSコードを実行するEC2インスタンスです。

1
jon deane