

# API Gateway でカスタムドメイン名を別の API エンドポイントタイプに移行する
<a name="apigateway-regional-api-custom-domain-migrate"></a>

 エッジ最適化のエンドポイントとリージョン別エンドポイントの間で、カスタムドメイン名を移行できます。パブリックカスタムドメイン名をプライベートカスタムドメイン名に移行することはできません。まず、新しいエンドポイント設定タイプをカスタムドメイン名の既存の `endpointConfiguration.types` リストに追加します。次に、カスタムドメイン名が、新しくプロビジョンされたエンドポイントを参照するように、DNS レコードを設定します。最後に、古いカスタムドメイン名のエンドポイントを削除します。

## 考慮事項
<a name="apigateway-regional-api-custom-domain-migration-considerations"></a>

リージョン別 API エンドポイントとエッジ最適化 API エンドポイントの間でカスタムドメインを移行する際の考慮事項は、以下のとおりです。
+ エッジ最適化カスタムドメイン名には、米国東部 (バージニア北部) – `us-east-1` リージョンの ACM が提供する証明書が必要です。この証明書はすべての地理的場所に配布されます。
+ リージョン別カスタムドメイン名には、API をホストしているのと同じリージョンで ACM が提供する証明書が必要です。`us-east-1` リージョンに存在しないエッジ最適化カスタムドメイン名をリージョン別カスタムドメイン名に移行するには、API のローカルリージョンに新しい ACM 証明書をリクエストできます。
+ エッジ最適化カスタムドメイン名とリージョン別カスタムドメイン名との間で移行が完了するまでに最大 60 秒かかることがあります。移行時間は、DNS レコードをいつ更新するかによっても異なります。
+ エンドポイントアクセスモードが `BASIC` に設定されている場合にのみ、追加のエンドポイント設定を追加できます。2 つのエンドポイント設定があると、エンドポイントアクセスモードを変更することはできません。詳細については、「[エンドポイントアクセスモード](apigateway-security-policies.md#apigateway-security-policies-endpoint-access-mode)」を参照してください。
+ カスタムドメイン名が `SecurityPolicy_` で始まるセキュリティポリシーを使用している場合、新しいエンドポイント設定タイプを追加すると、エンドポイントアクセスモードは両方のエンドポイントタイプで同じになり、新しいエンドポイント設定タイプで `SecurityPolicy_` で始まるセキュリティポリシーを選択する必要があります。

## カスタムドメイン名を移行する
<a name="apigateway-api-custom-domain-names-migrate-procedure"></a>

**注記**  
移行を完了するには、カスタムドメイン名から古いエンドポイントを削除してください。

次の手順では、エッジ最適化カスタムドメイン名をリージョン別カスタムドメイン名に移行する方法を示します。

------
#### [ AWS マネジメントコンソール ]

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインのナビゲーションペインから [**Custom Domain Names (カスタムドメイン名)**] を選択します。

1. エッジ最適化カスタムドメイン名を選択します。

1. **[エンドポイント設定]** で、**[編集]** を選択します。

1. **[リージョンエンドポイントを追加]** を選択します。

1. **[ACM 証明書]** で、証明書を選択します。

   リージョン別証明書はリージョン別 API と同じリージョンである必要があります。

1. **[Save changes]** (変更の保存) をクリックします。

1. リージョン別カスタムドメイン名をこのリージョン別ホスト名にポイントするように DNS レコードを設定します。詳細については、「[API Gateway にトラフィックをルーティングするように Route 53 を設定する](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html)」を参照してください。

1. DNS 設定が正しいエンドポイントを使用していることを確認したら、エッジ最適化エンドポイント設定を削除します。カスタムドメイン名を選択し、**[エッジ最適化エンドポイント設定]** で **[削除]** を選択します。

1. 選択内容を確認し、エンドポイントを削除します。

------
#### [ AWS CLI ]

次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、エッジ最適化カスタムドメイン名をリージョン別カスタムドメイン名に移行します。

```
aws apigateway update-domain-name \
    --domain-name 'api.example.com' \
    --patch-operations  '[ 
        { "op":"add", "path": "/endpointConfiguration/types","value": "REGIONAL" },
        { "op":"add", "path": "/regionalCertificateArn", "value": "arn:aws:acm:us-west-2:123456789012:certificate/cd833b28-58d2-407e-83e9-dce3fd852149" }
      ]'
```

リージョン別証明書はリージョン別 API と同じリージョンである必要があります。

出力は次のようになります。

```
{
    "certificateArn": "arn:aws:acm:us-east-1:123456789012:certificate/34a95aa1-77fa-427c-aa07-3a88bd9f3c0a",
    "certificateName": "edge-cert",
    "certificateUploadDate": "2017-10-16T23:22:57Z",
    "distributionDomainName": "d1frvgze7vy1bf.cloudfront.net",
    "domainName": "api.example.com",
    "endpointConfiguration": {
        "types": [
            "EDGE",
            "REGIONAL"
        ]
    },
    "regionalCertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/cd833b28-58d2-407e-83e9-dce3fd852149",
    "regionalDomainName": "d-fdisjghyn6.execute-api.us-west-2.amazonaws.com"
}
```

移行されたリージョンのカスタムドメイン名の場合、リージョン別 API のホスト名が `regionalDomainName` プロパティとして返されます。リージョン別カスタムドメイン名がこのリージョン別ホスト名を参照するように DNS レコードを設定する必要があります。これにより、カスタムドメイン名宛てのトラフィックがリージョン別ホストにルーティングされるようになります。

DNS レコードを設定したら、エッジ最適化カスタムドメイン名を削除できます。次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、エッジ最適化カスタムドメイン名を削除します。

```
aws apigateway update-domain-name \
    --domain-name api.example.com \
    --patch-operations '[
            {"op":"remove", "path":"/endpointConfiguration/types", "value":"EDGE"},
            {"op":"remove", "path":"certificateName"},
            {"op":"remove", "path":"certificateArn"}
        ]'
```

------

次の手順は、拡張セキュリティポリシーを使用するエッジ最適化カスタムドメイン名を、拡張セキュリティポリシーを使用するリージョン別カスタムドメイン名に移行する方法を示しています。

------
#### [ AWS マネジメントコンソール ]

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインのナビゲーションペインから [**Custom Domain Names (カスタムドメイン名)**] を選択します。

1. エッジ最適化カスタムドメイン名を選択します。

1. **[エンドポイント設定]** で、**[編集]** を選択します。

1. **[リージョンエンドポイントを追加]** を選択します。

1. **[ACM 証明書]** で、証明書を選択します。

   リージョン別証明書はリージョン別 API と同じリージョンである必要があります。

1. **[セキュリティポリシー]** で、`SecurityPolicy_` で始まるセキュリティポリシーを選択します。

1. **[エンドポイントアクセスモード]** で、**[基本]** を選択します。

1. **[Save changes]** (変更の保存) をクリックします。

1. リージョン別カスタムドメイン名をこのリージョン別ホスト名にポイントするように DNS レコードを設定します。詳細については、「[API Gateway にトラフィックをルーティングするように Route 53 を設定する](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html)」を参照してください。

1. DNS 設定が正しいエンドポイントを使用していることを確認したら、エッジ最適化エンドポイント設定を削除します。カスタムドメイン名を選択し、**[エッジ最適化エンドポイント設定]** で **[削除]** を選択します。

1. 選択内容を確認し、エンドポイントを削除します。

------
#### [ AWS CLI ]

次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、エッジ最適化カスタムドメイン名をリージョン別カスタムドメイン名に移行します。

```
aws apigateway update-domain-name \
    --domain-name 'api.example.com' \
    --patch-operations  '[ 
        { "op":"add", "path": "/endpointConfiguration/types","value": "REGIONAL" },
        { "op":"replace", "path": "/securityPolicy", "value":"SecurityPolicy_TLS13_1_3_2025_09"},
        { "op":"add", "path": "/regionalCertificateArn", "value": "arn:aws:acm:us-west-2:123456789012:certificate/cd833b28-58d2-407e-83e9-dce3fd852149" }
      ]'
```

リージョン別証明書はリージョン別 API と同じリージョンである必要があります。

出力は次のようになります。

```
{
    "certificateArn": "arn:aws:acm:us-east-1:123456789012:certificate/34a95aa1-77fa-427c-aa07-3a88bd9f3c0a",
    "certificateName": "edge-cert",
    "certificateUploadDate": "2017-10-16T23:22:57Z",
    "distributionDomainName": "d1frvgze7vy1bf.cloudfront.net",
    "domainName": "api.example.com",
    "endpointConfiguration": {
        "types": [
            "EDGE",
            "REGIONAL"
        ]
    },
    "securityPolicy": "SecurityPolicy_TLS13_1_3_2025_09",
    "endpointAccessMode": "BASIC",
    "regionalCertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/cd833b28-58d2-407e-83e9-dce3fd852149",
    "regionalDomainName": "d-fdisjghyn6.execute-api.us-west-2.amazonaws.com"
}
```

移行されたリージョンのカスタムドメイン名の場合、リージョン別 API のホスト名が `regionalDomainName` プロパティとして返されます。リージョン別カスタムドメイン名がこのリージョン別ホスト名を参照するように DNS レコードを設定する必要があります。これにより、カスタムドメイン名宛てのトラフィックがリージョン別ホストにルーティングされるようになります。

DNS レコードを設定したら、エッジ最適化カスタムドメイン名を削除できます。次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、エッジ最適化カスタムドメイン名を削除します。

```
aws apigateway update-domain-name \
    --domain-name api.example.com \
    --patch-operations '[
            {"op":"remove", "path":"/endpointConfiguration/types", "value":"EDGE"},
            {"op":"remove", "path":"certificateName"},
            {"op":"remove", "path":"certificateArn"}
        ]'
```

------

次の手順は、リージョン別カスタムドメイン名をエッジ最適化カスタムドメイン名に移行する方法を示しています。

------
#### [ AWS マネジメントコンソール ]

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. メインナビゲーションペインで、**[カスタムドメイン名]** を選択します。

1. リージョン別カスタムドメイン名を選択します。

1. **[エンドポイント設定]** で、**[編集]** を選択します。

1. **[エッジ最適化エンドポイントを追加]** を選択します。

1. **[ACM 証明書]** で、証明書を選択します。

    エッジ最適化のドメイン証明書は、`us-east-1` リージョンに作成する必要があります。

1. **[保存]** を選択します。

1. エッジ最適化カスタムドメイン名をこのエッジ最適化ホスト名にポイントするように DNS レコードを設定します。詳細については、「[API Gateway にトラフィックをルーティングするように Route 53 を設定する](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html)」を参照してください。

1. DNS 設定が正しいエンドポイントを使用していることを確認したら、リージョンエンドポイント設定を削除します。カスタムドメイン名を選択し、**[リージョン別エンドポイント設定]** で **[削除]** を選択します。

1. 選択内容を確認し、エンドポイントを削除します。

------
#### [ AWS CLI ]

次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、リージョン別カスタムドメイン名をエッジ最適化カスタムドメイン名に移行します。

```
aws apigateway update-domain-name \
    --domain-name 'api.example.com' \
    --patch-operations  '[ 
        { "op":"add", "path": "/endpointConfiguration/types","value": "EDGE" },
        { "op":"add", "path": "/certificateName", "value": "edge-cert" },
	{"op":"add", "path": "/certificateArn", "value": "arn:aws:acm:us-east-1:738575810317:certificate/34a95aa1-77fa-427c-aa07-3a88bd9f3c0a"}
      ]'
```

エッジ最適化のドメイン証明書は、`us-east-1` リージョンに作成する必要があります。

出力は次のようになります。

```
{
    "certificateArn": "arn:aws:acm:us-east-1:738575810317:certificate/34a95aa1-77fa-427c-aa07-3a88bd9f3c0a",
    "certificateName": "edge-cert",
    "certificateUploadDate": "2017-10-16T23:22:57Z",
    "distributionDomainName": "d1frvgze7vy1bf.cloudfront.net",
    "domainName": "api.example.com",
    "endpointConfiguration": {
        "types": [
            "EDGE",
            "REGIONAL"
        ]
    },
    "regionalCertificateArn": "arn:aws:acm:us-east-1:123456789012:certificate/3d881b54-851a-478a-a887-f6502760461d",
    "regionalDomainName": "d-cgkq2qwgzf.execute-api.us-east-1.amazonaws.com"
}
```

指定したカスタムドメイン名の場合、API Gateway はエッジ最適化 API のホスト名を `distributionDomainName` プロパティ値として返します。エッジ最適化のカスタムドメイン名がこのディストリビューションドメイン名を参照するように DNS レコードを設定する必要があります。これにより、エッジ最適化のカスタムドメイン名宛てのトラフィックがエッジ最適化の API ホスト名にルーティングされるようになります。

DNS レコードを設定したら、カスタムドメイン名の `REGION` エンドポイントタイプを削除できます。次の [update-domain-name](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-domain-name.html) コマンドは、リージョン別エンドポイントタイプを削除します。

```
aws apigateway update-domain-name \
    --domain-name api.example.com \
    --patch-operations '[
        {"op":"remove", "path":"/endpointConfiguration/types", value:"REGIONAL"},
        {"op":"remove", "path":"regionalCertificateArn"}
      ]'
```

出力は次のようになります。

```
{
    "certificateArn": "arn:aws:acm:us-east-1:738575810317:certificate/34a95aa1-77fa-427c-aa07-3a88bd9f3c0a",
    "certificateName": "edge-cert",
    "certificateUploadDate": "2017-10-16T23:22:57Z",
    "distributionDomainName": "d1frvgze7vy1bf.cloudfront.net",
    "domainName": "api.example.com",
    "endpointConfiguration": {
        "types": "EDGE"
    }
}
```

------