

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

# 设置 MSK Connect 所需的资源
<a name="mkc-tutorial-setup"></a>

在此步骤中，您需创建此入门场景所需的以下资源：
+ 一个 Amazon S3 存储桶，用作从连接器接收数据的目的地。
+ 一个 MSK 集群，您将向其发送数据。然后，连接器将从此集群读取数据并将其发送到目标 S3 存储桶。
+ 一项 IAM 策略，包含写入目标 S3 存储桶的权限。
+ 一个 IAM 角色，允许连接器写入目标 S3 存储桶。您将所创建的 IAM 策略添加至此角色。
+ 一个 Amazon VPC 端点，可以将数据从具有集群和连接器的 Amazon VPC 发送到 Amazon S3。

**创建 S3 存储桶**

1. 登录 AWS 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 选择 **创建存储桶 **。

1. 对于存储桶名称，输入一个描述性名称，例如 `amzn-s3-demo-bucket-mkc-tutorial`。

1. 向下滚动并选择**创建存储桶**。

1. 在存储桶列表中，选择您新创建的存储桶。

1. 请选择 **Create folder**（创建文件夹）。

1. 输入 `tutorial` 作为文件夹的名称，然后向下滚动并选择**创建文件夹**。

**创建集群**

1. 在[https://console.aws.amazon.com/msk/家打开亚马逊 MSK 控制台？ region=us](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)-east-1\$1/home/。

1. 在左侧窗格的 **MSK 集群**下，选择**集群**。

1. 选择**创建集群**。

1. 对于**创建方法**，请选择**自定义创建**。

1. 对于集群名称，请输入 **mkc-tutorial-cluster**。

1. 在**集群类型**中，选择**已预置**。

1. 选择**下一步**。

1. 在**网络**下，选择“Amazon VPC”。然后选择想要使用的可用区和子网。请记住您选择的 Amazon VPC 和子网，因为您将在本教程的后面部分中使用它们。 IDs 

1. 选择**下一步**。

1. 在**访问控制方法**下，确保仅选择**未经身份验证的访问**。

1. 在**加密**下，确保仅选择**明文**。

1. 继续执行向导，然后选择**创建集群**。这会将您引导至该集群的“详细信息”页面。在该页面的**已应用的安全组**下，找到安全组 ID。记住该 ID，因为您将在本教程的后面部分需要它。

**创建有权写入 S3 存储桶的 IAM 策略**

1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在导航窗格中，选择**策略**。

1. 选择**创建策略**。

1. 在**策略编辑器**中，选择 **JSON**，然后将编辑器窗口中的 JSON 替换为以下 JSON。

   在以下示例中，*<amzn-s3-demo-bucket-my-tutorial>*替换为您的 S3 存储桶的名称。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowListBucket",
         "Effect": "Allow",
         "Action": [
           "s3:ListBucket",
           "s3:GetBucketLocation"
         ],
         "Resource": "arn:aws:s3:::<amzn-s3-demo-bucket-my-tutorial>"
       },
       {
         "Sid": "AllowObjectActions",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:DeleteObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts",
           "s3:ListBucketMultipartUploads"
         ],
         "Resource": "arn:aws:s3:::<amzn-s3-demo-bucket-my-tutorial>/*"
       }
     ]
   }
   ```

------

   有关如何写入安全策略的说明，请参阅 [IAM 访问控制](iam-access-control.md)。

1. 选择**下一步**。

1. 在**查看和创建**页面中，请执行以下操作：

   1. 对于**策略名称**，输入一个描述性名称，例如 **mkc-tutorial-policy**。

   1. **在此策略中定义的权限**中，查看 and/or 编辑策略中定义的权限。

   1. （可选）为了帮助识别、组织或搜索策略，请选择**添加新标签**以键值对形式添加标签。例如，使用 **Environment** 和 **Test** 的键值对向策略添加标签。

      有关使用标签的更多信息，请参阅 *IAM 用户指南*中的[AWS Identity and Access Management 资源标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 选择**创建策略**。

**创建可以写入目标存储桶的 IAM 角色**

1. 在 IAM 控制台的导航窗格中，选择**角色**，然后选择**创建角色**。

1. 在**选择受信任的实体**页面上，请执行以下操作：

   1. 对于 **Trusted entity type**（可信实体类型），选择 **AWS 服务**。

   1. 对于**服务或使用案例**，选择 **S3**。

   1. 在**使用案例**下，选择 **S3**。

1. 选择**下一步**。

1. 在 **Add permissions**（添加权限）页面上，请执行以下操作：

   1. 在搜索框的**权限策略**下，输入您之前为本教程创建的策略的名称。例如 **mkc-tutorial-policy**。然后，选中策略名称左侧的框。

   1. （可选）设置[权限边界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。这是一项高级功能，可用于服务角色，但不可用于服务相关角色。有关设置权限边界的信息，请参阅《IAM 用户指南》**中的[创建角色和附加策略（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions_create-policies.html)。

1. 选择**下一步**。

1. 在 **Name, review, and create**（命名、查看和创建）页面中，请执行以下操作：

   1. 对于**角色名称**，输入一个描述性名称，例如 **mkc-tutorial-role**。
**重要**  
命名角色时，请注意以下事项：  
角色名称在您内部必须是唯一的 AWS 账户，并且不能因大小写而变得唯一。  
例如，不要同时创建名为 **PRODROLE** 和 **prodrole** 的角色。当角色名称在策略中使用或者作为 ARN 的一部分时，角色名称区分大小写，但是当角色名称在控制台中向客户显示时（例如，在登录期间），角色名称不区分大小写。
创建角色后，您无法编辑该角色的名称，因为其他实体可能会引用该角色。

   1. （可选）对于**描述**，输入角色的描述。

   1. （可选）要编辑角色的使用案例和权限，请在**步骤 1：选择可信实体**或**步骤 2：添加权限**部分中选择**编辑**。

   1. （可选）为了帮助识别、组织或搜索角色，请选择**添加新标签**以键值对形式添加标签。例如，使用 **ProductManager** 和 **John** 的键值对向角色添加标签。

      有关使用标签的更多信息，请参阅 *IAM 用户指南*中的[AWS Identity and Access Management 资源标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

1. 检查该角色，然后选择**创建角色**。

**允许 MSK Connect 代入该角色**

1. 在 IAM 控制台的左侧窗格中，在**访问管理**下，选择**角色**。

1. 找到 `mkc-tutorial-role` 并将其选中。

1. 在角色的**摘要**下，选择**信任关系**选项卡。

1. 选择**编辑信任关系**。

1. 将现有信任策略替换为以下 JSON。

------
#### [ JSON ]

****  

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

------

1. 选择**更新信任策略**。

**创建从集群的 VPC 到 Amazon S3 的 Amazon VPC 端点**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在左侧窗格中，选择**端点**。

1. 选择**创建端点**。

1. 在**服务名称**下，选择 **com.amazonaws.us-east-1.s3** 服务和**网关**类型。

1. 选择集群的 VPC，然后选中与集群子网关联的路由表左侧的复选框。

1. 选择**创建端点**。

**下一步**

[创建自定义插件](mkc-create-plugin.md)