Amazon EMR 퍼블릭 액세스 차단 사용 - Amazon EMR

Amazon EMR 퍼블릭 액세스 차단 사용

Amazon EMR 퍼블릭 액세스 차단(BPA)을 사용하면 클러스터에 포트의 퍼블릭 IP 주소로부터 들어오는 인바운드 트래픽을 허용하는 보안 구성이 있는 경우 퍼블릭 서브넷에서 클러스터를 시작할 수 없습니다.

중요

퍼블릭 액세스 차단은 기본적으로 활성화되어 있습니다. 계정 보호를 강화하려면 이 기능을 활성화된 상태로 유지하는 것이 좋습니다.

퍼블릭 액세스 차단 이해

퍼블릭 액세스 차단 계정 수준 구성을 사용하여 Amazon EMR 클러스터에 대한 퍼블릭 네트워크 액세스를 중앙에서 관리할 수 있습니다.

AWS 계정의 사용자가 클러스터를 시작하면 Amazon EMR은 클러스터의 보안 그룹에서 포트 규칙을 확인하고 이를 인바운드 트래픽 규칙과 비교합니다. 보안 그룹에 퍼블릭 IP 주소 IPv4 0.0.0.0/0 또는 IPv6: :/0에 대해 포트를 여는 인바운드 규칙이 있고 해당 포트가 계정에 대한 예외로 지정되지 않은 경우 Amazon EMR은 사용자의 클러스터 생성을 허용하지 않습니다.

사용자가 계정의 BPA 구성을 위반하는 퍼블릭 액세스 규칙을 포함하도록 퍼블릭 서브넷에서 실행 중인 클러스터의 보안 그룹 규칙을 수정하는 경우 Amazon EMR은 해당 권한이 있는 경우 새 규칙을 취소합니다. Amazon EMR이 규칙을 취소할 권한이 없는 경우 위반을 설명하는 이벤트를 AWS Health 대시보드에서 생성합니다. Amazon EMR에 규칙 취소 권한을 부여하려면 보안 그룹 규칙을 철회하도록 Amazon EMR 구성 섹션을 참조하세요.

AWS 계정의 모든 AWS 리전에 있는 모든 클러스터에 대해 퍼블릭 액세스 차단은 기본적으로 활성화되어 있습니다. BPA는 클러스터의 전체 수명 주기에 적용되지만 프라이빗 서브넷에서 생성하는 클러스터에는 적용되지 않습니다. BPA 규칙에 예외를 구성할 수 있습니다. 포트 22는 기본적으로 예외입니다. 예외 설정에 대한 자세한 내용은 퍼블릭 액세스 차단 구성 섹션을 참조하세요.

퍼블릭 액세스 차단 구성

언제든지 계정의 보안 그룹 및 퍼블릭 액세스 차단 구성을 업데이트할 수 있습니다.

AWS Management Console, AWS Command Line Interface(AWS CLI) 및 Amazon EMR API를 사용하여 퍼블릭 액세스 차단(BPA) 설정을 켜거나 끌 수 있습니다. 설정은 리전별로 계정에 적용됩니다. 클러스터 보안을 유지하려면 BPA를 사용하는 것이 좋습니다.

New console
참고

보다 사용하기 쉽도록 Amazon EMR 콘솔을 재설계했습니다. 이전 콘솔과 새 콘솔 간 차이점에 대해서는 콘솔의 새로운 기능 섹션을 참조하세요.

새 콘솔을 사용하여 퍼블릭 액세스 차단 기능을 구성하는 방법
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/emr/에서 Amazon EMR 콘솔을 엽니다.

  2. 구성하려는 리전이 아직 선택되지 않은 경우 상단 탐색 모음에서 리전이 선택되어 있는지 확인합니다.

  3. 왼쪽 탐색 창의 EMR on EC2에서 퍼블릭 액세스 차단을 선택합니다.

  4. Block public access settings(퍼블릭 액세스 차단 설정)에서 다음 단계를 완료합니다.

    원하는 작업 수행할 작업

    퍼블릭 액세스 차단 설정 또는 해제

    편집을 선택하고 필요에 따라 켜기 또는 끄기를 선택한 다음 저장을 선택합니다.

    예외 목록에서 포트 편집

    1. 편집을 선택하고 포트 범위 예외 섹션을 찾습니다.

    2. 예외 목록에 포트를 추가하려면 Add a port range(포트 범위 추가)를 선택하고 새 포트 또는 포트 범위를 입력합니다. 추가할 각 포트 또는 포트 범위에 대해 반복합니다.

    3. 포트 또는 포트 범위를 제거하려면 포트 범위 목록의 항목 옆에 있는 제거를 선택합니다.

    4. Save를 선택합니다.

Old console
이전 콘솔을 사용하여 퍼블릭 액세스 차단 기능 구성을 보는 방법
  1. https://console.aws.amazon.com/emr에서 Amazon EMR 콘솔을 엽니다.

  2. 상단 탐색 모음에서 구성하려는 리전이 선택되어 있는지 확인합니다.

  3. Block public access(퍼블릭 액세스 차단)를 선택합니다.

  4. Block public access settings(퍼블릭 액세스 차단 설정)에서 다음 단계를 완료합니다.

    원하는 작업 수행할 작업

    퍼블릭 액세스 차단 설정 또는 해제

    변경을 선택하고 필요에 따라 설정 또는 해제를 선택한 다음 확인 표시를 선택하여 확인합니다.

    예외 목록에서 포트 편집

    1. Exceptions(예외)에서 편집을 선택합니다.

    2. 예외 목록에 포트를 추가하려면 Add a port range(포트 범위 추가)를 선택하고 새 포트 또는 포트 범위를 입력합니다. 추가할 각 포트 또는 포트 범위에 대해 반복합니다.

    3. 포트 또는 포트 범위를 제거하려면 포트 범위 목록의 항목 옆에 있는 x를 선택합니다.

    4. 변경 사항 저장을 선택합니다.

