AWS

ELB配下のEC2のapacheでbasic認証をかける


タイトルの通り、elb配下のec2のapacheにbasic認証を設定するときにハマったのでメモ。

ヘルスチェックとは

ヘルスチェックとは何ぞや、という方はawsのdocを見てください。
http://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/classic/elb-healthchecks.html

ロードバランサーは、EC2 インスタンスの可用性を発見するため、定期的な ping の送信、接続の試行、またはリクエストの送信により、EC2 インスタンスをテストします。これらのテストは、ヘルスチェックと呼ばれます。ヘルスチェック時に正常なインスタンスのステータスは、InService となります。ヘルスチェック時に異常があるインスタンスのステータスは、OutOfService となります。ロードバランサーは、インスタンスの状態が正常であるか異常であるかにかかわらず、すべての登録済みインスタンスでヘルスチェックを実行します。

つまりbasic認証を設定するときにはヘルスチェックがアクセスするファイルはbasic認証の設定を除外しないといけないです。何も考えずにbasic認証をかけるとヘルスチェックが失敗してサイトが見えなくなります。

basic認証設定

.htaccessではなくてconfファイルで設定します。confファイルの方がいい理由はないですが、慣れているため。

これでapacheを再起動するとbasic認証がかかるようになります。

-AWS
-,