LINEで送る
Pocket

[AWS]ALBだけで別ドメインにリダイレクトする

AWSのロードバランサー(ALB)リダイレクトができるブログを以前書いたと思いますが、今回リスナールールにTerraformで追加したことがなかったので、試しに以下のように書いたところ!

Error: Error modifying LB Listener: InvalidLoadBalancerAction: You cannot specify multiple of the following action type: ‘redirect’
status code: 400, request id: xxxxxxxxxxxxxxxxx
on elb.tf line 34, in resource “aws_alb_listener” “adachin-app”:
34: resource “aws_alb_listener” “adachin-app” {

次のアクションタイプを複数指定することはできません: ‘redirect’

そもそも、リスナーのIFのホストヘッダーがterraformの項目にないし、redirectを複数書けないとエラーが出たので、これはコード化できないのか…と思いきや aws_lb_listener_rule を使って実装できたのでブログします。見てるところが違った!


■やりたいこと

  • http,https共に www.adachin.com にアクセスしたら adachin.com にリダイレクトする

■Resource: aws_lb_listener_rule

https://www.terraform.io/docs/providers/aws/r/lb_listener_rule.html

arnでlistenerと紐つけるだけなので、複雑な処理も余裕で書ける!


■elb.tf

今回追加したのは 50,84行目 でhttpとhttpsの2つに追加しています。しかし host_header は最後に追加するんですな。コンソールだと一番左(host_header)に追加するので慣れない。 conditionをredirectの上に持ってくれば見やすそうだけど、動くのか…(検証してない)

  • 確認


■まとめ

Nginxに余計な設定は書かずにALBで管理できるのは非常に良き!サブドメインくらいのリダイレクトならバシバシALBでやりましょう!危うく手動で管理するところだった。。

LINEで送る
Pocket

カテゴリー: AWSTerraform

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社のインフラをECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください