利用 AWS IoT Core 将数据大规模传输到 Amazon Managed Streaming for Apache Kafka (Amazon MSK)

在本教程中,您将学习如何使用 AWS IoT Core 规则在 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 集群上流式传输 IoT 数据。 


Amazon MSK 是一种全托管服务,可用于轻松构建并运行使用 Apache Kafka 处理流数据的应用程序。Apache Kafka 是一个用于构建实时流数据管道和应用程序的开源平台。通过 Amazon MSK,可以使用原生 Apache Kafka API 填充数据湖、向数据库流式传输更改和从数据库流式传输更改,以及为机器学习和分析应用程序提供支持。


AWS IoT Core 可用于将 IoT 设备连接到 AWS 云,而无需预配或管理服务器。AWS IoT Core 可以支持数十亿台设备和数万亿条消息,还能够可靠、安全地处理这些消息并将其路由至 AWS 端点和其他设备。

在本教程中,您将学习如何:

  • 使用 AWS Certificate Manager 设置私有证书颁发机构 (CA)
  • 使用 Amazon MSK 设置 Apache Kafka 集群
  • 使用 AWS Cloud9 配置 Kafka 身份验证并测试流
  • 准备 Java 密钥库并配置 AWS Secrets Manager 密钥
  • 配置 AWS IoT Core 规则以向 Kafka 集群传递消息
  • 为 AWS IoT Core 规则和服务设置错误日志记录
  • 清除资源
关于本教程
时间 1 小时                                        
费用 7 美元
使用场景 物联网、分析
产品 Amazon MSKAWS IoT Core
受众 开发人员
级别 中级
上次更新时间 2021 年 4 月 21 日

步骤 1:使用 Amazon Certificate Manager 设置私有 CA

在此步骤中,将使用 AWS Certificate Manager (ACM) 设置私有证书颁发机构(私有 CA)。通过此私有 CA,可以颁发 TLS 证书,用于验证客户端的身份,以便与 Apache Kafka 集群进行通信。

1.1 — 打开 AWS Certificate Manager 控制台并使用您的 AWS 账户凭证登录。如果您还没有 AWS 账户,请先新建一个 AWS 账户

