现有集群的 IAM 和安全组
本页面概述了将迁移工具与现有集群结合使用的安全场景,包括为确保它们之间正常通信所需的任何配置更改。
导入 Amazon OpenSearch Service 或 Amazon OpenSearch Serverless 目标集群
对于 Amazon OpenSearch Service 或 Amazon OpenSearch Serverless 目标集群,请使用以下场景。
OpenSearch Service
对于 OpenSearch 域,通常需要两项主要配置以确保迁移解决方案的正常运行
-
安全组配置
域应具有一个安全组,允许来自适用的迁移服务(流量重放器、迁移控制台、
Reindex-from-Snapshot
)的通信。CDK 会自动创建一个osClusterAccessSG
安全组,并将其应用于迁移服务。用户随后应将此安全组添加到其现有域中以允许访问。 -
访问策略配置应为以下之一
- 允许所有访问的开放访问策略。
- 配置为至少允许适用的迁移服务(流量重放器、迁移控制台、
Reindex-from-Snapshot
)的 AWS Identity and Access Management (IAM) 任务角色访问该域。
托管服务角色映射(跨托管集群迁移)
在两个托管集群之间迁移时,例如,当两个域都使用 Amazon OpenSearch Service 创建时,请为迁移助手组件提供足够的权限以修改源集群和目标集群。
使用以下步骤授予所需权限
- 在 AWS 管理控制台中,导航到 CloudFormation > 堆栈。
- 找到以
OSMigrations-<stage>-<region>
开头的堆栈(在 CDK 部署期间创建)。 -
转到资源选项卡并找到以下 IAM 角色
arn:aws:iam::****:role/OSMigrations-<stage>-<region>-MigrationServiceTaskRoleC- arn:aws:iam::****:role/OSMigrations-<stage>-<region>-reindexfromsnapshotTaskRo- arn:aws:iam::****:role/OSMigrations-<stage>-<region>-trafficreplayerdefaultTas-
- 在源集群和目标集群中,使用以下步骤将用户映射到每个 Amazon 资源名称 (ARN): A. 访问 OpenSearch Dashboards。如果您使用的是 Elasticsearch,请访问 Kibana。 B. 导航到 Security -> Roles -> all_access。 C. 在“Mapped users”(已映射用户)部分,将每个 ARN 添加为后端角色。 D. 保存您的更改。
OpenSearch Serverless
对于 OpenSearch Serverless 集合,您需要配置网络访问策略和数据访问策略
-
网络策略配置:
集合应具有使用VPC
访问类型的网络策略。这要求在用于解决方案的 VPC 上创建 VPC 端点。VPC 端点应配置用于 VPC 的私有子网,并应附加osClusterAccessSG
安全组。 -
数据访问策略配置:
数据访问策略应授予权限,允许对集合中的所有索引执行所有索引操作(aoss:*
)。适用的迁移服务(流量重放器、迁移控制台、Reindex-from-Snapshot
)的 IAM 任务角色应作为此数据访问策略的主体。
源集群协调节点上的捕获代理
尽管 CDK 不会自动在源集群节点上设置捕获代理(演示解决方案除外),但捕获代理实例必须与 CDK 部署的资源(例如 Kafka)进行通信。本节概述了建立通信所需的步骤。
在源集群上设置捕获代理实例之前,请确保以下配置已到位
-
安全组配置:
协调节点应添加trafficStreamSourceSG
安全组,以允许将捕获的流量发送到 Kafka。 -
IAM 策略配置:
协调节点使用的 IAM 角色应具有将捕获的流量发布到 Kafka 的权限。您可以通过 AWS 控制台添加以下模板策略(IAM 角色 → 添加权限 → 创建内联策略 → JSON 视图)
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "kafka-cluster:Connect",
"Resource": "arn:aws:kafka:<REGION>:<ACCOUNT-ID>:cluster/migration-msk-cluster-<STAGE>/*",
"Effect": "Allow"
},
{
"Action": [
"kafka-cluster:CreateTopic",
"kafka-cluster:DescribeTopic",
"kafka-cluster:WriteData"
],
"Resource": "arn:aws:kafka:<REGION>:<ACCOUNT-ID>:topic/migration-msk-cluster-<STAGE>/*",
"Effect": "Allow"
}
]
}