AWS

AWS DMS with MSK (Kafka, zookeeper)

Kyle79 2020. 3. 20. 14:10

https://cloud.hosting.kr/aws-database-migration-service-dms/

 

https://cloud.hosting.kr/aws-database-migration-service-dms/

 

cloud.hosting.kr

 

 

https://cloud.hosting.kr/aws-dms-database-migration-service/

 

AWS DMS (Database Migration Service) 사용자 가이드 - 메가존 AWS Cloud

AWS DMS (Database Migration Service) 사용자 가이드   작성 : 메가존 SA팀   AWS DMS(Database Migration Service)는 여러분의 온프레미스 데이터베이스를 아마존 환경으로 이전하기 위해서 제공되는 아마존의 데이터베이스 마이그레이션 서비스 입니다. 또는 아마존에 있는 데이터베이스 소스를 온프레미스에 마이그레이션도 가능합니다. 마이그레이션에서 사용되는 소스와 타겟 중 하나는 반드시 아마존 리소스(EC2

cloud.hosting.kr

 

 

https://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_Target.Kinesis.html

 

https://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_Target.Kinesis.html

AWS Database Migration Service 대상으로 Amazon Kinesis Data Streams 사용

docs.aws.amazon.com

 

https://aws.amazon.com/ko/blogs/database/use-the-aws-database-migration-service-to-stream-change-data-to-amazon-kinesis-data-streams/

 

Use the AWS Database Migration Service to Stream Change Data to Amazon Kinesis Data Streams | Amazon Web Services

In this post, we discuss how you can use AWS Database Migration Service (AWS DMS) to stream change data into Amazon Kinesis Data Streams. An earlier post, Load CDC Data, discussed real-time data processing architecture. As part of that, it covered how to c

aws.amazon.com

 

https://aws.amazon.com/ko/blogs/big-data/build-and-automate-a-serverless-data-lake-using-an-aws-glue-trigger-for-the-data-catalog-and-etl-jobs/?nc1=h_ls

 

Build and automate a serverless data lake using an AWS Glue trigger for the Data Catalog and ETL jobs | Amazon Web Services

Today, data is flowing from everywhere, whether it is unstructured data from resources like IoT sensors, application logs, and clickstreams, or structured data from transaction applications, relational databases, and spreadsheets. Data has become a crucial

aws.amazon.com

 

 

https://blog.voidmainvoid.net/295

 

AWS kinesis Firehose 실습 및 예제 코드(Java), 장단점, 가격

실시간으로 비디오 및 데이터 스트림을 손쉽게 수집, 처리 및 분석 솔루션 Amazon Kinesis를 사용하면 실시간 스트리밍 데이터를 손쉽게 수집, 처리 및 분석할 수 있으므로 적시에 통찰력을 확보하고 새로운 정보..

blog.voidmainvoid.net

 

 

https://blog.voidmainvoid.net/299?category=686562

 

AWS MSK(Kafka) 실습 및 예제 코드(Java), 장단점, 가격

Amazon MSK(Managed Streaming for Apache Kafka)는 AWS에서 제공하는 완전 관리형 apache kafka 서비스입니다. 기존에 on-promise에서 사용하던 혹은 EC2로 관리하던 Apache kafka를 SaaS형태로 사용할 수 있습니..

blog.voidmainvoid.net

 

 

https://debezium.io/documentation/reference/1.1/connectors/postgresql.html

 

Debezium Connector for PostgreSQL :: Debezium Documentation

Time, date, and timestamps can be represented with different kinds of precision, including: adaptive (the default) captures the time and timestamp values exactly as in the database using either millisecond, microsecond, or nanosecond precision values based

debezium.io

 

 

https://kubernetes.io/ko/docs/tutorials/stateful-application/zookeeper/

 

분산 시스템 코디네이터 ZooKeeper 실행하기

이 튜토리얼은 아파치 ZooKeeper 쿠버네티스에서 스테이트풀셋과 파드디스룹선버짓(PodDisruptionBudget)과 파드안티어피니티(PodAntiAffinity)를 이용한 Apache Zookeeper 실행을 설명한다. 시작하기 전에 이 튜

kubernetes.io

 

Apache Kafka 엔드포인트 설정

 

1. AWS DMS 콘솔의 엔드포인트 설정 또는 AWS DMS CLI의 --kafka-settings 옵션을 통해 연결 세부 정보를 지정할 수 있습니다. 각 설정의 요구 사항은 다음과 같습니다.

  • Broker – 양식 broker-hostname:port에서 브로커 위치를 지정합니다. 예: "ec2-12-345-678-901.compute-1.amazonaws.com:2345". 이는 클러스터에 있는 임의의 브로커의 위치가 될 수 있습니다. 모든 클러스터 브로커는 주제로 마이그레이션된 데이터 레코드의 분할을 처리하기 위해 통신합니다.

  • Topic – (선택 사항) 최대 길이 255개 문자 및 기호로 주제 이름을 지정합니다. 마침표(.), 밑줄(_) 및 빼기(-)를 사용할 수 있습니다. 마침표(.) 또는 밑줄(_)이 있는 주제 이름이 내부 데이터 구조에서 충돌할 수 있습니다. 주제 이름에 이러한 기호 중 하나만 사용하고 둘 다 사용하지는 마십시오. 주제 이름을 지정하지 않으면 AWS DMS는 "kafka-default-topic"를 마이그레이션 주제로 사용합니다.

    참고

    AWS DMS가 지정된 마이그레이션 주제 또는 기본 주제를 생성하도록 하려면 Kafka 클러스터 구성 중에 auto.create.topics.enable = true를 설정합니다. 자세한 내용은 Apache Kafka를 AWS Database Migration Service용 대상으로 사용할 때 적용되는 제한 사항 단원을 참조하십시오.

 

2. Replication Factor가 2이고, min.insync.replicas를 2로 설정하게 되었을때, 브로커 노드 한대만 다운되더라도 프로듀서가 메시지를 보낼 수 없게 됩니다. 그래서 저는 RF를 2로 운영 할 경우 min.insync.replicas를 2로 설정하기 보다는 1로 설정하는 것이 최적의 값이라고 생각합니다. 

 

** 권장설정 (DMS 에서 'auto.create.topics.enable' 은 아직 연동되지 않는 것 같다.)

auto.create.topics.enable = true
default.replication.factor=3
min.insync.replicas=1
num.io.threads=8
num.network.threads=5
num.partitions=1
num.replica.fetchers=2
socket.request.max.bytes=104857600
unclean.leader.election.enable=true

 

** DMS with MSK 체크 사항

  1. 토픽을 자동생성할 수 없다.

  2. DMS Task CloudWatch 를 활성화를 하면 MSK 연결시, 메타정보가 계속 넘어간다. 활성화를 끈 후에도....

  3. output endpoint 생성시에, MSK 에 대한 브로커는 'b-1, b-2' 를 제외한 호스트 정보만 등록한다.

    ex) dhk-dp-kafka-cluster.wk6nuw.c8.kafka.us-east-1.amazonaws.com:9092

 

 

