AWS ALB(ELB)でドメインの www. 有り無しでのリダイレクトを行いたい
Agaroot IT Partners(AITP)のIMIです。
今後は主にインフラについての様々な内容を投稿するかと思いますので、よろしくお願いします。
今回はタイトルの通りですが、ELB(Elastic Load Balancing)での www. の有り無し でリダイレクトを実施するという内容で書いていきたいと思います。
難易度は高いどころか低いものですが、自分へのメモも兼ねて記載してみます。
やりたいこと
制作チームより、「このサービスは、www. 無し で統一したいから、www. 有り のアクセスがあった場合には www. 無し にリダイレクトして欲しい」というオーダーを頂きました。
前提
Route53等で、 www. のサブドメインAレコードが設定済である状態で作業を実施しています。
Route53の設定については、また別記事としてアップできればと思います。
今回利用したELBは、ALB(Application Load Balancer)になります。
やった事
Webサーバーでリダイレクトをする方法もありますが、今回はロードバランサーでのリダイレクトを実施しました。
この場合のメリットとしては、ネットワーク経路の上流であるAWSリソースでリダイレクトを実施する為、EC2のステータスを無視しておけるという点がありそうです。
また、体感できるレベルでは無いと思いますが、レスポンスも良くはなっているはずです。
手順
まずは、ELBのコンソールを開きます。
正確に言えば、EC2 > ロードバランサー ですね。
今回は443ポートのリスナールールで設定を行いたかった為、以下画像で赤線を引いている箇所から設定をしていきます。

リスナー画面から、ルールを管理を押下して編集画面に入ります。

編集画面左上の追加や編集ボタンから、以下のように設定を行いました。

ELBのリスナー変更には若干のタイムラグがありますので、飲み物でも取りに行ってから再度確認してみましょう。
まとめ
- www. 有り無し のリダイレクトを行いたい場合、ELBで実施することも一つの選択肢
- プログラム等を挟みたいのでなければ、Webサーバーで実施するよりはメリットがある(かもしれない)
- Webブラウザで完結できるので、操作自体は簡単に導入できる
その他にもあるかもしれないですが、主にはこの辺りでしょうか。
もっと効率的・効果的な手法もあるかもしれないので、何かアップデートできる要素が見つかった場合には再度投稿したいと思います。