虚拟私有云 (VPC) 目的地 - AWS IoT Core

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

虚拟私有云 (VPC) 目的地

Apache Kafka 规则操作将数据路由到亚马逊虚拟私有云(亚马逊)中的 Apache Kafka 集群。VPC当您为规则操作指定VPC目标时,Apache Kafka 规则操作使用的VPC配置会自动启用。

VPC目标包含内部子网的列表。VPC规则引擎将在您在此列表中指定的每个子网中创建一个弹性网络接口。有关网络接口的更多信息,请参阅 Amazon EC2 用户指南中的弹性网络接口

要求和注意事项

  • 如果您使用的是自我管理的 Apache Kafka 集群,则将在互联网上使用公有终端节点访问此集群:

    • 为子NAT网中的实例创建网关。该NAT网关有一个可以连接到互联网的公有 IP 地址,这允许规则引擎将您的消息转发到公共 Kafka 集群。

    • 为VPC目标创建的弹性网络接口 (ENIs) 分配弹性 IP 地址。必须将您使用的安全组配置为阻止传入流量。

      注意

      如果VPC目标被禁用然后又重新启用,则必须将弹性IPs与新的弹性重新关联。ENIs

  • 如果VPC主题规则目标连续 30 天未收到任何流量,则该目标将被禁用。

  • 如果VPC目标使用的任何资源发生变化,则目标将被禁用且无法使用。

  • 可以禁用VPC目标的一些更改包括:删除VPC、子网、安全组或使用的角色;修改角色使其不再具有必要的权限;以及禁用目标。

定价

出于定价目的,除了在资源位于您的VPC资源中时向资源发送消息的操作外,还会计量VPC规则操作。有关定价信息,请参阅 AWS IoT Core 定价

创建虚拟私有云 (VPC) 主题规则目标

您可以使用CreateTopicRuleDestinationAPI或 AWS IoT Core 控制台创建虚拟私有云 (VPC) 目标。

创建VPC目标时,必须指定以下信息。

vpcId

VPC目的地的唯一 ID。

subnetIds

规则引擎在其中创建弹性网络接口的子网列表。规则引擎为列表中的每个子网分配一个网络接口。

securityGroups (可选)

要应用到网络接口的安全组列表。

roleArn

有权代表您创建网络接口的角色的 Amazon 资源名称 (ARN)。

它ARN应该有一个与以下示例类似的策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DeleteNetworkInterface", "ec2:DescribeSubnets", "ec2:DescribeVpcAttribute", "ec2:DescribeSecurityGroups" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateNetworkInterfacePermission", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/VPCDestinationENI": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkInterface", "aws:RequestTag/VPCDestinationENI": "true" } } } ] }

使用创建VPC目的地 AWS CLI

以下示例说明如何使用创建VPC目的地 AWS CLI。

aws --region regions iot create-topic-rule-destination --destination-configuration 'vpcConfiguration={subnetIds=["subnet-123456789101230456"],securityGroups=[],vpcId="vpc-123456789101230456",roleArn="arn:aws:iam::123456789012:role/role-name"}'

运行此命令后,VPC目标状态将为IN_PROGRESS。几分钟后,其状态将更改为 ERROR(如果命令不成功)或 ENABLED。当目标状态为 ENABLED 时,目标即可使用。

您可以使用以下命令来获取VPC目的地的状态。

aws --region region iot get-topic-rule-destination --arn "VPCDestinationARN"

使用 AWS IoT Core 控制台创建VPC目的地

以下步骤介绍如何使用 AWS IoT Core 控制台创建VPC目的地。

  1. 导航到 AWS IoT Core 控制台。在左侧窗格的操作选项卡上,选择目标

  2. 输入以下字段的值。

    • VPC ID

    • 子网 IDs

    • 安全组

  3. 选择具有创建网络接口所需权限的角色。前面的示例策略包含这些权限。

当VPC目标状态为时 ENABLED,它就可以使用了。