Amazon EMR 관리형 보안 그룹 작업 - Amazon EMR

Amazon EMR 관리형 보안 그룹 작업

참고

Amazon EMR은 '마스터' 및 '슬레이브'와 같이 잠재적으로 불쾌감을 주거나 포괄적이지 않은 업계 용어에 대해 포괄적인 대안을 사용하는 것을 목표로 합니다. 보다 포괄적인 경험을 제공하고 서비스 구성 요소에 대한 이해를 돕기 위해 새로운 용어로 바꾸었습니다.

이제 '노드'를 인스턴스로 기술하고 Amazon EMR 인스턴스 유형을 프라이머리, 코어태스크 인스턴스로 기술합니다. 전환 중에도 Amazon EMR의 보안 그룹과 관련된 용어와 같이 오래된 용어에 대한 레거시 참조를 계속 찾을 수 있습니다.

다른 관리형 보안 그룹은 프라이머리 인스턴스 및 클러스터의 코어 및 태스크 인스턴스와 연관됩니다. 개인 서브넷에 클러스터를 만들 때 서비스 액세스를 위한 추가 관리형 보안 그룹이 필요합니다. 네트워크 구성과 관련된 관리형 보안 그룹의 역할에 대한 자세한 내용은 Amazon VPC 옵션 단원을 참조하십시오.

클러스터에 대해 관리형 보안 그룹을 지정하는 경우 모든 관리형 보안 그룹에 대해 동일한 유형의 보안 그룹(기본값 또는 사용자 지정)을 사용해야 합니다. 예를 들어 프라이머리 인스턴스에 대해 사용자 지정 보안 그룹을 지정한 다음 코어 및 태스크 인스턴스에 대해 사용자 지정 보안 그룹을 지정할 수 없습니다.

기본 관리형 보안 그룹을 사용하는 경우 클러스터를 만들 때 지정할 필요가 없습니다. Amazon EMR은 자동으로 기본값을 사용합니다. 또한 클러스터의 VPC에 기본값이 아직 없는 경우 Amazon EMR에서 생성합니다. 사용자가 명시적으로 지정했지만 아직 없는 경우에도 Amazon EMR에서 생성합니다.

클러스터를 생성한 후에는 관리형 보안 그룹의 규칙을 편집할 수 있습니다. 새 클러스터를 생성한 경우 Amazon EMR은 지정한 관리형 보안 그룹의 규칙을 확인한 다음 이전에 추가된 규칙 외에 새 클러스터에 필요한 누락된 인바운드 규칙을 생성합니다. 달리 구체적으로 언급되지 않은 경우 기본 Amazon EMR 관리형 보안 그룹에 대한 각 규칙은 사용자 지정 Amazon EMR 관리형 보안 그룹에도 추가됩니다.

기본 관리형 보안 그룹은 다음과 같습니다.

프라이머리 인스턴스에 대한 Amazon EMR 관리형 보안 그룹(퍼블릭 서브넷)

퍼블릭 서브넷의 프라이머리 인스턴스에 대한 기본 관리형 보안 그룹에서 그룹 이름ElasticMapReduce-primary입니다. 다음 규칙을 포함합니다. 사용자 지정 관리형 보안 그룹을 지정하는 경우 Amazon EMR은 사용자 지정 보안 그룹에 동일한 규칙을 모두 추가합니다.

유형 프로토콜 포트 범위 소스 세부 정보
인바운드 규칙
모든 ICMP-IPv4 모두 해당 사항 없음 기본 인스턴스에 대한 관리형 보안 그룹의 그룹 ID. 즉, 규칙이 나타나는 보안 그룹과 동일합니다.

이러한 재귀 규칙은 지정된 보안 그룹과 연관된 모든 인바운드 트래픽을 허용합니다. 다중 클러스터에 대해 기본 ElasticMapReduce-primary를 사용하면 해당 클러스터의 코어 및 작업 노드가 ICMP 또는 TCP 또는 UDP 포트를 통해 서로 통신할 수 있습니다. 클러스터 간 액세스를 제한하기 위해 사용자 지정 관리 보안 그룹을 지정합니다.

