翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
HAProxy AWS OpsWorks スタックレイヤー
注記
このレイヤーは、Chef 11 以前の Linux ベースのスタックでのみ使用できます。
- AWS OpsWorks スタックHAProxyレイヤーは AWS OpsWorks HAProxy
注記
スタックは 1 つのリージョンに制限されます。アプリケーションを複数のリージョンに分散させるには、リージョンごとに個別のスタックを作成する必要があります。
HAProxy Layer を作成するには
-
ナビゲーションペインで、[Layers] (レイヤー) をクリックします。
-
[Layers] (レイヤー) ページで [Add a Layer] (レイヤーの追加) または [+ Layer] (+ レイヤー) をクリックします。レイヤータイプ で、 を選択しますHAProxy。
レイヤーには、次の設定があります。すべてがオプションです。
- HAProxy 統計
-
レイヤーが統計を収集および表示するかどうか。デフォルト値は [Yes] です。
- 統計 URL
-
統計ページのURLパス。完全な URLは http://
DNSName
StatisticsPath
次のとおりです。DNSName
は、関連付けられたインスタンスDNSの名前です。デフォルトのStatisticsPath
値は /haproxy?stats で、http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/haproxy?stats. のようなものに対応します。 - Statistics user name
-
統計ページのユーザー名。統計ページを表示するために指定する必要があります。デフォルト値は、「opsWorks」です。
- Statistics password
-
統計ページのパスワード。統計ページを表示するには、指定する必要があります。デフォルト値はランダムに生成される文字列です。
- ヘルスチェック URL
-
ヘルスチェックURLのサフィックス。HAProxy はこれURLを使用して、各アプリケーションサーバーインスタンスで HTTPメソッドを定期的に呼び出し、インスタンスが機能しているかどうかを判断します。ヘルスチェックが失敗した場合、 は、手動で、または自動ヒーリングによって再起動されるまで、インスタンスへのトラフィックのルーティングHAProxyを停止します。サフィックスURLのデフォルト値は「/」で、サーバーインスタンスのホームページ http://
DNSName
/. - Health check method
-
インスタンスが機能しているかどうかを確認するために使用されるHTTP方法。デフォルト値は でOPTIONS、 GETまたは を指定することもできますHEAD。詳細については、「httpchk
」を参照してください。 - Custom security groups
-
この設定は、組み込み を自動的に関連付けないことを選択した場合に表示されます。 AWS OpsWorks セキュリティグループをレイヤーにスタックします。レイヤーに関連付けるセキュリティグループを指定する必要があります。グループが正しく設定され、レイヤー間のトラフィックが許可されていることを確認します。詳細については、「新しいスタックを作成する」を参照してください。
注記
後で使用するためにパスワードを記録します。 AWS OpsWorks スタックでは、レイヤーの作成後にパスワードを表示することはできません。ただし、レイヤーの [Edit] (編集) ページにアクセスし、[General Settings] (一般設定) タブの [Update password] (パスワードパスワードの更新) をクリックすることによって、パスワードを更新することはできます。
HAProxy Layer のしくみ
デフォルトでは、 HAProxyは以下を実行します。
-
HTTP および HTTPS ポートでのリクエストをリッスンします。
Chef 設定テンプレート を上書きすることで、 HTTPまたは HTTPS ポートのみをリッスンHAProxyするように を設定できます
haproxy.cfg.erb
。 -
任意のアプリケーションサーバーレイヤーのメンバーであるインスタンスに受信トラフィックをルーティングします。
デフォルトでは、 AWS OpsWorks スタックはHAProxy、任意のアプリケーションサーバーレイヤーのメンバーであるインスタンスにトラフィックを分散するように を設定します。例えば、Rails App Server レイヤーと App PHP Server レイヤーの両方を持つスタックがあるとします。HAProxyマスターは両方のレイヤーのインスタンスにトラフィックを分散します。カスタムレシピを使用すると、デフォルトルーティングを設定できます。
-
複数のアベイラビリティーゾーンにトラフィックをルーティングします。
1 つのアベイラビリティーゾーンがダウンした場合、ロードバランサーは他のゾーン内のインスタンスに受信トラフィックをルーティングするので、アプリケーションは中断せずに実行できます。そのため、推奨される方法は、複数のアベイラビリティーゾーンにアプリケーションサーバーを分散することです。
-
指定されたヘルスチェックメソッドを各アプリケーションサーバーインスタンスに対して定期的に実行し、正常性を評価します。
メソッドが指定されたタイムアウト期間内に返されない場合、インスタンスは失敗したと見なされ、インスタンスへのリクエストのルーティングをHAProxy停止します。 AWS OpsWorks スタックには、障害が起きたインスタンスを自動的に置き換える方法も用意されています。詳細については、「自動ヒーリングの使用」を参照してください。レイヤーを作成する際に、ヘルスチェックメソッドを変更できます。
-
統計情報を収集し、オプションでウェブページに表示します。
重要
デフォルトの OPTIONSメソッドでヘルスチェックが正しく機能するには、アプリケーションが 2xx または 3xx ステータスコードを返す必要があります。
デフォルトでは、HAProxyレイヤーにインスタンスを追加すると、 AWS OpsWorks スタックは、アプリケーションを表す Elastic IP アドレスを割り当てます。これは、世界に公開されています。HAProxy インスタンスの Elastic IP アドレスはアプリケーションの唯一のパブリック公開 であるためURL、基盤となるアプリケーションサーバーインスタンスのパブリックドメイン名を作成および管理する必要はありません。次の図に示すように、[Instances] ページに移動し、インスタンスのパブリック IP アドレスを調べることで、アドレスを取得することもできます。(EIP) が続くアドレスは、Elastic IP アドレスです。Elastic IP アドレスの詳細については、「Elastic IP アドレス (EIP)」を参照してください。
HAProxy インスタンスを停止すると、 AWS OpsWorks スタックは Elastic IP アドレスを保持し、再起動時にインスタンスに再割り当てします。デフォルトでは、HAProxyインスタンスを削除すると、 AWS OpsWorks スタックはインスタンスの IP アドレスを削除します。アドレスを保持するには、次の図に示されているように、[Delete instance's Elastic IP] オプションをオフにします。
このオプションは、削除されたインスタンスと置き換えるために新しいインスタンスをレイヤーに追加したときに何が起こるかに影響します。
-
削除したインスタンスの Elastic IP アドレスを保持している場合は、 AWS OpsWorks スタックは、アドレスを新しいインスタンスに割り当てます。
-
それ以外の場合は、 AWS OpsWorks スタックはインスタンスに新しい Elastic IP アドレスを割り当てます。新しいアドレスにマッピングするようにDNSレジストラ設定を更新する必要があります。
アプリケーションサーバーインスタンスがオンラインになったり、オフラインになったりした場合 (手動で、または automatic scaling (自動スケーリング) または auto healing (自動ヒーリング) の結果として)トラフィックを現在のオンラインインスタンスのセットにルーティングするには、ロードバランサー設定を更新する必要があります。このタスクは、レイヤーの組み込みレシピによって自動的に処理されます。
-
新しいインスタンスがオンラインになると、 AWS OpsWorks スタックは、Configure ライフサイクルイベント をトリガーします。HAProxy レイヤーの組み込み Configure レシピは、ロードバランサーの設定を更新して、新しいアプリケーションサーバーインスタンスにもリクエストを分散させます。
-
インスタンスがオフラインになった場合、またはインスタンスがヘルスチェックに失敗した場合、 AWS OpsWorks スタックは、Configure ライフサイクルイベントもトリガーします。HAProxy Configure レシピは、残りのオンラインインスタンスにのみトラフィックをルーティングするようにロードバランサーの設定を更新します。
最後に、HAProxyレイヤーでカスタムドメインを使用することもできます。詳細については、「カスタムドメインの使用」を参照してください。
統計ページ
統計ページを有効にしている場合、 は指定された でさまざまなメトリクスを含むページHAProxyを表示しますURL。
HAProxy 統計を表示するには
-
HAProxy インスタンスの詳細ページからインスタンスのパブリックDNS名を取得し、コピーします。
-
レイヤーページで、レイヤーの詳細ページHAProxyをクリックして開きます。
-
レイヤーの詳細URLから統計を取得し、公開DNS名に追加します。例えば、
http://ec2-54-245-102-172.us-west-2.compute.amazonaws.com/haproxy?stats
とします。 -
前のステップURLの をブラウザに貼り付け、レイヤーの作成時に指定したユーザー名とパスワードを使用して統計ページを開きます。