亚马逊AWS官方博客

HAQM API Gateway 现已支持双栈(IPv4 和 IPv6)端点

现在,我们在所有商业区域以及 AWS GovCloud(美国)区域中,针对 HAQM API Gateway 的所有端点类型、自定义域名以及管理 API 推出 IPv6 支持。您可以配置 REST、HTTP 和 WebSocket API 以及自定义域名,以便在现有 IPv4 支持的基础上,同时接受来自 IPv6 客户端的调用。您还可以从双栈(IPv6 和 IPv4)客户端调用 API Gateway 管理 API。随着全球各机构面临着 IPv4 地址日益稀缺以及成本不断上升的问题,实施 IPv6 对于构建面向未来的网络基础设施而言变得至关重要。这种双栈方法有助于各机构保持未来的网络兼容性,并扩大全球覆盖范围。要了解更多关于 HAQM Web Services(AWS)环境中双栈的信息,请查看 AWS 上的 IPv6 文档。

创建新的双栈资源

本文重点介绍两种使用双栈 IP 地址类型创建 API 或域名的方法:AWS 管理控制台AWS 云开发工具包(CDK)

AWS 管理控制台

在控制台中创建新的 API 或域名时,为 IP 地址类型选择“仅 IPv4”或“双栈(IPv4 和 IPv6)”。

如下图所示,在创建新的 REST API 时,您可以选择双栈选项。
对于自定义域名,您可以采用类似方式配置双栈,如下图所示。

如果您出于任何原因需要恢复为仅使用 IPv4,则可以修改 IP 地址类型设置,无需重新部署 API 即可使更新生效。

所有端点类型(边缘、区域和专用)的 REST API 均支持双栈。专用 REST API 仅支持双栈配置。

AWS CDK

使用 AWS CDK 时,首先配置双栈 REST API 和域名。

const api = new apigateway.RestApi(this, "Api", {
  restApiName: "MyDualStackAPI",
  endpointConfiguration: {ipAddressType: "dualstack"}
});

const domain_name = new apigateway.DomainName(this, "DomainName", {
  regionalCertificateArn: 'arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab',
  domainName: 'dualstack.example.com',
  endpointConfiguration: {
    types: ['Regional'],
    ipAddressType: 'dualstack'
  },
  securityPolicy: 'TLS_1_2'
});

const basepathmapping = new apigateway.BasePathMapping(this, "BasePathMapping", {
  domainName: domain_name,
  restApi: api
});

IPv6 源 IP 和授权

当您的 API 开始接收 IPv6 流量时,客户端源 IP 地址将采用 IPv6 格式。如果您使用引用源 IP 地址的资源策略、Lambda 授权程序或 AWS Identity and Access Management(IAM)策略,请确保对它们进行更新,以适应 IPv6 地址格式。

例如,要在资源策略中允许来自特定 IPv6 范围的流量。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "execute-api:stage-name/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "192.0.2.0/24",
            "2001:db8:1234::/48"
          ]
        }
      }
    }
  ]
}

总结

API Gateway 双栈支持有助于应对 IPv4 地址稀缺问题和成本问题,符合政府和行业规定,并为未来的网络发展做好准备。双栈的实现通过同时支持 IPv4 和 IPv6 客户端,提供了一条平稳的过渡路径。

要开始使用 API Gateway 双栈支持,请访问 HAQM API Gateway 文档。您可以为新的 API 配置双栈,或者只需进行少量配置更改即可更新现有的 API。

Betty

特别感谢 Ellie Frank(elliesf)、Anjali Gola(anjaligl)和 Pranika Kakkar(pranika)在撰写本文的过程中提供资源、回答问题并提供宝贵的反馈意见。本文得以完成,离不开服务和产品管理团队的协作支持。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。