Amazon IoT Greengrass 和接口 VPC 端点 (Amazon PrivateLink) - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon IoT Greengrass 和接口 VPC 端点 (Amazon PrivateLink)

您可以通过创建接口 VPC 端点在 VPC 和 Amazon IoT Greengrass 控制面板之间建立私有连接。您可以使用此端点管理Amazon IoT Greengrass服务中的组件、部署和核心设备。接口端点由 Amazon PrivateLink 提供支持,该技术支持您通过私密方式访问 Amazon IoT Greengrass API,而无需互联网网关、NAT 设备、VPN 连接或 Amazon Direct Connect 连接。VPC 中的实例即使没有公有 IP 地址也可与 Amazon IoT Greengrass API 进行通信。VPC 和 Amazon IoT Greengrass 之间的流量不会脱离 Amazon 网络。

每个接口端点均由子网中的一个或多个弹性网络接口表示。

有关更多信息,请参阅 Amazon VPC 用户指南中的接口 VPC 端点 (Amazon PrivateLink)

Amazon IoT Greengrass VPC 端点注意事项

请先查看 Amazon VPC 用户指南中的接口端点属性和限制,然后再为 Amazon IoT Greengrass 设置 VPC 接口端点。此外,请了解以下注意事项:

为 Amazon IoT Greengrass 控制平面操作创建接口 VPC 端点

您可以使用 Amazon VPC 控制台或Amazon Command Line Interface(Amazon CLI)为 Amazon IoT Greengrass 控制面板创建 VPC 端点。有关更多信息,请参阅《Amazon VPC 用户指南》中的创建接口端点

使用以下服务名称为 Amazon IoT Greengrass 创建 VPC 端点:

  • com.amazonaws.region.greengrass

如果为端点启用私有 DNS,则可以使用其默认 DNS 名称作为区域,向 Amazon IoT Greengrass 发送 API 请求,例如 greengrass.us-east-1.amazonaws.com。默认情况下将启用私有 DNS。

有关更多信息,请参阅《Amazon VPC 用户指南》中的通过接口端点访问服务

为 Amazon IoT Greengrass 创建 VPC 端点策略

您可以为 VPC 端点附加控制对 Amazon IoT Greengrass 控制面板操作的访问的端点策略。该策略指定以下信息:

  • 可执行操作的主体。

  • 主体可以执行的操作。

  • 主体可以对其执行操作的资源。

有关更多信息,请参阅《Amazon VPC 用户指南》中的使用 VPC 端点控制对服务的访问权限

例 示例:Amazon IoT Greengrass 操作的 VPC 端点策略

下面是用于 Amazon IoT Greengrass 的端点策略示例。当附加到端点时,此策略会向所有资源上的所有主体授予对列出的 Amazon IoT Greengrass 操作的访问权限。

{ "Statement": [ { "Principal": "*", "Effect": "Allow", "Action": [ "greengrass:CreateDeployment", "greengrass:ListEffectiveDeployments" ], "Resource": "*" } ] }

在 VPC 中操作Amazon IoT Greengrass核心设备

无需公共互联网访问即可操作 Greengrass 核心设备并在 VPC 中执行部署。您必须至少使用相应的 DNS 别名设置以下 VPC 终端节点。有关如何创建和使用 VPC 终端节点的更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC 终端节点

注意

对于和Amazon IoT凭证,用于自动创建 DNS 记录的 VPC 功能已禁用。Amazon IoT data要连接这些终端节点,必须手动创建私有 DNS 记录。有关更多信息,请参阅接口终端节点的私有 DNS。有关 Amazon IoT Core VPC 限制的更多信息,请参阅 V PC 终端节点的限制

先决条件

限制

  • 中国地区不支持在 VPC 中运行 Greengrass 核心设备,以及。Amazon GovCloud (US) Regions

  • 有关限制Amazon IoT data和Amazon IoT凭证提供者 VPC 终端节点的更多信息,请参阅限制