AWS CLI
AWS CLI을 사용하여 퍼블릭 액세스 차단을 구성하려면
  • 다음 예제와 같이 aws emr put-block-public-access-configuration 명령을 사용하여 퍼블릭 액세스 차단을 구성합니다.

    원하는 작업 수행할 작업

    퍼블릭 액세스 차단 설정

    다음 예제에 표시된 대로 BlockPublicSecurityGroupRulestrue로 설정합니다. 클러스터를 시작하려면 클러스터와 연결된 보안 그룹에 퍼블릭 액세스를 허용하는 인바운드 규칙이 없어야 합니다.

    aws emr put-block-public-access-configuration --block-public-access-configuration BlockPublicSecurityGroupRules=true

    퍼블릭 액세스 차단 해제

    다음 예제에 표시된 대로 BlockPublicSecurityGroupRulesfalse로 설정합니다. 클러스터와 연결된 보안 그룹에는 모든 포트에서 퍼블릭 액세스를 허용하는 인바운드 규칙이 있을 수 있습니다. 이 구성은 권장하지 않습니다.

    aws emr put-block-public-access-configuration --block-public-access-configuration BlockPublicSecurityGroupRules=false

    퍼블릭 액세스 차단 설정 및 포트를 예외로 지정

    다음 예는 퍼블릭 액세스 차단을 설정하고 포트 22 및 포트 100-101을 예외로 지정합니다. 이렇게 하면 연결된 보안 그룹에 포트 22, 포트 100 또는 포트 101에서의 퍼블릭 액세스를 허용하는 인바운드 규칙이 있는 경우 클러스터를 생성할 수 있습니다.

    aws emr put-block-public-access-configuration --block-public-access-configuration '{ "BlockPublicSecurityGroupRules": true, "PermittedPublicSecurityGroupRuleRanges": [ { "MinRange": 22, "MaxRange": 22 }, { "MinRange": 100, "MaxRange": 101 } ] }'

보안 그룹 규칙을 철회하도록 Amazon EMR 구성

Amazon EMR에는 보안 그룹 규칙을 취소하고 퍼블릭 액세스 차단 구성을 준수할 수 있는 권한이 필요합니다. 다음 접근 방식 중 하나를 사용하여 Amazon EMR에 필요한 권한을 부여할 수 있습니다.

  • (권장) AmazonEMRServicePolicy_v2 관리형 정책을 서비스 역할에 연결합니다. 자세한 내용은 Amazon EMR의 서비스 역할(EMR 역할) 섹션을 참조하세요.

  • 보안 그룹에서 ec2:RevokeSecurityGroupIngress 작업을 허용하는 새 인라인 정책을 생성합니다. 역할 권한 정책을 수정하는 방법에 대한 자세한 내용은 IAM 사용 설명서에서 IAM 콘솔, AWS APIAWS CLI역할 권한 정책 수정을 참조하세요.

퍼블릭 액세스 차단 위반 해결

퍼블릭 액세스 차단 위반이 발생하는 경우 다음 작업 중 하나로 위반을 완화할 수 있습니다.

  • 클러스터의 웹 인터페이스에 액세스하려면 Amazon EMR 클러스터에 호스팅된 웹 인터페이스 보기에 설명된 옵션 중 하나를 사용하여 SSH(포트 22)를 통해 인터페이스에 액세스합니다.

  • 퍼블릭 IP 주소 대신 특정 IP 주소에서 클러스터로 들어오는 트래픽을 허용하려면 보안 그룹 규칙을 추가합니다. 자세한 내용은 Amazon EC2 시작하기 설명서에서 보안 그룹에 규칙 추가를 참조하세요.

  • (권장되지 않음) 원하는 포트 또는 포트 범위를 포함하도록 Amazon EMR BPA 예외를 구성할 수 있습니다. BPA 예외를 지정하면 보호되지 않는 포트로 인한 위험이 발생합니다. 예외를 지정하려는 경우 더 이상 필요하지 않은 예외는 즉시 제거해야 합니다. 자세한 내용은 퍼블릭 액세스 차단 구성 섹션을 참조하세요.

보안 그룹 규칙과 연결된 클러스터 식별

지정된 보안 그룹 규칙과 연결된 모든 클러스터를 식별하거나 지정된 클러스터의 보안 그룹 규칙을 찾아야 할 수 있습니다.

  • 보안 그룹을 알고 있는 경우 보안 그룹의 네트워크 인터페이스를 찾으면 관련 클러스터를 식별할 수 있습니다. 자세한 내용은 AWS re:Post에서 How can I find the resources associated with an Amazon EC2 security group?을 참조하세요. 이러한 네트워크 인터페이스에 연결된 Amazon EC2 인스턴스에는 해당 인스턴스가 속한 클러스터의 ID 태그가 지정됩니다.

  • 알려진 클러스터의 보안 그룹을 찾으려면 클러스터 상태 및 세부 정보 보기의 단계를 수행합니다. 클러스터의 보안 그룹은 콘솔의 네트워크 및 보안 패널 또는 AWS CLI의 Ec2InstanceAttributes 필드에서 찾을 수 있습니다.