Elastic Load Balancing
クラシックロードバランサー

Classic Load Balancer のカスタムドメイン名を設定する

Classic Load Balancerは、それぞれデフォルトのドメインネームシステム (DNS) 名を受け取ります。この DNS 名には、ロードバランサーが作成される AWS リージョンの名前が含まれています。たとえば、米国西部 (オレゴン)リージョンで my-loadbalancer という名前のロードバランサーを作成した場合、そのロードバランサーは my-loadbalancer-1234567890.us-west-2.elb.amazonaws.com などの DNS 名を受け取ります。インスタンスでウェブサイトにアクセスするには、ウェブブラウザーのアドレスフィールドにこの DNS 名を貼り付けます。ただし、この DNS 名は顧客が簡単に記憶して使用できる名前ではありません。

ロードバランサーのデフォルトの DNS 名を www.example.com などの覚えやすい DNS 名にするには、カスタムドメイン名を作成し、ロードバランサーの DNS 名に関連付けます。このカスタムドメイン名を使用してクライアントがリクエストを生成すると、DNS サーバーがロードバランサーの DNS 名に解決します。

カスタムドメイン名とロードバランサー名の関連付け

まず、まだドメイン名を登録していない場合は、ドメイン名を登録します。インターネットのドメイン名は、Internet Corporation for Assigned Names and Numbers (ICANN) によって管理されています。ドメイン名は、ドメイン名のレジストリを管理する ICANN 認定機関であるドメイン名レジストラを使用して登録します。レジストラのウェブサイトで、ドメイン名の登録に関する詳細な手順と料金情報を確認します。詳細については、以下のリソースを参照してください。

次に、ドメインレジストラなどの DNS サービスを使用して、ロードバランサーにクエリをルーティングするために CNAME レコードを作成します。詳細については、DNS サービスのドキュメントを参照してください。

また、DNS サービスとして Route 53 を使用できます。ドメインのインターネット上でトラフィックをルーティングする方法に関する情報を含むホストゾーンと、ドメイン名のクエリをロードバランサーにルーティングするエイリアスリソースレコードセットを作成します。Route 53 では、エイリアスレコードセットの DNS クエリには課金されません。エイリアスレコードセットを使用して、ドメインの Zone Apex (例: example.com) のロードバランサーに DNS クエリをルーティングできます。既存のドメインの DNS サービスを Route 53 に移行する方法については、『Amazon Route 53 開発者ガイド』の「DNS サービスとして Route 53 を設定」を参照してください。

Route 53 を使用してドメインのホストゾーンとエイリアスレコードセットを作成するには

  1. https://console.aws.amazon.com/route53/ にある Route 53 コンソールを開きます。

  2. Route 53 を初めて使用する場合は、ウェルカムページが表示されるので、そこで [DNS Management] の下の [Get Started Now] を選択します。それ以外の場合は、ナビゲーションペインで [Hosted Zones] を選択します。

  3. [Create Hosted Zone] を選択します。

  4. [Create Hosted Zone] で、以下の作業を行います。

    1. [Domain Name] にドメイン名を入力します。

    2. デフォルトのタイプであるパブリックホストゾーンのままにし、オプションでコメントを入力します。

    3. [Create] を選択します。

  5. 前の手順でお客様のドメイン用に作成したホストゾーンを選択します。

  6. [Go to Record Sets] を選択します。

  7. [Create Record Set] を選択します。

  8. [Create Record Set] で以下の作業を行います。

    1. デフォルト名のままにしておきます。これはドメインの名前です。

    2. [Type] で [A — IPv4 address] を選択します。

    3. [Alias] で [Yes] を選択します。エイリアスにより、Route 53 はドメイン名を AWS リソース (ロードバランサーなど) と関連付けることができます。

    4. [Alias Target] を選択します。リストからロードバランサーを選択します。dualstack プレフィックスが自動的に追加されます。

    5. [Routing Policy] で、[Simple] を選択します。

    6. [Evaluate Target Health] は [No] に設定されたままにしておきます。

    7. [Create] を選択します。

