BOM - AWS MSK 리소스 목록

Terraform의 Amazon MSK 클러스터를 자산 목록에 정리하고 운영 책임과 보안 설정을 확인합니다. 자산 목록에 포함된 것 자체는 취약점을 뜻하지 않습니다.

설명

Amazon MSK는 Apache Kafka 기반의 스트리밍 애플리케이션을 운영하는 관리형 서비스입니다. Terraform에서는 aws_msk_cluster 리소스로 클러스터를 정의합니다. 인벤토리(BOM)는 이러한 자산을 목록으로 정리해 관리하는 데 사용합니다.

자산 목록에 포함되었다는 사실만으로 클러스터에 취약점이 있거나 태그가 누락되었다고 판단할 수는 없습니다. 보안 상태는 각 클러스터의 실제 설정과 운영 환경을 확인해 평가해야 합니다.

활용 목적

  • 클러스터를 담당 팀, 서비스, 환경과 연결해 관리할 수 있습니다.
  • 클러스터별 네트워크 접근, 암호화, 인증, 로그와 모니터링을 별도 점검 대상으로 정리할 수 있습니다.
  • Terraform 구성과 배포 환경의 자산 목록을 비교해 관리 정보의 차이를 확인할 수 있습니다.

후속 점검

  • 클러스터를 자산 목록에 등록하고 용도와 담당자를 확인하세요.
  • 실제 배포 설정과 서비스 기본값을 확인해 네트워크 접근과 암호화 상태를 점검하세요.
  • 태그로 용도와 환경을 표시하고, 네트워크 노출·암호화·인증·로그 설정은 각각의 보안 점검으로 검토하세요.

인벤토리 예시

두 예시는 태그 유무에 따른 자산 관리 정보의 차이를 보여 줍니다. 태그는 용도와 환경을 구분하는 데 도움이 되지만, 그 자체로 암호화나 접근 제어를 설정하지는 않습니다. 버전과 리소스 ID는 설명용 값입니다.

태그가 없는 클러스터

hcl
resource "aws_msk_cluster" "streaming" {
  cluster_name           = "streaming"
  kafka_version          = "3.6.0"
  number_of_broker_nodes = 3

  broker_node_group_info {
    instance_type   = "kafka.m5.large"
    client_subnets  = ["subnet-a", "subnet-b", "subnet-c"]
    security_groups = ["sg-12345678"]
  }
}

태그를 추가한 클러스터

hcl
resource "aws_msk_cluster" "streaming" {
  cluster_name           = "streaming"
  kafka_version          = "3.6.0"
  number_of_broker_nodes = 3

  broker_node_group_info {
    instance_type   = "kafka.m5.large"
    client_subnets  = ["subnet-a", "subnet-b", "subnet-c"]
    security_groups = ["sg-12345678"]
  }

  tags = {
    Service     = "streaming"
    Environment = "production"
  }
}

설명:

  • 태그가 없는 클러스터: 클러스터의 기본 구성을 정의했지만 서비스와 환경을 나타내는 태그는 지정하지 않았습니다.
  • 태그를 추가한 클러스터: Service와 Environment로 운영 맥락을 보완했습니다. 이 태그만으로 암호화나 접근 제어가 설정되지는 않습니다.

참조