本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon IoT Greengrass 和接口 VPC 端点 (Amazon PrivateLink)
您可以通过创建接口 VPC 端点在 VPC 和 Amazon IoT Greengrass 控制面板之间建立私有连接。您可以使用此端点来管理 Amazon IoT Greengrass 服务中的组件、部署和核心设备。接口端点由 Amazon PrivateLink
每个接口端点均由子网中的一个或多个弹性网络接口表示。
有关更多信息,请参阅 Amazon VPC 用户指南中的接口 VPC 端点 (Amazon PrivateLink)。
主题
Amazon IoT Greengrass VPC 端点注意事项
请先查看 Amazon VPC 用户指南中的接口端点属性和限制,然后再为 Amazon IoT Greengrass 设置 VPC 接口端点。此外,请了解以下注意事项:
-
Amazon IoT Greengrass 支持从 VPC 调用它的所有控制面板 API 操作。控制面板包括诸如 CreateDeployment 和 ListEffectiveDeployments 之类的操作。控制面板不包括 ResolveComponentCandidates 和 Discover 之类的操作,它们属于数据面板操作。
-
Amazon IoT Greengrass 的 VPC 端点目前在 Amazon 中国区域不受支持。
为 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 核心设备
您可以在没有公共互联网访问的情况下,在 VPC 中操作 Greengrass 核心设备并执行部署。您必须至少使用相应的 DNS 别名设置以下 VPC 端点。有关如何创建和使用 VPC 端点的更多信息,请参阅《Amazon VPC 用户指南》中的创建 VPC 端点。
注意
对于 Amazon IoT data和 Amazon IoT 凭证,已禁用自动创建 DNS 记录的 VPC 功能。要连接这些端点,您必须手动创建私有 DNS 记录。有关更多信息,请参阅接口端点的私有 DNS。有关 Amazon IoT Core VPC 限制的更多信息,请参阅 VPC 端点的限制。
先决条件
-
您必须使用手动预置步骤安装 Amazon IoT Greengrass Core 软件。有关更多信息,请参阅 使用手动资源配置来安装 Amazon IoT Greengrass Core 软件。
限制
-
中国区域和 Amazon GovCloud (US) Regions不支持在 VPC 中运行 Greengrass 核心设备。
-
有关 Amazon IoT data 和 Amazon IoT 凭证提供程序 VPC 端点限制的更多信息,请参阅限制。
将您的 Greengrass 核心设备设置为在 VPC 中运行
-
获取您的 Amazon Web Services 账户的 Amazon IoT 端点,然后将其保存以备后用。您的设备使用这些端点来连接 Amazon IoT。执行以下操作:
-
获取您的 Amazon Web Services 账户的 Amazon IoT 数据端点。
aws iot describe-endpoint --endpoint-type iot:Data-ATS
如果请求成功,响应类似如下示例。
{ "endpointAddress": "
device-data-prefix
-ats.iot.us-west-2.amazonaws.com" } -
获取您的 Amazon Web Services 账户的 Amazon IoT 凭证端点。
aws iot describe-endpoint --endpoint-type iot:CredentialProvider
如果请求成功,响应类似如下示例。
{ "endpointAddress": "
device-credentials-prefix
.credentials.iot.us-west-2.amazonaws.com" }
-
-
为 Amazon IoT data和 Amazon IoT 凭证端点创建 Amazon VPC 接口:
-
导航到 VPC
端点控制台,在左侧菜单的虚拟私有云下,选择端点,然后选择创建端点。 -
在创建端点页面上,指定以下信息。
-
为 Service category(服务类别)选择Amazon Web Services 服务。
-
对于 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.
格式。中国区域不支持为 Amazon IoT Core 凭证提供商创建 VPC 端点。region
.iot.data -
对于 VPC 和 Subnets(子网),选择要在其中创建端点的 VPC 和要在其中创建端点网络的可用区 (AZ)。
-
对于 Enable DNS name(启用 DNS 名称),请确保未选择 Enable for this endpoint(为此端点启用)。Amazon IoT Core 数据平面和 Amazon IoT Core 凭证提供商都不支持私有 DNS 名称。
-
对于 Security group(安全组),选择要与端点网络接口关联的安全组。
-
您可以选择添加或删除标签。标签是用于与端点关联的名称-值对。
-
-
要创建 VPC 终端节点,请选择 Create endpoint(创建端点)。
-
-
创建 Amazon PrivateLink 端点后,在端点的详细信息选项卡下,您将看到 DNS 名称列表。您可以使用在本部分中创建的这些 DNS 名称中的一个来配置私有托管区域。
-
创建 Amazon S3 端点。有关更多信息,请参阅为 Amazon S3 创建 VPC 端点。
-
如果您使用的是 Amazon 提供的 Greengrass 组件,则可能需要其他端点和配置。要查看端点要求,请从 Amazon 提供的组件列表中选择组件,然后查看“要求”部分。例如,日志管理器组件要求规定,该组件必须能够向端点
logs.
执行出站请求。region
.amazonaws.com如果您使用的是自己的组件,则可能需要查看依赖关系并进行其他测试,以确定是否需要任何其它端点。
-
在 Greengrass Nucleus 配置中,必须将
greengrassDataPlaneEndpoint
设置为iotdata
。有关更多信息,请参阅 Greengrass Nucleus 配置。 -
如果您在
us-east-1
区域,请在 Greengrass Nucleus 配置中将配置参数s3EndpointType
设置为REGIONAL
。此功能适用于 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 |
|
接口 |
|
私有 DNS 记录应与您账户的 Amazon IoT data端点相匹配: |
Amazon IoT 凭证 |
|
接口 |
|
私有 DNS 记录应与您账户的 Amazon IoT 凭证端点相匹配: |
Amazon S3 |
|
接口 |
DNS 记录是自动创建的。 |