質問: ご覧いただきありがとうございます。 AWSのELBとapacheのVirtualHostに関しての質問です。 ### 開発環境 EC2 (apache2.2) ### 前提・実現したいこと EC2上に複数のドメインをVirtualHostで設定し、ELBで負荷分散をしたいです。 ### 現在の状況 現在は下記のような設定となっています。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/cc37bfac717cda4273f51063708b7839.png) Route53の設定 | Name | Type | Value | | --- | --- | --- | | a.example.com | A | ALIAS dualstack.XXX.elb.amazonaws.com. | | b.example.com | A | ALIAS dualstack.YYY.elb.amazonaws.com. | ELBの設定 | 名前 | DNS名 | | --- | --- | | aName | XXX.elb.amazonaws.com. | | bName | YYY.elb.amazonaws.com. | apache設定(AZ1/AZ2のEC2共に) ``` (/etc/httpd/conf/httpd.conf) ServerName a.example.com DocumentRoot /var/www/html/a ServerName b.example.com DocumentRoot /var/www/html/b ``` ELBが機能しているかどうか確認するために各EC2に各にファイルを設定しました。 `a.example.com`の確認 ``` (AZ1の/var/www/html/a/index.php) これはAZ1のaのページです。 ``` ``` (AZ2の/var/www/html/a/index.php) これはAZ2のaのページです。 ``` `b.example.com`の確認 ``` (AZ1の/var/www/html/b/index.php) これはAZ1のbのページです。 ``` ``` (AZ2の/var/www/html/b/index.php) これはAZ2のbのページです。 ``` ### 発生している問題 `a.example.com`のELBが機能しているのは確認できました。 `b.example.com`のELBが機能確認ができず、常に ``` (AZ1の/var/www/html/b/index.php) これはAZ1のbのページです。 ``` が表示され、AZ1とAZ2で分散されていない状況です。 VirtualHostとELBの連携の参考文献があまり存在せず、そもそもELBを2つ置いて、2つとも同じEC2をターゲットにすることが出来るのかどうかも確信が持てておりません。 「こうした方が良い。」等アドバイスをいただければ幸いです。 何卒宜しくお願い致します。 参考文献 ELBでNameVirtualHost使ってみた。
回答: batchiさんの回答にあるように単にSticky Sessionが効いているだけのような気がします。 ブラウザからアクセスするとクッキーのせいでそうなりますので、curl等のツールを使ってアクセスしてみてください。 その場合明示的にオプションに指定しない限りクッキーが使えないため、Sticky Sessionが効いていない状態(つまり、全て新しいセッション)となります。 以下コマンドを何回か実行する。 ``` curl http://b.example.com ``` もしくは/var/www/html/b/index.phpの内容が両方一緒になっているだけか。 確認してみてください。