【问题标题】:Amazon EMR - missing ingress rule from EmrManagedMasterSecurityGroup on port 9443Amazon EMR - 端口 9443 上缺少来自 EmrManagedMasterSecurityGroup 的入口规则
【发布时间】:2022-02-16 08:12:09
【问题描述】:

我正在努力解决这个问题,但不知道为什么

  1. 我有一个 EMR 集群要部署在 AWS 私有子网中。
  2. 我查看了文档here
  3. 从上面我了解到以下几点:

一个。对于我的 EMR custom 安全组,我不需要为端口 9443 指定入口规则,即它可以与 ElasticMapReduce-Master-Private 相同。以下是我的主/从实例的 EMR 托管安全组的入站/出站规则(NOT 服务)

出站

入站

b.对于我的自定义服务安全组,我可以将其与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 说我需要这个而我不需要这个?从文档中不清楚这在哪里提到,所以如果有人能澄清这里的预期,我将不胜感激。

问候,

【问题讨论】:

  • 你能解决这个问题吗?
  • @alex 不完全 - 当您的组织“过度管理”AWS 时,这也是可能的 - 我不得不使用 TF destroy 销毁所有内容,然后重新创建它。

标签: amazon-emr aws-security-group


【解决方案1】:

主实例和任务实例的 SG 是否相同?

我的主实例和任务实例有不同的 SG,我通过对两者使用相同的 SG 解决了这个问题

【讨论】:

  • 我的 Master 和 Task 实例都有相同的安全组,但我仍然面临同样的问题
猜你喜欢
  • 2018-09-24
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 2014-07-22
相关资源
最近更新 更多