CloudflareでAmazon API Gatewayエンドポイントを指すようにCNAMEを設定しようとしています。 CNAMEは、私のサブドメインの1つを参照するときに使用します。ゲートウェイは、次にDigitalOcean上のサーバーのIPを指します。私はアマゾンウェブサービスは初めてなので、誰かがDNS、Amazonゲートウェイ、Cloudfrontの正しい構成の概要を教えていただければ幸いです(Amazonの外部のDNSサーバーにゲートウェイを公開するために必要だと思います)。どんな助けでも大歓迎です。
[〜#〜] update [〜#〜]
私はこれにしばらくの間行っており、あまり進歩していません。これが実行可能なアプローチであるか、または他にどのように行われる可能性があるか、誰にもアイデアがありますか?
PDATE2
CNAMEレコードをcloudFlareに追加する必要があると思いましたが、リダイレクトループになりました。
curl -L -i -v https://sub.mydomain.com/
APIゲートウェイドメインでCloudflareをポイントし、それを1日に呼び出すだけでは機能しない理由はいくつかあります。
api.yourdomain.com
がAPIに属していることを知る方法はありません。https
を使用する必要がありますが、使用する証明書はデフォルトドメインに対してのみ有効です。ただし、解決策があります。これを最近設定したときに従った手順は次のとおりです。
us-east-1
リージョンの証明書をAWS証明書マネージャーにインポートします。証明書チェーンの入力を求められたら、それを here からコピーできます。それでおしまい。カスタムドメインから提供される新しい高可用性APIをお楽しみください!
CloudFlareを使用してAmazonのAPI Gatewayカスタムドメインをセットアップする
AWS管理コンソールでAPI Gatewayサービスに移動し、左側のメニューからCustom Domain Names
を選択します。
Create
ボタンをクリックします。
CloudFlareにログインし、ドメインを選択してCrypto
タブを開きます
SSL
に移動し、SSLモードを「フル(厳格)」に設定して、リダイレクトループを回避します。
Origin Certificates
に移動し、Create Certificate
をクリックします
CloudFlareに秘密鍵とCSRを生成させ、秘密鍵の種類としてRSAを選択します
カスタムAPIドメインのホスト名がカバーされていることを確認してください。 (例:api.mydomain.com
。このカスタムドメインを具体的に設定するか、デフォルトで設定されている* .mydomain.comなどのワイルドカードを使用できます。
デフォルトで選択されているキー形式としてPEM
を選択します。
AWSでリージョンUS-EAST-1
に切り替えて、Certificate Manager
に移動します。
Import a Certificate
をクリックします。
CloudFlare証明書の証明書本体を、AWSマネジメントコンソールのカスタムドメインの構成に証明書本体にコピーします。
コンソールの証明書秘密鍵フィールドに秘密鍵をコピーします
証明書チェーンで、Cloudflare Origin CA-RSA Rootをコピーします。これは here です。
AWSコンソールでカスタムドメイン名と証明書の名前を入力します
これで、AWS CloudFrontにカスタムドメイン名が作成されます。ドメインがアクティブになるまで最大1時間かかる場合があります。
次に行う必要があるのは、AWSコンソールでカスタムドメインのマッピングを設定することです。
最後のステップは、CloudFlareで新しいCNAME Record
を作成して、ドメインをCloudFront URLにリンクすることです。 AWSコンソールでカスタムドメインの設定ページを開いたら、Distributionドメイン名をコピーします。これは、新しいCNAME Record
を作成するときに使用する必要があるドメインです。
この質問に対する既存の回答はどちらも正しいですが、これらの指示を完全に実行しても問題が解決しない場合は、API Gateway設定に進み、「カスタムドメイン名」に移動して、ベースパスマッピングを構成します。
これは、私のすべての問題を解決した欠落しているステップでした。