퍼블릭 액세스 - Amazon Managed Streaming for Apache Kafka

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

퍼블릭 액세스

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

추가 비용 없이 MSK 클러스터에 대한 공개 액세스를 활성화할 수 있지만 표준AWS클러스터 내/외부로 데이터를 전송할 때 데이터 전송 요금이 적용됩니다. 요금에 대한 자세한 내용은 단원을 참조하십시오.Amazon EC2 온디맨드 요금.

클러스터에 대한 공용 액세스를 설정하려면 먼저 클러스터가 다음 조건을 모두 충족하는지 확인합니다.

  • 클러스터와 연결된 서브넷은 공용이어야 합니다. 즉, 서브넷에는 인터넷 게이트웨이가 연결된 연결된 라우팅 테이블이 있어야 합니다. 인터넷 게이트웨이 생성 및 연결 방법에 대한 자세한 내용은 단원을 참조하십시오.인터넷 게이트웨이자세한 내용은 Amazon VPC 사용 설명서를 참조하십시오.

  • 인증되지 않은 액세스 제어는 해제되어 있어야 하며 다음 액세스 제어 방법 중 하나 이상이 켜져 있어야 합니다. SASL/IAM, SASL/스크램, MTL. 클러스터의 액세스 제어 방법을 업데이트하는 방법에 대한 자세한 내용은 단원을 참조하십시오.클러스터의 보안 설정 업데이트.

  • 클러스터 내의 암호화가 켜져 있어야 합니다. 클러스터를 생성할 때 on이 기본값입니다. 해제된 상태로 생성된 클러스터에 대해서는 클러스터 내에서 암호화를 켤 수 없습니다. 따라서 클러스터 내에서 암호화가 해제된 상태로 생성된 클러스터에 대해서는 공용 액세스를 켤 수 없습니다.

  • 브로커와 클라이언트 간의 일반 텍스트 트래픽은 해제되어야 합니다. 켜져 있는 경우 이를 끄는 방법에 대한 자세한 내용은 단원을 참조하십시오.클러스터의 보안 설정 업데이트.

  • SASL/SRAM 또는 MTLS 액세스 제어 방법을 사용하는 경우 클러스터에 대해 아파치 카프카 ACL을 설정해야 한다. 클러스터에 대한 Apache Kafka ACL을 설정한 후 클러스터의 구성을 업데이트하여 속성을 갖습니다.allow.everyone.if.no.acl.found클러스터에 대해 false로 설정합니다. 클러스터의 구성을 업데이트하는 방법에 대한 자세한 내용은 단원을 참조하십시오.Amazon MSK 구성 작업. IAM 액세스 제어를 사용하고 있으며 권한 부여 정책을 적용하거나 권한 부여 정책을 업데이트하려면 단원을 참조하십시오.IAM 액세스 제어. Apache Kafka ACL에 대한 자세한 내용은 단원을 참조하십시오Apache Kafka ACL.

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

중요

퍼블릭 액세스를 설정하는 것 외에도 클러스터의 보안 그룹에 IP 주소로부터의 퍼블릭 액세스를 허용하는 인바운드 TCP 규칙이 있는지 확인합니다. 이 규칙을 최대한 제한적으로 만드는 것이 좋습니다. 보안 그룹 및 인바운드 규칙에 대한 자세한 내용은 단원을 참조하십시오.VPC의 보안 그룹자세한 내용은 Amazon VPC 사용 설명서를 참조하십시오. 포트 번호는 단원을 참조하십시오.포트 정보. 클러스터의 보안 그룹을 변경하는 방법에 대한 지침은 단원을 참조하십시오.Amazon MSK 클러스터의 보안 그룹 변경.

참고

다음 지침에 따라 공용 액세스를 설정했는데도 여전히 클러스터에 액세스할 수 없는 경우 을 참조하십시오.공용 액세스가 설정된 클러스터에 액세스할 수 없음.

콘솔을 사용하여 퍼블릭 액세스 켜기

  1. 에 로그인합니다AWS Management Console를 누르고 다음 위치에서 아마존 MSK 콘솔을 엽니다.https://console.aws.amazon.com/msk/home?region=us-east-1#/home/.

  2. 클러스터 목록에서 퍼블릭 액세스를 설정할 클러스터를 선택합니다.

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

  4. 선택퍼블릭 액세스 편집.

을 사용하여 퍼블릭 액세스 켜기AWS CLI

  1. 다음을 실행합니다.AWS CLI명령, 바꾸기ClusterArn현재 클러스터 버전ARN 및 클러스터의 현재 버전을 사용합니다. 클러스터의 현재 버전을 찾으려면DescribeCluster작업 또는describe-clusters 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의 출력에서 얻은 ARN 사용합니다.update-connectivity명령.

    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 명령을 다시 실행합니다.

아마존 MSK API를 사용하여 퍼블릭 액세스 활성화

  • API를 사용하여 클러스터에 대한 공개 액세스를 켜거나 끄려면 단원을 참조하십시오.UpdateConnectivity.

참고

보안상의 이유로 Amazon MSK는 Apache에 대한 공개 액세스를 허용하지 않습니다. ZooKeeper 노드. Apache에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 ZooKeeper 내부에서 MSK 클러스터의 노드AWS, 참조아파치에 대한 액세스 제어 ZooKeeper.