https://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_Target.Kafka.html

 

Apache Kafka를 AWS Database Migration Service용 대상으로 사용 - AWS Database Migration Service

Amazon MSK의 보안 그룹을 지정하려면 클러스터 생성 페이지에서 고급 설정을 선택하고 설정 사용자 지정을 선택한 다음 보안 그룹을 선택하거나 복제 인스턴스와 동일한 경우 기본값을 그대로 사

docs.aws.amazon.com

 

 

https://www.popit.kr/kafka-%EC%9A%B4%EC%98%81%EC%9E%90%EA%B0%80-%EB%A7%90%ED%95%98%EB%8A%94-producer-acks/

 

Kafka 운영자가 말하는 Producer ACKS | Popit

이번에는 메시지를 보내는 프로듀서에 대해 설명하도록 하겠습니다. 프로듀서가 메시지를 보낼때, 몇가지의 옵션들을 선택하여 보낼 수 있습니다. 프로듀서의 여러가지 옵션들중에서, 저는 가�

www.popit.kr

 

** kafka-manager with EKS on Fargate

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: kafka-manager
  namespace: digdag-jobs
spec:
  replicas: 1
  podManagementPolicy: Parallel
  serviceName: kafka-manager
  selector:
    matchLabels:
      app: kafka-manager
  template:
    metadata:
      labels:
        app: kafka-manager
    spec:
      containers:
      - name: kafka-manager
        image: solsson/kafka-manager@sha256:9da595ecbb733074a1d3c6091a1e0c384da4f4e1f19f4e16276062278da8e592
        ports:
        - containerPort: 8080
        env:
        - name: ZK_HOSTS
          value: z-3.dhk-dp-kafka-cluster.wk6nuw.c8.kafka.us-east-1.amazonaws.com:2181,z-2.dhk-dp-kafka-cluster.wk6nuw.c8.kafka.us-east-1.amazonaws.com:2181,z-1.dhk-dp-kafka-cluster.wk6nuw.c8.kafka.us-east-1.amazonaws.com:2181
        command:
        - ./bin/kafka-manager
        - -Dhttp.port=8080

 

 

** MSK REST Proxy

docker run -d -p 8082:8082 --name=kafka-rest2 -e KAFKA_REST_ZOOKEEPER_CONNECT='' -e KAFKA_REST_BOOTSTRAP_SERVERS=PLAINTEXT://b-3.xxx:9092,PLAINTEXT://b-2.xxx:9092 -e KAFKA_REST_LISTENERS=http://localhost:8082 -e KAFKA_REST_DEBUG=true confluentinc/cp-kafka-rest:latest
used the chart version 0.1.0 of cp-helm-charts and set the image tag at 5.2.2

[env]
  configurationOverrides:
    bootstrap.servers: PLAINTEXT://xxx.amazonaws.com:9092,PLAINTEXT://xxx.amazonaws.com:9092
    zookeeper.connect: ""

'AWS' 카테고리의 다른 글

Amazon ElastiCache(Redis)를 이용한 채팅 애플리케이션 구성  (0) 2020.04.03
AWS Logging  (0) 2020.03.25
AWS Cloudwatch to S3  (0) 2020.03.20
AWS Cloudwatch Insight  (0) 2020.03.20
AWS CodeBuild - SNS - Chatbot 연동  (0) 2020.03.20