모든 TCP TCP 모두
모든 UDP UDP 모두
모든 ICMP - IPV4 모두 해당 사항 없음 코어 및 작업 노드에 대해 지정된 관리형 보안 그룹의 그룹 ID입니다.

이러한 규칙은 인스턴스가 다른 클러스터에 있더라도 지정된 보안 그룹과 연결된 모든 코어 및 작업 인스턴스의 모든 인바운드 ICMP 트래픽 및 TCP 또는 UDP 포트를 통한 트래픽을 허용합니다.

모든 TCP TCP 모두
모든 UDP UDP 모두
사용자 지정(Custom) TCP 8443 다양한 Amazon IP 주소 범위 이러한 규칙을 사용하면 클러스터 관리자가 프라이머리 노드와 통신할 수 있습니다.
이전 콘솔을 사용하여 신뢰할 수 있는 소스에 기본 보안 그룹에 대한 SSH 액세스 권한을 부여하는 방법

보안 그룹을 편집하려면 클러스터가 속한 VPC의 보안 그룹을 관리할 권한이 있어야 합니다. 자세한 내용은 사용자의 권한 변경IAM 사용 설명서에서 EC2 보안 그룹을 관리할 수 있는 예제 정책을 참조하세요.

  1. 새 Amazon EMR 콘솔로 이동하고 측면 탐색에서 이전 콘솔로 전환을 선택합니다. 이전 콘솔로 전환할 때 예상되는 사항에 대한 자세한 내용은 이전 콘솔 사용을 참조하세요.

  2. 클러스터를 선택하십시오. 수정할 클러스터의 이름을 선택합니다.

  3. 보안 및 액세스에서 마스터에 대한 보안 그룹 링크를 선택합니다.

  4. 목록에서 ElasticMapReduce-master를 선택합니다.

  5. 인바운드 규칙 탭을 선택한 후 인바운드 규칙 편집을 선택합니다.

  6. 다음 설정으로 퍼블릭 액세스를 허용하는 인바운드 규칙이 있는지 확인합니다. 존재하는 경우 삭제를 선택하여 제거합니다.

    • 유형

      SSH

    • 포트

      22

    • 소스

      사용자 지정 0.0.0.0/0

    주의

    2020년 12월 이전에 ElasticMapReduce-master 보안 그룹은 포트 22에서 모든 소스의 인바운드 트래픽을 허용하도록 사전 구성된 규칙을 적용했습니다. 이 규칙은 프라이머리 노드에 대한 초기 SSH 연결을 단순화하기 위해 생성되었습니다. 이 인바운드 규칙을 제거하고 신뢰할 수 있는 소스로 이동하는 트래픽을 제한하는 것이 좋습니다.

  7. 규칙 목록의 하단으로 스크롤하고 규칙 추가를 선택합니다.

  8. 유형에서 SSH를 선택합니다.

    SSH를 선택하면 프로토콜에는 TCP가 자동으로 입력되고 포트 범위에는 22가 입력됩니다.

  9. 소스의 경우 내 IP를 선택하면 IP 주소가 소스 주소로 자동 추가됩니다. 신뢰할 수 있는 사용자 지정 클라이언트 IP 주소 범위를 추가하거나 다른 클라이언트에 대한 추가 규칙을 생성할 수도 있습니다. 많은 네트워크 환경에서 IP 주소를 동적으로 할당하므로 향후에 신뢰할 수 있는 클라이언트의 IP 주소를 업데이트해야 할 수 있습니다.

  10. Save를 선택합니다.

  11. 선택적으로 목록에서 ElasticMapReduce-slave를 선택하고 위의 단계를 반복하여 코어 및 태스크 노드에 대한 SSH 클라이언트 액세스를 허용합니다.