将您的 Greengrass 核心设备设置为在 VPC 中运行

  1. 获取您的终Amazon IoT端节点Amazon Web Services 账户,然后将其保存以备后用。您的设备使用这些端点进行连接Amazon IoT。执行以下操作:

    1. 获取您的Amazon IoT数据端点Amazon Web Services 账户。

      aws iot describe-endpoint --endpoint-type iot:Data-ATS

      如果请求成功,则响应类似于以下示例。

      { "endpointAddress": "device-data-prefix-ats.iot.us-west-2.amazonaws.com" }
    2. 获取您的Amazon IoT凭证端点Amazon Web Services 账户。

      aws iot describe-endpoint --endpoint-type iot:CredentialProvider

      如果请求成功,则响应类似于以下示例。

      { "endpointAddress": "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com" }
  2. 为Amazon IoT data和Amazon IoT证书终端节点创建 Amazon VPC 接口:

    1. 导航到 VPC 端点控制台,在左侧菜单的虚拟私有云下,选择端点,然后选择创建端点

    2. 创建端点页面上,指定以下信息。

      • Service category(服务类别)选择Amazon Web Service

      • 对于 Service Name(服务名称),通过输入关键字 iot 进行搜索。在显示的 iot 服务列表中,请选择端点。

        如果您为 Amazon IoT Core 数据平面创建 VPC 端点,请选择您所在区域的 Amazon IoT Core 数据平面 API 端点。终端节点的格式为 com.amazonaws.region.iot.data

        如果您为 Amazon IoT Core 凭证提供商创建 VPC 端点,请选择您所在区域的 Amazon IoT Core 凭证提供商端点。终端节点的格式为 com.amazonaws.region.iot.credentials

        注意

        中国区域的 Amazon IoT Core 数据平面的服务名称将采用 cn.com.amazonaws.region.iot.data 格式。中国区域不支持为 Amazon IoT Core 凭证提供商创建 VPC 端点。

      • 对于 VPCSubnets(子网),选择要在其中创建端点的 VPC 和要在其中创建端点网络的可用区 (AZ)。

      • 对于 Enable DNS name(启用 DNS 名称),请确保未选择 Enable for this endpoint(为此终端节点启用)。Amazon IoT Core 数据平面和 Amazon IoT Core 凭证提供商都不支持私有 DNS 名称。

      • 对于 Security group(安全组),选择要与端点网络接口关联的安全组。

      • 您可以选择添加或删除标签。标签是用于与端点关联的名称-值对。

    3. 要创建 VPC 终端节点,请选择 Create endpoint(创建端点)。

  3. 创建 Amazon PrivateLink 端点后,在端点的详细信息选项卡下,您将看到 DNS 名称列表。您可以使用在本部分中创建的这些 DNS 名称中的一个来配置私有托管区域

  4. 创建 Amazon S3 终端节点。有关更多信息,请参阅为 Amazon S3 创建 VPC 终端节点

  5. 如果您使用的是Amazon提供的 Greengrass 组件,则可能需要其他端点和配置。要查看端点要求,请从Amazon提供的组件列表中选择组件,然后查看 “需求” 部分。例如,日志管理器组件要求要求此组件必须能够执行对端点的出站请求logs.region.amazonaws.com

    如果您使用的是自己的组件,则可能需要查看依赖关系并进行其他测试,以确定是否需要任何其他端点。

  6. 在 Greengrass 核配置中,必须设置为。greengrassDataPlaneEndpoint iotdata有关更多信息,请参阅 Greengrass 核配置

  7. 如果您us-east-1在该区域,请在 Greengrass nucleus 配置REGIONAL中将配置参数s3EndpointType设置为。此功能适用于 Greengrass nucleus 版本 2.11.3 或更高版本。

例 示例:组件配置
{ "aws.greengrass.Nucleus": { "configuration": { "awsRegion": "us-east-1", "iotCredEndpoint": "xxxxxx.credentials.iot.region.amazonaws.com", "iotDataEndpoint": "xxxxxx-ats.iot.region.amazonaws.com", "greengrassDataPlaneEndpoint": "iotdata", "s3EndpointType": "REGIONAL" ... } } }

下表提供了有关相应的自定义私有 DNS 别名的信息。

服务 VPC 端点服务名称 VPC 终端节点类型 自定义私有 DNS 别名 注意事项

Amazon IoT data

com.amazonaws.region.iot.data

接口

prefix-ats.iot.region.amazonaws.com

私有 DNS 记录应与您账户的Amazon IoT data终端节点相匹配:aws iot describe–endpoint ––endpoint–type iot:Data-ATS

Amazon IoT 凭证

com.amazonaws.region.iot.credentials

接口

prefix.credentials.iot.region.amazonaws.com

私有 DNS 记录应与您的账户Amazon IoT凭证端点匹配:aws iot describe–endpoint ––endpoint–type iot:CredentialProvider

Amazon S3

com.amazonaws.region.s3

接口

DNS 记录是自动创建的。