MSK 클러스터에 대한 퍼블릭 액세스 활성화 - Amazon Managed Streaming for Apache Kafka

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

MSK 클러스터에 대한 퍼블릭 액세스 활성화

AmazonMSK은 Apache Kafka 2.6.0 이상 버전을 실행하는 MSK 클러스터의 브로커에 대한 퍼블릭 액세스를 켤 수 있는 옵션을 제공합니다. 보안상의 이유로 MSK 클러스터를 생성하는 동안에는 퍼블릭 액세스를 켤 수 없습니다. 그러나 기존 클러스터를 업데이트하여 공개적으로 액세스할 수 있도록 할 수 있습니다. 새 클러스터를 만든 다음 업데이트하여 공개적으로 액세스할 수 있도록 할 수도 있습니다.

추가 비용 없이 MSK 클러스터에 대한 퍼블릭 액세스를 활성화할 수 있지만 클러스터 내부 및 외부 AWS 로의 데이터 전송에는 표준 데이터 전송 비용이 적용됩니다. 요금에 대한 자세한 내용은 Amazon EC2 온디맨드 요금을 참조하세요.

클러스터에 대한 퍼블릭 액세스를 활성화하려면 먼저 클러스터가 다음 조건을 모두 충족하는지 확인합니다.

  • 클러스터와 연결된 서브넷은 퍼블릭이어야 합니다. 즉, 서브넷에는 인터넷 게이트웨이가 연결된 관련 라우팅 테이블이 있어야 합니다. 인터넷 게이트웨이를 생성하고 연결하는 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서의 인터넷 게이트웨이를 참조하세요.

  • 인증되지 않은 액세스 제어는 꺼져 있어야 하며 다음 액세스 제어 방법 중 하나 이상이 켜져 있어야 합니다. SASL/IAM, SASL/SCRAM, m TLS. 클러스터의 액세스 제어 방법을 업데이트하는 방법에 대한 자세한 내용은 Amazon MSK 클러스터의 보안 설정 업데이트 섹션을 참조하세요.

  • 클러스터 내 암호화가 활성화되어 있어야 합니다. 클러스터를 생성할 때 기본 설정은 켜짐입니다. 암호화를 비활성화한 상태로 생성한 클러스터에 대해서는 클러스터 내에서 암호화를 활성화할 수 없습니다. 따라서 클러스터 내에서 암호화를 비활성화한 상태로 생성된 클러스터에 대해서는 퍼블릭 액세스를 활성화할 수 없습니다.

  • 브로커와 클라이언트 간의 일반 텍스트 트래픽은 비활성화되어 있어야 합니다. 활성화되어 있는 경우 비활성화하는 방법에 대한 자세한 내용은 Amazon MSK 클러스터의 보안 설정 업데이트 섹션을 참조하세요.

  • SASL/SCRAM 또는 mTLS 액세스 제어 방법을 사용하는 경우 클러스터에 ACLs 대해 Apache Kafka를 설정해야 합니다. 클러스터에 ACLs 대한 Apache Kafka를 설정한 후 클러스터의 구성을 업데이트하여 속성을 클러스터에 대해 falseallow.everyone.if.no.acl.found로 설정합니다. 클러스터 구성을 업데이트하는 방법에 대한 자세한 내용은 Amazon MSK 구성 작업 섹션을 참조하세요. IAM 액세스 제어를 사용 중이고 권한 부여 정책을 적용하거나 권한 부여 정책을 업데이트하려는 경우 섹션을 참조하세요IAM 액세스 제어. Apache Kafka에 대한 자세한 내용은 섹션을 ACLs참조하세요Apache Kafka ACLs.

MSK 클러스터가 위에 나열된 조건을 충족하는지 확인한 후 , AWS Management Console AWS CLI또는 Amazon을 사용하여 퍼블릭 액세스를 MSKAPI켤 수 있습니다. 클러스터에 대해 퍼블릭 액세스를 활성화한 후에는 클러스터에 대한 퍼블릭 부트스트랩 브로커 문자열을 가져올 수 있습니다. 클러스터에 대한 부트스트랩 브로커를 가져오는 방법에 대한 자세한 내용은 Amazon MSK 클러스터의 부트스트랩 브로커 가져오기 섹션을 참조하세요.