코어 및 태스크 인스턴스에 대한 Amazon EMR 관리형 보안 그룹(퍼블릭 서브넷)

퍼블릭 서브넷의 코어 및 태스크 인스턴스에 대한 기본 관리형 보안 그룹에서 그룹 이름ElasticMapReduce-core입니다. 기본 관리형 보안 그룹에는 다음과 같은 규칙이 있고, 사용자 지정 관리형 보안 그룹을 지정하면 Amazon EMR에서 동일한 규칙을 추가합니다.

유형 프로토콜 포트 범위 소스 세부 정보
인바운드 규칙
모든 ICMP - IPV4 모두 해당 사항 없음 코어 및 작업 인스턴스에 대한 관리형 보안 그룹의 그룹 ID입니다. 즉, 규칙이 나타나는 보안 그룹과 동일합니다.

이러한 재귀 규칙은 지정된 보안 그룹과 연관된 모든 인바운드 트래픽을 허용합니다. 다중 클러스터에 대해 기본 ElasticMapReduce-core를 사용하면 해당 클러스터의 코어 및 작업 인스턴스가 ICMP 또는 TCP 또는 UDP 포트를 통해 서로 통신할 수 있습니다. 클러스터 간 액세스를 제한하기 위해 사용자 지정 관리 보안 그룹을 지정합니다.

모든 TCP TCP 모두
모든 UDP UDP 모두
모든 ICMP - IPV4 모두 해당 사항 없음 기본 인스턴스에 대한 관리형 보안 그룹의 그룹 ID.

이러한 규칙은 인스턴스가 다른 클러스터에 있더라도 지정된 보안 그룹과 연결된 모든 기본 인스턴스의 TCP 또는 UDP 포트를 통한 모든 인바운드 ICMP 트래픽 및 트래픽을 허용합니다.

모든 TCP TCP 모두
모든 UDP UDP 모두

프라이머리 인스턴스에 대한 Amazon EMR 관리형 보안 그룹(프라이빗 서브넷)

프라이빗 서브넷의 프라이머리 인스턴스에 대한 기본 관리형 보안 그룹에서 그룹 이름ElasticMapReduce-Primary-Private입니다. 기본 관리형 보안 그룹에는 다음과 같은 규칙이 있고, 사용자 지정 관리형 보안 그룹을 지정하면 Amazon EMR에서 동일한 규칙을 추가합니다.

유형 프로토콜 포트 범위 소스 세부 정보
인바운드 규칙
모든 ICMP-IPv4 모두 해당 사항 없음 기본 인스턴스에 대한 관리형 보안 그룹의 그룹 ID. 즉, 규칙이 나타나는 보안 그룹과 동일합니다.

이러한 재귀 규칙을 사용하면 지정된 보안 그룹과 관련된 모든 인스턴스에서 인바운드 트래픽을 허용하고 프라이빗 서브넷 내에서 연결할 수 있습니다. 다중 클러스터에 대해 기본 ElasticMapReduce-Primary-Private를 사용하면 해당 클러스터의 코어 및 작업 노드가 ICMP 또는 TCP 또는 UDP 포트를 통해 서로 통신할 수 있습니다. 클러스터 간 액세스를 제한하기 위해 사용자 지정 관리 보안 그룹을 지정합니다.

모든 TCP TCP 모두
모든 UDP UDP 모두
모든 ICMP - IPV4 모두 해당 사항 없음 코어 및 작업 노드에 대한 관리형 보안 그룹의 그룹 ID입니다.

이 규칙은 인스턴스가 다른 클러스터에 있더라도 지정된 보안 그룹과 연결되어 있고 프라이빗 서브넷에서 연결할 수 있는 모든 코어 및 작업 인스턴스의 모든 인바운드 ICMP 트래픽 및 TCP 또는 UDP 포트를 통한 트래픽을 허용합니다.

