ロードバランサーなしで Cloudflare、カスタムドメイン、SSL、Elastic Beanstalk を設定する方法

ロードバランサーなしで Cloudflare、カスタムドメイン、SSL、Elastic Beanstalk を設定する方法

背景調査

現在、自分のプロジェクトのインフラストラクチャを仕上げているところですが、SSL 証明書のインストールに関してちょっとした問題があることに気付きました。Web 上で広範囲に調査しましたが、多くの記事が互いに矛盾しているようで、ここで質問を投稿するのが最善だと思いました...

私のセットアップ

私の現在の設定は次のとおりです (関連部分のみ)。

  • Route 53 によって管理されるカスタムドメイン DNS (注記- 代わりにこれを Cloudflare に移行するつもりです)
  • アプリケーションはElastic Beanstalkサービス(それなしロードバランサー)
  • www.example.com転送先example.com- これはDNS管理に関係する

私の問題

複数の質問を別々に投稿することも考えましたが、それぞれの質問が互いに関連しているため、1 つにまとめるのが最善だと考えました。私が達成したいことは次のとおりです。

  • カスタムドメインへの書き換え/リダイレクト{subdomain}.elasticbeanstalk.com(さまざまな理由でElastic Beanstalkドメインを非表示にしたい)
  • Cloudflare から DNS を管理します (環境が再構築されると変更されるため、Elastic IP を指定するのは躊躇します)
  • すべてのリクエストが HTTPS で処理されることを確認します (Cloudflare がカスタム ドメインに対してこれを処理します)

私の質問(および提案された解決策)

  1. Elastic Beanstalk ドメインを自分のカスタム ドメインに書き換えたりリダイレクトしたりすることは可能ですか? Web サーバー (Apache) が EB ドメインを期待しているため、これは実行できないと思います...
  2. もし1.できない場合、ロードバランサーなしでEBインスタンスでSSLを有効にするか、外部からのアクセスを防止する方法はありますか(カスタムドメインの書き換えを許可したまま、それはできないと思います...)。つまり、EBインスタンスがパブリックにアクセス可能であれば、しなければならないSSL を強制します。これを実現する唯一の方法は、.ebextensions に Apache 構成を追加することだと思います...
  3. Cloudflare が管理する DNS から A レコードを転送するために、EB に関連付けられた Elastic IP を利用できますか?

追加情報

クラウドフレア

私は長年、構築したサイトのコンテンツをさらに最適化するために Cloudflare を使ってきました。こうした最適化の多くはサーバー上で自分で行うことができますが (私もそうしています)、Cloudflare は訪問者とサーバーの間の「仲介者」として非常に役立つ、さまざまな追加機能を提供しています。Cloudflare のメリットを得るには、DNS を Cloudflare で管理する必要があるため、私は Route 53 から移行しました。

エラスティックIP

Elastic IP が変更される可能性があると考える理由は、Elastic Beanstalk が「環境」を再構築する必要がある場合、すべてのサービスを削除して再構築するからです。環境を再構築する必要はほとんどないと思いますが、継続的なメンテナンスについて考慮しなければならないことがもう 1 つあるということです。

関連情報