DNS サービスプロバイダーで CNAME レコードを追加し、カスタムドメイン名を ALB インスタンスの DNS 名にマッピングします。 domain name service upgrade 以降、新しい ALB インスタンスは DNS 名で直接アクセスできません。
ALB の DNS 名 (例:alb-xxxx.alb.aliyuncsslb.com) をビジネスの直接アクセスアドレスとして使用しないでください。
ALB の DNS 名に直接アクセスするとセキュリティメカニズムが作動し、
403エラー、拒否ページ、または aliyun.com のリダイレクトページが返されます。一部のローカル環境または特定のネットワーク環境では、テストポリシーにより直接アクセスできる場合があります。これは、本番環境で利用できる設定であることを示すものではありません。
CNAME レコードの設定と検証
ALB コンソールに移動し、対象のインスタンスを見つけ、ドメイン名 列からその DNS 名をコピーします。
DNS サービスプロバイダーで DNS レコードを追加します。この例では Alibaba Cloud DNS を使用します。
Alibaba Cloud DNS コンソールに Alibaba Cloud で登録していないドメイン名を追加して、Alibaba Cloud DNS で管理できます。
Alibaba Cloud DNS コンソールのパブリックゾーンページに移動します。 対象のドメイン名をクリックして解決設定 ページを開き、Add Record をクリックします。
以下の設定で CNAME レコードを構成し、OK をクリックします。
[レコードタイプ]:[CNAME] を選択します。
[Hostname]:カスタムドメイン名のプレフィックスを入力します。たとえば、カスタムドメイン名が
www.example.comの場合は、wwwを入力します。[Query Source]:デフォルト値の [Default] のままにします。この設定により、すべての DNS リクエストにレコードが適用されます。
[TTL]:TTL (Time-to-Live) は、DNS リゾルバーがレコードをキャッシュする期間を指定します。TTL 値を低くすると、変更がより早く反映されます。
[レコード値]:先ほどコピーした ALB インスタンスの DNS 名を貼り付けます。
レコード追加時に DNS レコードの競合 を解消するには、競合しているレコードを削除するか、別のホスト名を使用してください。
カスタムドメイン名が ALB インスタンスを指していることを確認します。
ローカルコンピューターでコマンドラインターミナルを開き、
ping <custom_domain_name>またはdig <custom_domain_name>を実行します。出力に ALB インスタンスの DNS 名 (例:
alb-xxxx.<region-id>.alb.aliyuncsslb.com) が含まれていれば、CNAME レコードは有効です。注:新しい CNAME レコードはほぼ即時に反映されます。ただし、既存レコードの変更は、DNS サーバーが TTL の有効期限が切れるまでキャッシュされたレコードに従うため、伝播に時間がかかる場合があります。
よくある質問
CNAME レコードを使用すべきですか。それとも、A レコードで ALB の IP (EIP/VIP) を直接指定すべきですか。
CNAME レコードの使用を強く推奨します。カスタムドメイン名を ALB インスタンスの DNS 名にポイントします。ALB は、有効化されている各アベイラビリティーゾーンに独立したアドレスを持ちます (パブリックインスタンスの場合は各ゾーンにバインドされた Elastic IP アドレス (EIP)、プライベートインスタンスの場合は各ゾーンのプライベート VIP)。CNAME レコード経由で ALB にアクセスすると、DNS 解決ごとに現在 正常なアドレスセットが返されます。アベイラビリティーゾーンで障害が発生した場合、ALB は DNS の自動切り離しによってそのゾーンのアドレスを解決結果から除外し、ゾーンレベルの自動ディザスタリカバリ を提供します。
固定 IP アドレスが必要な特別なシナリオに限り、A レコードで特定の ALB アドレスを指定してドメイン名をポイントします。
パブリックアクセス:対象のアベイラビリティーゾーンにバインドされた EIP に解決します。
内部アクセス:対象のアベイラビリティーゾーンのプライベート VIP に解決します。
各アベイラビリティーゾーンの EIP と VIP アドレスは、インスタンス詳細ページのアベイラビリティーゾーン領域で確認してコピーできます。
A レコードで直接解決を行う場合は、次の制限事項に注意してください。
アドレスは単一のアベイラビリティーゾーンに対応するため、ゾーン間のトラフィック分散のメリットを得られません。
そのアベイラビリティーゾーンで障害が発生した場合、ALB の DNS の自動切り離しは固定 A レコードには 適用されないため、トラフィックが中断します。独自にアドレスのヘルスチェックとフェールオーバーを実装する必要があります。
EIP/VIP アドレスが変更された場合 (例:バインド解除、リリース、支払い遅延による回収、またはアベイラビリティーゾーンの調整)、DNS レコードを 手動で更新する必要があります。更新しない場合、アクセスに失敗します。
内部ネットワークからパブリック ALB インスタンスにアクセスするにはどうすればよいですか。
内部ネットワークからパブリック ALB インスタンスにアクセスするには、内部 DNS の設定が必要です。内部 DNS サーバーで、カスタムドメイン名が ALB インスタンスのプライベート IP アドレスを指すように名前解決レコードを手動で追加する必要があります。
PrivateZone の設定:PrivateZone は ALB インスタンスを自動的に認識しません。PrivateZone で、パブリック向けのカスタムドメイン名と同じドメイン名を使用して A レコードを手動で追加し、ALB のプライベート IP アドレスにポイントしてください。手順については、「Quick start for Private Zone」をご参照ください。
オンプレミス DNS の設定:内部ネットワーク経由で ALB にアクセスする必要がある環境で、セルフマネージド DNS サーバーを使用している場合は、そのサーバーにも同じ A レコードを設定し、ALB のプライベート IP アドレスにポイントしてください。
この設定を完了すると、内部トラフィックはプライベートネットワーク経由で ALB に直接到達できます。
dig が想定と異なる数の IP アドレスを返す場合はどうすればよいですか。
dig <custom_domain_name> が想定より少ない IP アドレスを返す場合、サードパーティ DNS サーバーのキャッシュまたはスケジューリングポリシーが原因である可能性があります。この原因を切り分けるには、Alibaba Cloud Public DNS (223.5.5.5) または Google Public DNS (8.8.8.8) を使用して再テストしてください。
dig <custom_domain_name> @223.5.5.5関連ドキュメント
同じ ALB インスタンスを使用して、異なるドメイン名からのリクエストを異なるバックエンドサーバーに転送する方法については、次のドキュメントをご参照ください。