모든 TCP TCP 모두
모든 UDP UDP 모두
HTTPS(8443) TCP 8443 프라이빗 서브넷에서 서비스 액세스를 위한 관리형 보안 그룹의 그룹 ID입니다. 이러한 규칙을 사용하면 클러스터 관리자가 프라이머리 노드와 통신할 수 있습니다.
아웃바운드 규칙
모든 트래픽 모두 모두 0.0.0.0/0 인터넷에 대한 아웃바운드 액세스를 제공합니다.
사용자 지정 TCP TCP 9443 프라이빗 서브넷에서 서비스 액세스를 위한 관리형 보안 그룹의 그룹 ID입니다.

위의 '모든 트래픽' 기본 아웃바운드 규칙이 제거된 경우 이 규칙은 Amazon EMR 5.30.0 이상에서 최소 요구 사항입니다.

참고

Amazon EMR은 사용자 지정 관리형 보안 그룹을 사용하는 경우 이 규칙을 추가하지 않습니다.

사용자 지정 TCP TCP 80(http) 또는 443(https)) 프라이빗 서브넷에서 서비스 액세스를 위한 관리형 보안 그룹의 그룹 ID입니다.

위의 '모든 트래픽' 기본 아웃바운드 규칙이 제거된 경우 이 규칙은 Amazon EMR 5.30.0 이상에서 https를 통해 Amazon S3에 연결하기 위한 최소 요구 사항입니다.

참고

Amazon EMR은 사용자 지정 관리형 보안 그룹을 사용하는 경우 이 규칙을 추가하지 않습니다.

코어 및 태스크 인스턴스에 대한 Amazon EMR 관리형 보안 그룹(프라이빗 서브넷)

프라이빗 서브넷의 코어 및 태스크 인스턴스에 대한 기본 관리형 보안 그룹에서 그룹 이름EElasticMapReduce-Core-Private입니다. 기본 관리형 보안 그룹에는 다음과 같은 규칙이 있고, 사용자 지정 관리형 보안 그룹을 지정하면 Amazon EMR에서 동일한 규칙을 추가합니다.

유형 프로토콜 포트 범위 소스 세부 정보
인바운드 규칙
모든 ICMP - IPV4 모두 해당 사항 없음 코어 및 작업 인스턴스에 대한 관리형 보안 그룹의 그룹 ID입니다. 즉, 규칙이 나타나는 보안 그룹과 동일합니다.

이러한 재귀 규칙은 지정된 보안 그룹과 연관된 모든 인바운드 트래픽을 허용합니다. 다중 클러스터에 대해 기본 ElasticMapReduce-core를 사용하면 해당 클러스터의 코어 및 작업 인스턴스가 ICMP 또는 TCP 또는 UDP 포트를 통해 서로 통신할 수 있습니다. 클러스터 간 액세스를 제한하기 위해 사용자 지정 관리 보안 그룹을 지정합니다.

모든 TCP TCP 모두
모든 UDP UDP 모두
모든 ICMP - IPV4 모두 해당 사항 없음 기본 인스턴스에 대한 관리형 보안 그룹의 그룹 ID.

이러한 규칙은 인스턴스가 다른 클러스터에 있더라도 지정된 보안 그룹과 연결된 모든 기본 인스턴스의 TCP 또는 UDP 포트를 통한 모든 인바운드 ICMP 트래픽 및 트래픽을 허용합니다.

모든 TCP TCP 모두
모든 UDP UDP 모두
HTTPS(8443) TCP 8443 프라이빗 서브넷에서 서비스 액세스를 위한 관리형 보안 그룹의 그룹 ID입니다. 이러한 규칙을 사용하면 클러스터 관리자가 코어 및 작업 노드와 통신할 수 있습니다.
아웃바운드 규칙
모든 트래픽 모두 모두 0.0.0.0/0 자세한 내용은 아래 아웃바운드 규칙 편집 단원을 참조하십시오.
사용자 지정 TCP TCP 80(http) 또는 443(https) 프라이빗 서브넷에서 서비스 액세스를 위한 관리형 보안 그룹의 그룹 ID입니다.

