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 が生成したドメイン名に解決します。ただし、これは CNAME レコードでカスタムドメイン名を 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のアカウントで利用できます。

AWS Certificate Manager (ACM) に独自の SSL/TLS 証明書がない場合は、カスタムドメイン名を設定する前に証明書を作成またはインポートできます。ただし、証明書はカスタムドメイン名を使用して HTTPS リクエストを処理する場合のみ必要です。詳細については、「VPC Lattice の独自の証明書を使用する (BYOC)」を参照してください。

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

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

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

Route 53 を使用している場合は、まずホストゾーンを作成する必要があります。ホストゾーンには、ドメインのインターネット上のトラフィックをルーティングする方法に関する情報が含まれています。プライベートホストゾーンまたはパブリックホストゾーンを作成したら、カスタムドメイン名 (例: parking.example.com) が VPC Lattice の自動生成ドメイン名 (例: my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws) にマッピングされるように CNAME レコードを作成します。このマッピングがないと、カスタムドメイン名は VPC Lattice で機能しません。詳細については、「Amazon Route 53 デベロッパーガイド」の「Amazon Route 53 コンソールを使用したレコードの作成」を参照してください。さらに、以下の手順を参照してホストゾーンと CNAME レコードを作成し、カスタムドメイン名を VPC Lattice エンドポイントにマッピングすることもできます。

Amazon Route 53 コンソールを使用して CNAME レコードでプライベートホストゾーンまたはパブリックホストゾーンを作成するには
  1. Route 53 コンソール (https://console.aws.amazon.com/route53/) を開きます。

  2. ナビゲーションペインで、[ホストゾーン] を選択し、次に [ホストゾーンの作成] を選択します。

  3. [ドメイン名] には、VPC Lattice サービスへのトラフィックのルーティングに使用するホストゾーンの名前を選択します。例えば、カスタムドメイン名が parking.example.com (http://parking.example.com/) の場合、ホストゾーンのドメイン名は example.com (http://example.com/) となり、apex ドメイン名とも呼ばれます。次に、このホストゾーンの CNAME レコードを作成し、トラフィックを VPC Lattice サービスにルーティングできます。注意: 作成後にホストゾーンの名前を変更することはできません。

  4. [タイプ] には、必要に応じて [プライベートホストゾーン] または [パブリックホストゾーン] を選択します。

  5. [リージョン] を選択し、このホストゾーンに関連付ける VPC の [VPC ID] を選択します。

  6. 必要に応じてタグを追加し、[ホストゾーンの作成] を選択します。作成後、ホストゾーンは [ホストゾーン] に表示されます。

  7. 作成したホストゾーンに CNAME レコードを作成するには、ホストゾーンを選択し、[レコードを作成] を選択します。

  8. [レコードを作成] で次の値を指定します。

    1. [レコード名] には、カスタムドメイン名として使用する名前を入力します。parking.example.com (http://acme.example.com/) をカスタムドメイン名として使用する場合は、「parking*」と入力します。つまり、サブドメイン名 parking は入力しますが、ホストゾーンのドメイン名 example.com (http://example.com/) は入力しません。

    2. [レコードタイプ] には、[CNAME] を選択します。

    3. [エイリアス] はオフのままにしておきます。

    4. [値] には、VPC Latticeが生成したサービスのドメイン名を入力します (例: my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws)。この自動生成ドメイン名は、サービスページの VPC Lattice コンソールで確認できます。を使用する場合 AWS CLI、 create-serviceまたは list-services コマンドの出力はこの自動生成されたドメイン名を返します。

    5. [TTL (秒)] には、デフォルト値の 300 をそのまま使用します。

    6. [ルーティングポリシー] では、該当するルーティングポリシーを選択します。詳細については、「Amazon Route 53 デベロッパーガイド」の「ルーティングポリシーの選択」を参照してください。

  9. [レコードを作成] を選択します。

    通常、変更は 60 秒以内にすべての Route 53 サーバーに伝播されます。伝播が完了すると、カスタムドメイン名を使用してトラフィックをサービスにルーティングできるようになります。

を使用してホストゾーンにエイリアスレコードを作成するには 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 } } } ] }