중요

퍼블릭 액세스를 켜는 것 외에도 클러스터의 보안 그룹에 IP 주소에서 퍼블릭 액세스를 허용하는 인바운드 TCP 규칙이 있는지 확인합니다. 이러한 규칙은 가능한 한 제한적으로 설정하는 것을 권장합니다. 보안 그룹 및 인바운드 규칙에 대한 자세한 내용은 Amazon VPC 사용 설명서의 에 대한 보안 그룹을 VPC 참조하세요. 포트 번호는 포트 정보 섹션을 참조하세요. 클러스터의 보안 그룹을 변경하는 방법에 대한 지침은 Amazon MSK 클러스터의 보안 그룹 변경 섹션을 참조하세요.

참고

다음 지침에 따라 퍼블릭 액세스를 활성화한 후에도 여전히 클러스터에 액세스할 수 없는 경우 퍼블릭 액세스가 활성화된 클러스터에 액세스할 수 없음 섹션을 참조하세요.

콘솔을 사용하여 퍼블릭 액세스를 활성화하려면 다음을 수행합니다.
  1. 에 로그인 AWS Management Console하고 https://console.aws.amazon.com/msk/집에서 Amazon MSK 콘솔을 엽니다.

  2. 클러스터 목록에서 퍼블릭 액세스를 활성화하려는 클러스터를 선택합니다.

  3. 속성 탭을 선택한 다음 네트워크 설정 섹션을 찾습니다.

  4. 퍼블릭 액세스 편집을 선택합니다.

를 사용하여 퍼블릭 액세스 켜기 AWS CLI
  1. 다음 AWS CLI 명령을 실행하여 ClusterArn 그리고 Current-Cluster-Version ARN 및 현재 버전의 클러스터를 사용합니다. 클러스터의 현재 버전을 찾으려면 DescribeCluster 작업 또는 describe-cluster AWS CLI 명령을 사용합니다. 버전의 예를 들면 KTVPDKIKX0DER입니다.

    aws kafka update-connectivity --cluster-arn ClusterArn --current-version Current-Cluster-Version --connectivity-info '{"PublicAccess": {"Type": "SERVICE_PROVIDED_EIPS"}}'

    update-connectivity 명령의 출력은 다음 JSON 예제와 같습니다.

    { "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }
    참고

    퍼블릭 액세스를 끄려면 비슷한 AWS CLI 명령을 사용하지만 대신 다음 연결 정보를 사용합니다.

    '{"PublicAccess": {"Type": "DISABLED"}}'
  2. update-connectivity 작업 결과를 가져오려면 다음 명령을 실행하여 ClusterOperationArn update-connectivity 명령의 출력에서 ARN 얻은 를 사용합니다.

    aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn

    describe-cluster-operation 명령의 출력은 다음 JSON 예제와 같습니다.

    { "ClusterOperationInfo": { "ClientRequestId": "982168a3-939f-11e9-8a62-538df00285db", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-06-20T21:08:57.735Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "UPDATE_CONNECTIVITY", "SourceClusterInfo": { "ConnectivityInfo": { "PublicAccess": { "Type": "DISABLED" } } }, "TargetClusterInfo": { "ConnectivityInfo": { "PublicAccess": { "Type": "SERVICE_PROVIDED_EIPS" } } } } }

    OperationState 값이 UPDATE_IN_PROGRESS인 경우, 잠시 기다린 다음 describe-cluster-operation 명령을 다시 실행합니다.

Amazon을 사용하여 퍼블릭 액세스 켜기 MSK API
  • API 를 사용하여 클러스터에 대한 퍼블릭 액세스를 켜거나 끄려면 섹션을 참조하세요UpdateConnectivity.

참고

보안상의 이유로 AmazonMSK은 Apache ZooKeeper 또는 KRaft 컨트롤러 노드에 대한 퍼블릭 액세스를 허용하지 않습니다.