위의 '모든 트래픽' 기본 아웃바운드 규칙이 제거된 경우 이 규칙은 Amazon EMR 5.30.0 이상에서 https를 통해 Amazon S3에 연결하기 위한 최소 요구 사항입니다.

참고

Amazon EMR은 사용자 지정 관리형 보안 그룹을 사용하는 경우 이 규칙을 추가하지 않습니다.

아웃바운드 규칙 편집

Amazon EMR은 기본적으로 모든 프로토콜과 포트의 모든 아웃바운드 트래픽을 허용하는 아웃바운드 규칙을 사용하여 이 보안 그룹을 생성합니다. 모든 아웃바운드 트래픽을 허용하도록 선택한 이유는 Amazon EMR 클러스터에서 실행할 수 있는 다양한 Amazon EMR 및 고객 애플리케이션에 서로 다른 송신 규칙이 필요할 수 있기 때문입니다. Amazon EMR은 기본 보안 그룹을 생성할 때 이러한 특정 설정을 예상할 수 없습니다. 사용 사례 및 보안 정책에 적합한 규칙만 포함하도록 보안 그룹에서 송신 범위를 축소할 수 있습니다. 이 보안 그룹에는 최소한 다음과 같은 아웃바운드 규칙이 필요하지만 일부 애플리케이션에는 추가 송신이 필요할 수 있습니다.

유형 프로토콜 포트 범위 대상 주소 세부 정보
모든 TCP TCP 모두 pl-xxxxxxxx 관리형 Amazon S3 접두사 목록 com.amazonaws.MyRegion.s3.
모든 트래픽 모두 모두 sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-Core-Private 보안 그룹의 ID.
모든 트래픽 모두 모두 sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-Primary-Private 보안 그룹의 ID입니다.
사용자 지정 TCP TCP 9443 sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-ServiceAccess 보안 그룹의 ID입니다.

서비스 액세스에 대한 Amazon EMR 관리형 보안 그룹(프라이빗 서브넷)

프라이빗 서브넷의 서비스 액세스에 대한 기본 관리형 보안 그룹에는 그룹 이름 ElasticMapReduce-ServiceAccess가 있습니다. HTTPS(포트 8443, 포트 9443)를 통한 트래픽을 프라이빗 서브넷의 다른 관리형 보안 그룹에 허용하는 아웃바운드 규칙과 인바운드 규칙이 있습니다. 이러한 규칙을 사용하여 클러스터 관리자는 프라이머리 노드, 그리고 코어 노드 및 태스크 노드와 통신할 수 있습니다. 사용자 지정 보안 그룹을 사용하는 경우 동일한 규칙이 필요합니다.

유형 프로토콜 포트 범위 소스 세부 정보
인바운드 규칙 Amazon EMR 릴리스 5.30.0 이상인 Amazon EMR 클러스터에 필요합니다.
사용자 지정 TCP TCP 9443 기본 인스턴스에 대한 관리형 보안 그룹의 그룹 ID입니다.

이 규칙은 프라이머리 인스턴스의 보안 그룹과 서비스 액세스 보안 그룹 간의 통신을 허용합니다.

아웃바운드 규칙 모든 Amazon EMR 클러스터에 필요함
사용자 지정 TCP TCP 8443 기본 인스턴스에 대한 관리형 보안 그룹의 그룹 ID입니다.

이러한 규칙을 사용하여 클러스터 관리자는 프라이머리 노드, 그리고 코어 노드 및 태스크 노드와 통신할 수 있습니다.

사용자 지정 TCP TCP 8443 코어 및 작업 인스턴스에 대한 관리형 보안 그룹의 그룹 ID입니다.

이러한 규칙을 사용하여 클러스터 관리자는 프라이머리 노드, 그리고 코어 노드 및 태스크 노드와 통신할 수 있습니다.