amazon-emr - Amazon EMR - 端口 9443 上缺少来自 EmrManagedMasterSecurityGroup 的入口规则
问题描述
我试图解决这个问题,但无法弄清楚为什么
- 我有一个 EMR 集群要部署在 AWS 私有子网中。
- 我在这里检查了文档。
- 从上面我理解了以下内容:
一个。对于我的 EMR自定义安全组,我不需要为端口 9443 指定入口规则,即它可以与ElasticMapReduce-Master-Private
. 以下是我的主/从实例的 EMR 托管安全组的入站/出站规则(非服务)
湾。对于我的自定义服务安全组,我可以保持与 相同ElasticMapReduce-ServiceAccess
,我需要为端口 9443 指定入口规则,如下所示(Terraform):
resource "aws_security_group_rule" "allow_tcp_from_master_to_service" {
type = "ingress"
from_port = 9443
to_port = 9443
protocol = "tcp"
security_group_id = join("", aws_security_group.ml.*.id)
source_security_group_id = join("", aws_security_group.ml_emr.*.id)
lifecycle {
create_before_destroy = false
}
}
但是当我使用 terraform 部署它时,我得到了 AWS 错误:
Error waiting for EMR Cluster state to be "WAITING" or "RUNNING": TERMINATED_WITH_ERRORS: VALIDATION_ERROR: ServiceAccessSecurityGroup is missing ingress rule from EmrManagedMasterSecurityGroup on port 9443
我很难理解为什么 AWS 在我不需要的时候说我需要这个?从文档中不清楚这在哪里提到,所以如果有人能澄清这里的预期,我将不胜感激。
问候,
解决方案
主实例和任务实例的 SG 是否相同?
我对主实例和任务实例有不同的 SG,我通过对两者使用相同的 SG 来解决它
推荐阅读
- google-apps-script - Hmac256 Signature invalid error Google App Script
- php - 在生产中更新 .json 文件
- azure - AKS LoadBalancer 仅将流量发送到一个 pod
- python - Telnet 从跳转启动服务器(linux)切换
- parse-platform - 无法在 javascript 中初始化 Parse
- mysql - 遍历一个表中的记录并通过计算将它们添加到另一个表中
- sql-server - 带有 raiserror 语句错误的 MSSQL 案例?
- ios - 在 iOS 中为 Pjsip 打开 SSL 和 TLS 问题
- serilog - Serilog 的 StoredProcedure 自定义接收器
- jquery - 第二次检查单选按钮未显示