VPC Lattice サービスのカスタムドメイン名を設定する - Amazon VPC Lattice

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

VPC Lattice サービスのカスタムドメイン名を設定する

新しいサービスを作成すると、VPC Lattice は次の構文でサービスの一意の完全修飾ドメイン名 (FQDN) を生成します。

service_name-service_id.partition_id.vpc-lattice-svcs.region.on.aws

ただし、VPC Lattice が提供するドメイン名は、ユーザーが覚えやすいものではありません。カスタムドメイン名は、ユーザーに提供できる、よりシンプルで直感的な URL です。VPC Lattice が生成した DNS 名ではなく、www.parking.example.com のようなカスタムドメイン名をサービスに使用する場合は、VPC Lattice サービスを作成するときに設定できます。クライアントがカスタムドメイン名を使用してリクエストを行うと、DNS サーバーが VPC Lattice が生成したドメイン名に解決します。

前提条件

  • サービス用に登録されたドメイン名が必要です。ドメイン名をまだ登録していない場合は、Amazon Route 53 やその他の商用レジストラから登録できます。

  • HTTPS リクエストを受信するには、 AWS Certificate Managerで独自の証明書を提供する必要があります。VPC Lattice はフォールバックとしてデフォルト証明書をサポートしていません。そのため、カスタムドメイン名に対応する SSL/TLS 証明書を提供しない場合、カスタムドメイン名への HTTPS 接続はすべて失敗します。詳細については、「VPC Lattice の独自の証明書を使用する (BYOC)」を参照してください。

制約事項と考慮事項

  • 1 つのサービスに複数のカスタムドメイン名を設定することはできません。

  • サービスの作成後にカスタムドメイン名を変更することはできません。

  • カスタムドメイン名は、サービスネットワークごとに一意である必要があります。つまり、同じサービスネットワーク内に (別のサービス用の) 既存のカスタムドメイン名を使用してサービスを作成することはできません。

次の手順は、サービスのカスタムドメイン名を設定する方法を示しています。

AWS Management Console
サービスのカスタムドメイン名を設定するには
  1. Amazon VPC コンソールの https://console.aws.amazon.com/vpc/ を開いてください。

  2. ナビゲーションペインの [VPC Lattice] で、[サービス] を選択します。

  3. [サービスを作成] を選択します。[ステップ 1: サービスを作成する] に移動します。

  4. [カスタムドメイン設定] セクションで、[カスタムドメイン設定を指定] を選択します。

  5. カスタムドメイン名を入力します。

  6. HTTPS リクエストを処理するには、[カスタム SSL/TLS 証明書] でカスタムドメイン名と一致する SSL/TLS 証明書を選択します。証明書がまだない場合、または今すぐ追加しない場合は、HTTPS リスナーの作成時に証明書を追加できます。ただし、証明書がないと、カスタムドメイン名は HTTPS リクエストを処理できません。詳細については、「HTTPS リスナーの追加」を参照してください。

  7. サービスを作成するためのその他の情報をすべて追加し終えたら、[作成] を選択します。

AWS CLI
サービスのカスタムドメイン名を設定するには

create-service コマンドを使用します。

aws vpc-lattice create-service --name service_name --custom-domain-name your_custom_domain_name --type https --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

上記のコマンドの --name にサービスの名前を入力します。--custom-domain-name には、parking.example.com などのサービスのドメイン名を入力します。--certificate-arn には、ACM の証明書の ARN を入力します。証明書 ARN は、 AWS Certificate Managerのアカウントで利用できます。

カスタムドメイン名をサービスに関連付ける

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

次に、ドメインレジストラなどの DNS サービスを使用して、クエリをサービスにルーティングするレコードを作成します。詳細については、DNS サービスのドキュメントを参照してください。前出と別に、DNS サービスとして Route 53 を使用する方法もあります。

Route 53 を使用している場合は、エイリアスレコードまたは CNAME レコードを使用して、クエリをサービスにルーティングできます。ゾーン頂点とも呼ばれる DNS 名前空間の上部ノードにエイリアスレコードを作成できるため、エイリアスレコードを使用することをお勧めします。

Route 53 を使用している場合は、まずホストゾーンを作成する必要があります。ホストゾーンには、ドメインのインターネット上のトラフィックをルーティングする方法に関する情報が含まれています。プライベートホストゾーンまたはパブリックホストゾーンを作成したら、 などのカスタムドメイン名が parking.example.comなどの VPC Lattice 自動生成されたドメイン名にマッピングされるようにレコードを作成しますmy-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws。このマッピングがないと、カスタムドメイン名は VPC Lattice で機能しません。

次の手順は、Route 53 を使用してプライベートホストゾーンまたはパブリックホストゾーンを作成する方法を示しています。

AWS Management Console

Route 53 を使用してサービスにクエリをルーティングするエイリアスレコードを作成するには、「Amazon VPC Lattice サービスドメインエンドポイントへのトラフィックのルーティング」を参照してください。

my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws など、サービスの VPC Lattice 生成ドメイン名を使用します。この自動生成されたドメイン名は、サービスページの VPC Lattice コンソールにあります。

AWS CLI
ホストゾーンにエイリアスレコードを作成するには
  1. get-service コマンドを実行して、VPC Lattice が生成したサービスのドメイン名 (例: my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws) とホストゾーン ID を取得します。

  2. エイリアスを設定するには、以下のコマンドを使用します。

    aws route53 change-resource-record-sets --hosted-zone-id hosted-zone-id-for-your-service-domain --change-batch file://~/Desktop/change-set.json

    change-set.json ファイルは、次の JSON 例の内容で JSON ファイルを作成し、ローカルマシンに保存します。上記のコマンドの file://~/Desktop/change-set.json を、ローカルマシンに保存されている JSON ファイルのパスに置き換えます。次の JSON の "Type" は A または AAAA レコードタイプであることに注意してください。

    { "Comment": "my-service-domain.com alias", "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "my-custom-domain-name.com", "Type": "alias-record-type", "AliasTarget": { "HostedZoneId": "hosted-zone-id-for-your-service-domain", "DNSName": "lattice-generated-domain-name", "EvaluateTargetHealth": true } } } ] }