質問: ■質問 リクエスト時のhoge.com配下のパスによって、AWSのALBかXServerかにリクエストを振り分けるようにしたい。どうやるのがよいか? ■状況 - hoge.comというドメインを所有 - hoge.com配下のパスによって、AWSのALBかXServerかにリクエストを振り分けるようにしたい - 今はhoge.comがXserverに行くようにDNS設定している ■AWS ALB └TG-EC2(サービスA with Rails) └TG-EC2(サービスB with Rails) * * ■Xserver Xserver(サービスC with WP) ■困っていること - Xserverでリバースプロキシが設定できないので、AWS側にリクエストをもってこれない - AWSのALBをリクエストの一次請けにしようにも、ALBからXserverにはリクエストを転送できない ■補足 別サービスなら、そもそもサブドメインをきればいいじゃん、という話もあると思います。 それも含めてアドバイスいただけると助かります
回答: ご認識のとおり、ALBのターゲットはEC2になるため、Xserverへリクエストを直接転送することはできません。 XserverへnginxなどでプロキシするEC2を用意すれば可能ですが、だったらXserver使わなければいいのではという感じでメリットが無いと思います。 AWSのサービスとして実現可能な構成としてはCloudFrontを利用する形となります。 * CloudFrontのWebディストリビューションを作成。CNAMEに `hoge.com` を設定 * オリジンを2つ作成 + ALBを指したもの + Xserverを指したもの * ビヘイビアで、パスに応じて、ALBとXserverに向ける 注意点としては、デフォルトだとCloudFront側のキャッシュが有効になるので、コンテンツの特性に応じてキャッシュを無効にしたり、必要なヘッダを転送するよう設定する必要があります。 > > 別サービスなら、そもそもサブドメインをきればいいじゃん、という話もあると思います。 > > > サブドメインを切ればDNSだけで設定できるので悩むことはないですが、すでに稼働しているサービスだと、SEOの観点で、リダイレクト設定などを行う必要がありそうです。 新規であれば、分けてしまうほうが楽だとは思います。