1.2 — 点击 Get Started(开始使用)。然后,在 Private certificate authority(私有证书颁发机构)下,点击 Get started(开始使用)。点击 Region(区域下拉列表,然后选择要在其中创建私有 CA 的 AWS Region(AWS 区域)。本教程使用 US East (N. Virginia)(美国东部 (弗吉尼亚北部))区域。

1.3 — 在 Select the certificate authority (CA) type(选择证书颁发机构 (CA) 类型)页面上,选择 Root CA(根 CA),然后点击 Next(下一步)。

1.4 — 在 Configure the certificate authority (CA) name(配置证书颁发机构 (CA) 名称)页面上,输入您组织的详细信息,然后点击 Next(下一步)。

1.5 – 在 Configure the certificate authority (CA) key algorithm(配置证书颁发机构 (CA) 密钥算法)页面上,保留默认值 RSA 2048,然后点击 Next(下一步)。

1.6 – 在 Configure certificate revocation(配置证书吊销)页面上,保留 Certificate revocation list (CRL)(证书吊销列表 (CRL))的默认设置,然后点击 Next(下一步)。

1.7 — 在 Add tags(添加标签)页面上,(可选)以标签的形式为每个资源分配自己的元数据。

1.8 — 在 Configure CA permissions(配置 CA 权限)页面上,保留默认设置,然后点击 Next(下一步)。

1.9 — 在 Review and create(检查并创建)页面上的 CA permissions(CA 权限)部分中,验证私有 CA 的详细信息,然后选中 CA permissions(CA 权限)复选框,并点击 Confirm and create(确认并创建)。

1.10 — 在确认页面上,点击 Get started(开始使用)以激活该 CA。

1.11 — 在 Specify the root CA certificate parameters(指定根 CA 证书参数)页面上,输入根 CA 证书参数,然后点击 Next(下一步)。

1.12 — 在 Review, generate, and install root CA certificate(检查、生成并安装根 CA 证书)页面上,检查并确认配置无误,然后点击 Confirm and install(确认并安装)。

1.13 — 私有 CA 成功创建后,点击 Status(状态)选项卡,然后在 Details(详细信息)部分中,复制 ARN 的值。

步骤 2:使用 Amazon MSK 设置 Apache Kafka 集群

Apache Kafka 的 AWS IoT 规则可以配置为向 Amazon MSK 传递消息。在此步骤中,将使用 IoT 规则支持的客户端身份验证设置来设置一个新的 Kafka 集群。

2.1 — 打开 Amazon MSK 控制台,并使用您的 AWS 账户凭证登录。确认与私有 CA 位于同一区域。然后,点击 Create cluster(创建集群)。

2.2 — 在 Create cluster(创建集群)页面上,点击 Create cluster with custom settings(使用自定义设置创建集群)。

2.3 — 在 General(常规)部分中,输入集群的名称,然后保留 Apache Kafka version(Apache Kafka 版本)的默认设置。

2.4 — 在 Configuration(配置)部分中,选择 Use the MSK default configuration(使用 MSK 默认配置)。

2.5 — 在 Networking(网络)部分中,进行以下选择:

  • 对于 VPC,选择将在其中部署 Kafka 集群的 VPC ID。
  • 对于 Number of Zones(区数量),选择 2
  • 对于 First Zone(第一个区)和 Second Zone(第二个区),分别选择可用区和子网。

2.6 — 在 Brokers(代理)部分中,对于 Broker type(代理类型),选择 kafka.t3.small,对于 Number of brokers per Zone(每个区的代理数),选择 1。

2.7 — 在 Tags - optional(标签 - 可选)部分中,(可选)添加标签。

2.8 — 在 Storage(存储)部分中,对于 EBS storage volume per broker(每个代理的 EBS 存储卷),选择 5 GIB

2.9 — 在 Encryption(加密)部分中,保留默认设置。

2.10 — 在 Authentication(身份验证)部分中,选择 TLS client authentication through AWS certificate manager (ACM)(通过 AWS certificate manager (ACM) 进行 TLS 客户端身份验证),然后在 Private Certification Authorities (CA) from AWS Certificate Manager (ACM)(AWS Certificate Manager (ACM) 中的私有证书颁发机构 (CA))下拉框中,选择在步骤 1 中创建的私有 CA。

2.11 — 在 Monitoring(监控)部分中,保留默认设置。

2.12 — 在 Advanced settings(高级设置)部分中,保留默认设置,然后点击 Create cluster(创建集群)。

步骤 3:准备 AWS Cloud9 实例以配置 Kafka 身份验证并测试流

AWS Cloud9 提供预先安装的 AWS CLI 和 Java,有助于简化开发体验。在此步骤中,将配置 Kafka 身份验证、安装 Kafka 工具,然后测试消费者和生产者。

3.1 — 打开 AWS Cloud9 控制台,然后点击 Create environment(创建环境)。确认在部署 Kafka 集群的同一 VPC 中启动 AWS Cloud9 环境。

3.2 — 在 Name environment(命名环境)页面中,输入 Name(名称)并(可选)提供 Description(描述)。然后,点击 Next step(下一步)。

3.3 — 在 Configure settings(配置设置)页面上的 Environment settings(环境设置)部分中,保留默认设置,然后点击 Next step(下一步)。

3.4 — 在 Review 页面上的 Environment name and settings(环境名称和设置)部分中,检查配置确认无误,然后点击 Create environment(创建环境)。之后,等待 AWS Cloud9 环境设置并启动。

3.5 — 打开 Amazon MSK 控制台,在 General(常规)部分中,验证创建的集群是否处于 Active(活动)状态,并复制 Cluster ARN(集群 ARN)。 

点击 View client information(查看客户端信息)选项卡,然后复制 Bootstrap servers(引导服务器)和 ZooKeeper connection(ZooKeeper 连接)下的信息,供在以下配置中使用。

3.6 — 打开 Cloud9 IDE bash 窗口,然后在终端窗口中运行以下命令。

a. 下载并解压缩 Kafka cli 工具

wget https://archive.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz
tar -xzf kafka_2.12-2.2.1.tgz

b. 安装 jq 以解析 JSON CLI 响应 

sudo yum install jq –y

c.  根据您的环境设置 CLUSTER_ARN、PRIVATE_CA_ARN、REGION_NAME 和 TOPIC 的变量。

CLUSTER_ARN="[YOUR CLUSTER ARN]"

PRIVATE_CA_ARN="[YOUR PRIVATE CA ARN]"

REGION_NAME="[YOUR REGION]"

TOPIC="AWSKafkaTutorialTopic"

d.  以下命令引用在上一步中配置的变量,使用 AWS CLI 和集群 ARN 获取 ZooKeeper 字符串,并将其保存到 ZOOKEEPER_STRING 变量中。

ZOOKEEPER_STRING=$(aws kafka describe-cluster --region $REGION_NAME --cluster-arn $CLUSTER_ARN | jq -r ".ClusterInfo.ZookeeperConnectString") 
echo $ZOOKEEPER_STRING

3.7 — 为您的 Kafka 集群配置安全组入站规则。

a. 打开 AWS Cloud9 控制台,然后针对您创建的环境选择 View details(查看详细信息)选项卡。

b. 在 Environment details(环境详细信息)页面上的 Security groups(安全组)下,复制实例的 group ID(组 ID)。

c. 打开 Amazon MSK 控制台,然后点击您的 Cluster name(集群名称)。

d. 在 Details(详细信息)选项卡上的 Networking(网络)部分中,点击 Security groups applied(已应用安全组)下的链接。

e. 在 Security Groupsp(安全组)页面上,点击 Inbound rules(入站规则)选项卡,然后点击 Edit inbound rules(编辑入站规则)。

f. 在 Edit inbound rules(编辑入站规则)页面上,使用端口 9094 和 2181 将复制的 security group ID(安全组 ID)添加为 Kafka 安全组的入站规则。

3.8 — 在 Kafka 集群中创建一个新主题 AWSKafkaTutorialTopic。生产者和消费者将使用此主题发布和订阅消息。在以下命令(如适用)中,更改部分 3.6.c 中设置为变量的主题的名称。

在 AWS Cloud9 终端运行以下命令:

cd ~/environment/kafka_2.12-2.2.1
bin/kafka-topics.sh --create --zookeeper $ZOOKEEPER_STRING --replication-factor 2 --partitions 1 --topic $TOPIC 

这将创建一个新主题 AWSKafkaTutorialTopic。确认命令返回以下消息:已创建主题 AWSKafkaTutorialTopic。

注意:如果显示客户端会话超时错误,请检查集群的 Security Group Inbound Rules(安全组入站规则)是否配置正确。

步骤 4:准备 Java 密钥库并配置 AWS Secrets Manager

Java 密钥库用于存储私钥、公钥、证书和密钥。在此步骤中,您将创建 Java 密钥库,使用 Keytool 创建证书,使用您的私有 CA 对证书进行签名,并将密钥库保存到 Secrets Manager。

注意:Kafka 目录的名称会随着每个下载的 Kafka 版本而变化。请使用您的版本的名称。


注意:java-11-amazon-corretto.x86_64 的路径名称会随着您的 java 版本而变化。请将此路径更改为已安装 Java 版本对应的路径。在 jvm 子目录中查找名为 cacerts 的文件,并将其复制到下面创建的 client 目录中。

4.1 — 在 AWS Cloud9 终端中运行以下命令,创建一个 client 文件夹,用于存储证书文件,并将 Java 密钥库复制到此文件夹。

cd ~/environment/kafka_2.12-2.2.1/
mkdir client && cd client
cp /usr/lib/jvm/java-11-amazon-corretto.x86_64/lib/security/cacerts kafka.client.truststore.jks  

4.2 — 运行以下命令,为 Java 密钥库配置 ALIAS 和 PASSWORD

注意:如果更改了 ALIAS 和 PASSWORD 变量,则必须在接下来的步骤中使用相同的值。

ALIAS="keyAlias"
PASSWORD="myPassword"

4.3 — 运行以下命令,使用 keytool 生成具有公用名 (CN)、ALIAS 和 PASSWORD 的密钥。(可选)输入“Distinguished-Name”可帮助您识别密钥,但您可以保留变量“Distinguished-Name”。

keytool -genkey -keystore kafka.client.keystore.jks -validity 300 -storepass $PASSWORD -keypass $PASSWORD -dname "CN=Distinguished-Name" -alias $ALIAS -storetype pkcs12

4.4 — 运行以下命令,为上一步中生成的密钥创建证书签名请求。

keytool -keystore kafka.client.keystore.jks -certreq -file client-cert-sign-request -alias $ALIAS -storepass $PASSWORD -keypass $PASSWORD

4.5 — 运行以下命令,将创建的证书转换为正确的格式。

sed -i 's/NEW //' client-cert-sign-request

4.6 — 运行以下命令,颁发由您的私有 CA 签名的证书,并将证书 ARN 保存为一个变量。

在下面的命令中,使用此前安装的 jq 将 AWS CLI 的 JSON 输出解析为字符串,并保存在变量 CERTIFICATE_ARN 中。

CERTIFICATE_ARN=$(aws acm-pca issue-certificate --certificate-authority-arn $PRIVATE_CA_ARN --csr fileb://client-cert-sign-request --signing-algorithm "SHA256WITHRSA" --validity Value=300,Type="DAYS" --region $REGION_NAME | jq -r ".CertificateArn")

4.7 — 运行以下命令,通过 AWS CLI 使用在上一步中收到的证书 ARN 获取证书。收到的响应为 JSON 格式,由 jq 解析,并保存到 signed-certificate-from-acm 文件中。

aws acm-pca get-certificate --certificate-authority-arn $PRIVATE_CA_ARN --certificate-arn $CERTIFICATE_ARN --region $REGION_NAME | jq -r '"\(.CertificateChain)\n\(.Certificate)"' > signed-certificate-from-acm

4.8 — 运行以下命令,将签名的证书导入密钥库

keytool -keystore kafka.client.keystore.jks -import -file signed-certificate-from-acm -alias $ALIAS -storepass $PASSWORD -keypass $PASSWORD 

a. 终端出现提示时,输入 Yes。  

b. client 目录下应有 4 个文件。

  • client-cert-sign-request
  • kafka.client.keystore.jks
  • kafka.client.truststore.jks
  • signed-certificate-from-acm

 

4.9 — 以前配置的 MSK 集群要求所有客户端通信都通过 TLS 以确保安全。文件 kafka.client.keystore.jks 必须以 SecretBinary 的形式上传到 Secrets Manager,以对 IoT Core 规则进行身份验证。

运行以下命令,在 Amazon Secrets Manager 中创建一个名为 Kafka_Keystore 的密钥。

aws secretsmanager create-secret --name Kafka_Keystore --secret-binary fileb://kafka.client.keystore.jks --region $REGION_NAME

可以在 Secrets Manager 控制台中验证新创建的密钥。

4.10 — 在新终端设置 Kafka 消费者,同时保持生产者会话处于活动状态。

注意:可以在 AWS Cloud9 控制台中选择 + 符号或 alt+T,打开新终端。

在新终端会话中,运行以下命令,设置初始变量并启动控制台生产者。

REGION_NAME="[YOUR REGION]"
TOPIC="[NAME OF THE TOPIC CREATED]"
CLUSTER_ARN="[YOUR CLUSTER ARN]"

4.11 — 运行以下命令,在 Kafka 中设置生产者和消费者,创建一个名为 client.properties 的文件,并在其中包含以下内容。如果适用,请将信任库和密钥库的位置调整为保存 kafka.client.truststore.jks 的路径。

注意:如果所有路径都是前面步骤中建议的默认值,则无需修改以下命令。

cd ~/environment/kafka_2.12-2.2.1/client
sudo nano client.properties

a. 将以下内容粘贴到弹出窗口中,然后保存并退出。 

security.protocol=SSL
ssl.truststore.location=client/kafka.client.truststore.jks
ssl.keystore.location=client/kafka.client.keystore.jks
ssl.keystore.password=myPassword
ssl.key.password=myPassword

b. 运行以下命令,验证前面添加的文本是否正确对齐。  

cat client.properties

c. 运行以下命令,启动控制台生产者。这一命令会让 AWS CLI 获取集群 ARN 的引导服务器列表,并将其保存为变量。将使用此列表连接到 Kafka 集群。

cd ~/environment/kafka_2.12-2.2.1
BOOTSTRAP_SERVER=$(aws kafka get-bootstrap-brokers --region $REGION_NAME --cluster-arn $CLUSTER_ARN | jq -r ".BootstrapBrokerStringTls")
bin/kafka-console-producer.sh --broker-list $BOOTSTRAP_SERVER --topic $TOPIC --producer.config client/client.properties

4.12 — 运行以下命令,启动 Kafka 消费者会话。

cd ~/environment/kafka_2.12-2.2.1
BOOTSTRAP_SERVER=$(aws kafka get-bootstrap-brokers --region $REGION_NAME --cluster-arn $CLUSTER_ARN | jq -r ".BootstrapBrokerStringTls")
bin/kafka-console-consumer.sh --bootstrap-server $BOOTSTRAP_SERVER --topic $TOPIC --consumer.config client/client.properties --from-beginning

您现在应该启动了 Kafka 生产者会话和消费者会话。

4.13 — 在生产者终端中输入任意字符串,然后按 Enter(回车键)发布到 Kafka 流。

步骤 5:配置 AWS IoT Core 规则以向 Kafka 流传递数据

5.1 — 创建一个具有 AWS Secrets Manager 权限的 AWS IAM 角色,以允许 AWS IoT Core 规则访问存储在 Secrets Manager 中的 Kafka 密钥库。

a. 打开 IAM 控制台,从左侧导航窗格中点击 Roles(角色),然后点击 Create role(创建角色)。

b. 对于 Select type of trusted entity(选择可信实体的类型),选择 AWS service(AWS 服务)。对于 Choose a use case(选择使用场景),选择 EC2,然后点击 Next: Permissions(下一步:权限)。

5.2 — 在 Create role(创建角色)页面上的搜索框中,输入 SecretsManagerReadWrite,选择 SecretsManagerReadWrite 策略,然后点击 Next: Tags(下一步:标签)。

5.3 — 在 Create role(创建角色)页面上的 Add tags (optional)(添加标签(可选))部分中,添加任何必要标签。然后,点击 Next: Review(下一步:检查)。

5.4 — 在 Create role(创建角色)页面上的 Review(检查)部分中,对于 Role name(角色名称),输入 kafkaRole,并(可选)添加描述。然后,点击 Create role(创建角色)。

5.5 — 创建角色后,点击新创建的 kafkaRole。在角色的 Summary(摘要)页面上,点击 Trust relationships(信任关系)选项卡,点击 Edit trust relationship(编辑信任关系),然后复制并粘贴以下详细信息。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "iot.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

5.6 — 然后,点击 Update Trust Policy(更新信任策略)。

5.7 — 打开 AWS IoT Core 控制台,然后在左侧导航栏中,点击 ACT。然后,点击 Rules(规则)。点击 Create a rule(创建规则)。

5.8 — 在 Create a rule(创建规则)页面上,输入 Name(名称)和 Description(描述)。在 Role query statement(角色查询语句)部分中,选择 SQL 版本,并输入角色查询语句。然后,点击 Add action(添加操作)。

5.9 — 在 Select an action(选择操作)页面上,选中 Send a message to an Apache Kafka cluster(将消息发送到 Apache Kafka 集群),然后点击 Configure action(配置操作)。

5.10 — 在 Configure action(配置操作)页面上,点击 Create a VPC destination(创建 VPC 目标)。

5.11 — 在 Create a VPC destination(创建 VPC 目标)页面上,选择创建 Kafka 集群的 VPC ID

5.12 — 选择 Subnet IDs(子网 ID),然后选择 Security group(安全组)。

注意:请确保选择可以访问 Kafka 集群的安全组。

选择之前创建的 EC2 实例的安全组设置和/或 Kafka 集群本身的安全组。

5.13 — 点击 Create Role(创建角色),然后在 Create a new role(创建新角色)窗口中,将角色命名为 AWSKafkaTutorialTopic。然后,点击 Create role(创建角色)。

5.14 — 点击 Create Destination(创建目标)。

注意:目标需要 5-10 分钟才能变为已启用状态。状态变为 Enabled(已启用)后,返回规则创建页面。

5.15 — 在 Web 浏览器中,导航至先前打开的 AWS IoT - Rules - Configuration action(AWS IoT - 规则 - 配置操作)页面。然后,从下拉列表中选择新创建的 VPC Destination(VPC 目标),并对 Kafka topic(Kafka 主题)输入 AWSKafkaTutorialTopic。保留 Key(键)和 Partition(分区)为空。

5.16 — 在 Configure action(配置操作)页面上的 Client properties(客户端属性)部分中,输入以下详细信息。

  • Bootstrap.server = Kafka 集群的 TLS 引导字符串
  • security.protocol = SSL
  • ssl.truststore = 保留为空
  • ss.truststore.password = 保留为空
  • ssl.keystore = ${get_secret('Kafka_Keystore','SecretBinary','arn:aws:iam::[YOUR ROLE ARN FOR IAM]:role/kafkaRole')}
  • ssl.keystore.password = myPassword

    注意:密码是您为 myPassword 输入的变量,该变量在前面的步骤中进行了配置。

5.17 — 然后,点击 Add action(添加操作)。

5.18 — 在 Create a rule(创建规则)页面上,点击 Create rule(创建规则)。

5.19 — 使用以下步骤测试 MQTT 流。

a. 在 AWS IoT Core 的左侧导航栏中,点击 Test(测试),然后点击 MQTT test client(MQTT 测试客户端)。

b. 在 MQTT test client(MQTT 测试客户端)页面上,点击 publish to a topic(发布到主题)选项卡。

c. 在 Topic name(主题名称)下,输入名称。在 Message payload(消息负载)下,输入消息。

d. 在活动的 AWS Cloud9 消费者会话(在上一步中创建/打开)中,您应该会看到从 MQTT 主题发布并流式传输到 Kafka 消费者的数据。

步骤 6:错误日志记录

为了帮助排除错误,您可以为 AWS IoT Core 规则和服务设置错误日志记录。

6.1 — 打开 AWS IoT 控制台,然后在左侧导航栏中,点击 Settings(设置)。然后,在 Logs(日志)部分中,点击 Manage Logs(管理日志)。

a. 在 Log level(日志级别)部分中,从下拉列表中选择 Debug (most verbosity)(调试(最详细)),然后点击 Update(更新)。 

6.2 — 要创建 IoT 日志级别,请打开 IoT 控制台,并点击 Rules(规则)。然后,选择 kafkaRole

6.3 — 在 Error action(错误操作)部分中,点击 Add action(添加操作)。然后,选择 Republish message to an AWS IoT topic(将消息重新发布到 AWS IoT 主题),并点击 Configure action(配置操作)。

现在可以在 Amazon Cloudwatch、日志组和 AWS IoT 日志中查看您的 IoT 日志。

6.4 — 对于 Topic(主题),输入 iot/errors,选择 Quality of Service(服务质量),并选择 kafkaRole。然后,点击 Add action(添加操作)。

现在,可以使用 MQTT 测试客户端订阅创建的 iot/errors 主题,并轻松监控规则级别的错误消息。

步骤 7:清除

在以下步骤中,将清除在本教程中创建的资源。

删除不再使用的资源是一种最佳实践,以免持续向您收取费用。  

删除 Amazon MSK 集群

7.1 — 打开 Amazon MSK 控制台

7.2 — 点击 Clusters(集群),然后选择您在本教程中创建的 MSK cluster(MSK 集群)。

7.3 — 点击 Delete(删除)。

7.4 — 输入 delete 进行确认并点击 Delete(删除)。

删除 IoT Core 规则

7.5 — 登录 AWS Cloud9 环境,点击 Open IDE(打开 IDE),然后运行以下命令。

aws iot delete-topic-rule --rule-name myrule

删除 IAM 角色

7.6 — 打开 IAM 控制台

7.7 — 在导航栏中,点击 Roles(角色),然后选中在本教程中创建的角色 (kafkaRole) 旁边的复选框。

7.8 — 点击 Delete role(删除角色)。

7.9 — 选择 Yes, Delete(是,删除),删除 IAM 角色。

删除 AWS Secrets Manager 密钥

7.10 — 打开 Secrets Manager 控制台,然后在左侧栏中,点击 Secrets(密钥)。

7.11 — 选择 kafka_keystore 密钥。

7.12 — 在 Secret details(密钥详细信息)部分中,点击 Delete secret(删除密钥)。

删除私有 CA

7.13 — 打开 ACM Private CA 控制台

7.14 — 点击 Private CAs(私有 CA)。

7.15 — 从列表中选择您的私有 CA

7.16 — 如果您的 CA 处于 ACTIVE 状态,则必须将其禁用。在 Actions(操作)菜单上,点击 Disable(禁用)。

7.17 — 在 Actions(操作)菜单上,点击 Delete(删除)。

7.18 — 如果您的 CA 处于 PENDING_CERTIFICATE、EXPIRED 或 DISABLED 状态,请指定 7 到 30 天的恢复期。然后,点击 Delete(删除)。

注意:如果您的私有 CA 不处于其中一种状态,后续将无法恢复。

7.19 — 如果您确定要删除私有 CA,请在出现提示时选择 Permanently delete(永久删除)。私有 CA 的状态将更改为 DELETED

删除 AWS Cloud9 环境

7.20 — 打开 AWS Cloud9 控制台

7.21 — 在顶部导航栏中,选择环境所在的 AWS 区域。

7.22 — 在环境列表中,对于要删除的环境,选择该环境对应的卡式窗口标题。

7.23 — 点击 Delete(删除)。

7.24 — 在 Delete(删除)对话框中,输入 Delete,然后点击 Delete(删除)。

恭喜您

您已成功配置了 IoT 规则,使用 AWS IoT Core 和 Amazon MSK 向 Apache Kafka 集群发送消息。您现在可以通过 Apache Kafka 将 MQTT 消息安全地发送至一个高度可扩展、耐用且可靠的系统。

此页内容对您是否有帮助?

推荐的后续步骤

了解如何迁移自行管理的 Apache Kafka 集群

如果您想了解将自行管理的 Apache Kafka 集群(无论是在 Amazon EC2 上还是在本地)迁移至 Amazon MSK 的不同方法,请完成迁移实验

参加综合实践课,深入了解 Amazon MSK