Load Balancer に対する DNS フェイルオーバーの設定

Route 53 を使用して DNS クエリをロードバランサーにルーティングする場合は、Route 53 を使用してロードバランサーに DNS フェイルオーバーを設定することもできます。フェイルオーバー設定では、ロードバランサーに登録された EC2 インスタンスのヘルスチェックが Route 53 によって行われ、利用可能かどうかが判断されます。ロードバランサーに正常な EC2 インスタンスが登録されていない場合、またはロードバランサー自体で不具合が発生した場合、Route 53 は、正常なロードバランサーや Amazon S3 の静的ウェブサイトなどの利用できる別の正常なリソースにトラフィックをルーティングします。

たとえば、www.example.com 用のウェブアプリケーションがあり、異なるリージョンにある 2 つのロードバランサーの背後で冗長なインスタンスを実行するとします。トラフィックを主に 1 つのリージョンのロードバランサーにルーティングし、もう 1 つのリージョンのロードバランサーは不具合発生時のバックアップとして使用したいと考えています。DNS フェイルオーバーを設定する場合は、プライマリおよびセカンダリ (バックアップ) ロードバランサーを指定できます。Route 53 は、プライマリロードバランサーが利用可能なときにはプライマリロードバランサーにトラフィックをルーティングし、利用できないときにはセカンダリロードバランサーにルーティングします。

Route 53 を使用して 2 つのロードバランサーの DNS フェイルオーバーを設定するには

  1. https://console.aws.amazon.com/route53/ にある Route 53 コンソールを開きます。

  2. ナビゲーションペインで [Hosted Zones] を選択します。

  3. ホストゾーンを選択します。

  4. [Go to Record Sets] を選択します。

  5. [Create Record Set] を選択します。

  6. [Name] のデフォルト値は、ドメインの名前 (例: example.com) です。サブドメインの DNS クエリ (例: www.example.com) をロードバランサーにルーティングするには、サブドメインの名前を入力します。

  7. [Type] で [A - IPv4 address] を選択します。

  8. [Alias] で [Yes] を選択します。

  9. [Alias Target] では、プライマリロードバランサーを選択します。dualstack プレフィックスが自動的に追加されます。

    [Alias Hosted Zone ID] の値は、選択したロードバランサーに基づいています。

  10. [Routing Policy] で [Failover] を選択します。

  11. [Failover Record Type:] で [Primary] を選択します。

  12. レコードセットの ID を [Set ID] に入力するか、デフォルト値を使用します。

  13. [Evaluate Target Health] で [Yes] を選択します。

  14. [Associate with Health Check] で [No] を選択します。

  15. [Create] を選択します。

  16. 同じ手順に従って、セカンダリロードバランサーのエイリアスレコードセットを作成します。ただし、以下の点が異なります。

    • [Alias Target] では、セカンダリロードバランサーを選択します。

    • [Failover Record Type] では、[Secondary] を選択します。

    • [Evaluate Target Health] では、[Yes] を選択します。これにより、セカンダリロードバランサーの状態が評価されます。セカンダリロードバランサーで不具合が発生した場合、Route 53 はプライマリロードバランサーにトラフィックをルーティングします。[No] を選択した場合、Route 53 はプライマリロードバランサーで不具合が発生するとセカンダリロードバランサーの状態を評価することなく正常であると想定し、セカンダリロードバランサーにトラフィックをルーティングします。

詳細については、Amazon Route 53 開発者ガイド の「Route 53 のフェイルオーバー (アクティブ/アクティブとアクティブ/パッシブ) の設定」を参照してください。

ドメイン名とロードバランサーの関連付けの解除

ロードバランサーインスタンスからドメイン名の関連付けを解除するには、まずホストゾーンのリソースレコードセットを削除してから、ホストゾーンを削除します。詳細については、『Amazon Route 53 開発者ガイド』の「リソースレコードセットの作成、変更、および削除」と「ホストゾーンの削除」を参照してください。