EC2インスタンスの前にCloudfrontをどのようにセットアップしますか?ユーザーがEC2 OriginではなくCloudfrontのURLにアクセスすることに興味があります。
したがって、ec2-52-64-xxx-xxx.ap-southeast-2.compute.amazonaws.comを押す代わりに、d111111abcdef8.cloudfront.netをヒットします。
私の意図は、EC2インスタンスのトラフィックとCPUの負荷を減らすことでホスティングの費用を節約し、海外のユーザーにロード時間を短縮することです。
DNSをEC2オリジンではなくCloudfront URLにポイントするだけですか?
DNSをEC2オリジンではなくCloudfront URLにポイントするだけですか?
かなり。
技術的には、DNSをURLではなく、ホスト名またはIPアドレスにポイントします。これは、CloudFrontでは少し異なります。
ただし、CloudFrontディストリビューション設定では、CloudFrontがブラウザから送信されると予想するホスト名を[代替ドメイン名]ボックスで構成する必要があります。
起点として、ec2-...-compute.amazonaws.com
ホスト名。
この時点で、10〜15分後、CloudFrontが割り当てたURLにアクセスすると、サーバーに移動します。
次に... DNSがRoute 53でホストされている場合は、ホストゾーンに移動して、それらのホスト名の新しい「A」レコードを作成し、「エイリアス」を「はい」に設定すると、ターゲットボックスがCloudFrontディストリビューションが入力されます。これを選択して、レコードを保存します。
DNSがRoute 53でホストされていない場合は、代わりに、DNSにCNAME
レコードを作成し、CloudFrontディストリビューションに割り当てられたホスト名をポイントします。 jozxyqkexample.cloudfront.net
。ここでの問題は、CNAME
が有効ではないため、ドメインのapex/rootを使用してこれを実行できないことです。そのため、www.example.comは機能しますが、例です。 comはしません。これはDNSの制限であり、CloudFrontと内部統合されているため、DNSにRoute 53を使用することが唯一の回避策です(したがって、CNAMEなどの外部参照ではなく内部参照を使用する上記の「エイリアス」レコード) )。
Host
ヘッダーをオリジンサーバーに転送するようにCloudFrontを構成することもできます。そうでない場合、リクエストが到着すると、HTTPリクエストでサーバーに提示されるホスト名はドメイン名ではなく、代わりにオリジンホストとして構成したホスト名になります。
CloudFrontを介して接続する場合、サーバーがEC2のホスト名またはIPにリダイレクトしないことを確認してください(ブラウザーのアドレスバーが変更された場合は変更されます)。Webサーバーの構成を修正する場合は、発生します)。
以下のステップを使用して、ec2-52-64-xxx-xxx.ap-southeast-2.compute.amazonaws.comをd111111abcdef8.cloudfront.netにルーティングします。
以下の手順に従ってください:
AwsコンソールにログインしてCloudFrontを検索します
CloudFrontに移動します:ディストリビューションを作成します(Webディストリビューションを選択してください)
注:カスタムSSL証明書の場合(証明書はus-east-1リージョンにある必要があります)。
OriginのIPでエラーが発生します:com.amazonaws.services.cloudfront.model.InvalidArgumentException:パラメータOriginの名前をIPアドレスにすることはできません。 (サービス:AmazonCloudFront;ステータスコード:400;エラーコード:InvalidArgument;
AWSドキュメントにはIPを使用できると記載されていますが。
Originが「504エラーリクエストを処理できませんでした」というパブリックDNS(IPv4)
OriginがS3であり、S3の権限が制限されている場合、これが発生しました。ただし、EC2には権限制御がありません。それは公開されています。