Zephyrnet Logosu

Amazon MSK ve Amazon Redshift'i kullanarak analiz için veri akışı alımını basitleştirin | Amazon Web Hizmetleri

Tarih:

2022'un sonuna doğru, AWS, gerçek zamanlı akış alımının genel kullanıma sunulduğunu duyurdu için Amazon Kırmızıya Kaydırma için Amazon Kinesis Veri Akışları ve Apache Kafka için Amazon Tarafından Yönetilen Akış (Amazon MSK)akış verilerini aşamalandırma ihtiyacını ortadan kaldırır Amazon Basit Depolama Hizmeti (Amazon S3) Amazon Redshift'e almadan önce.

Akış besleme Amazon MSK'dan Amazon Redshift'e geçiş, gerçek zamanlı veri işleme ve analize yönelik son teknoloji bir yaklaşımı temsil eder. Amazon MSK, Apache Kafka için yüksek düzeyde ölçeklenebilir ve tam olarak yönetilen bir hizmet olarak hizmet vererek geniş veri akışlarının sorunsuz bir şekilde toplanmasına ve işlenmesine olanak tanır. Akış verilerinin Amazon Redshift'e entegre edilmesi, kuruluşların gerçek zamanlı analiz ve veri odaklı karar verme potansiyelinden yararlanmasını sağlayarak büyük değer sağlar.

Bu entegrasyon, saniyede yüzlerce megabayt akış verisini Amazon Redshift'e alırken saniyelerle ölçülen düşük gecikme süresi elde etmenize olanak tanır. Aynı zamanda bu entegrasyon, en güncel bilgilerin analiz için hazır olmasını sağlamaya yardımcı olur. Entegrasyon, Amazon S3'te veri hazırlamayı gerektirmediğinden Amazon Redshift, akış verilerini daha düşük gecikme süresiyle ve aracı depolama maliyeti olmadan alabilir.

Kimlik doğrulaması yapmak ve bir MSK konusuna bağlanmak için SQL ifadelerini kullanarak bir Redshift kümesinde Amazon Redshift akış alımını yapılandırabilirsiniz. Bu çözüm, veri hatlarını basitleştirmek ve operasyonel maliyeti azaltmak isteyen veri mühendisleri için mükemmel bir seçenektir.

Bu yazıda, nasıl yapılandırılacağına dair eksiksiz bir genel bakış sunuyoruz Amazon Redshift akış alımı Amazon MSK'dan.

Çözüme genel bakış

Aşağıdaki mimari şemasında kullanacağınız AWS hizmetleri ve özellikleri açıklanmaktadır.

Kullanacağınız AWS hizmetlerini ve özelliklerini açıklayan mimari diyagramı

İş akışı aşağıdaki adımları içerir:

  1. Bir yapılandırmayla başlarsınız Amazon MSK Bağlantısı Bir MSK konusu oluşturmak, sahte veriler oluşturmak ve bunu MSK konusuna yazmak için kaynak bağlayıcıyı kullanın. Bu yazı için sahte müşteri verileriyle çalışıyoruz.
  2. Bir sonraki adım Redshift kümesine bağlanmaktır. Sorgu Düzenleyicisi v2.
  3. Son olarak, MSK konusundaki verileri kullanmak için harici bir şema yapılandırır ve Amazon Redshift'te gerçekleştirilmiş bir görünüm oluşturursunuz. Bu çözüm, verileri Amazon MSK'dan Amazon Redshift'e aktarmak için bir MSK Connect havuz bağlayıcısına dayanmaz.

Aşağıdaki çözüm mimarisi şeması, kullanacağınız AWS hizmetlerinin yapılandırmasını ve entegrasyonunu daha ayrıntılı olarak açıklamaktadır.
Kullanacağınız AWS hizmetlerinin yapılandırmasını ve entegrasyonunu daha ayrıntılı olarak açıklayan çözüm mimarisi şeması
İş akışı aşağıdaki adımları içerir:

  1. Bir VPC'deki özel alt ağlara bir MSK Connect kaynak bağlayıcısı, bir MSK kümesi ve bir Redshift kümesi dağıtırsınız.
  2. MSK Connect kaynak bağlayıcısı, bir dosyada tanımlanan ayrıntılı izinleri kullanır. AWS Kimlik ve Erişim Yönetimi (IAM) satır içi politika bağlı IAM rolükaynak bağlayıcının MSK kümesinde eylemler gerçekleştirmesine olanak tanır.
  3. MSK Connect kaynak bağlayıcı günlükleri yakalanır ve bir Amazon Bulut İzleme günlük grubu.
  4. MSK kümesi şunu kullanır: özel MSK kümesi yapılandırmasıMSK Connect bağlayıcısının MSK kümesinde konular oluşturmasına olanak tanır.
  5. MSK kümesi günlükleri yakalanır ve bir Amazon CloudWatch günlük grubuna gönderilir.
  6. Redshift kümesi, bir IAM rolüne eklenen IAM satır içi politikasında tanımlanan ayrıntılı izinleri kullanır ve bu, Redshift kümesinin MSK kümesinde eylemler gerçekleştirmesine olanak tanır.
  7. Redshift kümesine bağlanmak için Sorgu Düzenleyicisi v2'yi kullanabilirsiniz.

Önkoşullar

Önkoşul kaynaklarının sağlanmasını ve yapılandırılmasını basitleştirmek için aşağıdakileri kullanabilirsiniz: AWS CloudFormation şablon:

Yığını başlatırken aşağıdaki adımları tamamlayın:

  1. İçin Yığın adı, yığın için anlamlı bir ad girin, örneğin, prerequisites.
  2. Klinik Sonraki.
  3. Klinik Sonraki.
  4. seç AWS CloudFormation'ın özel adlarla IAM kaynakları oluşturabileceğini kabul ediyorum.
  5. Klinik Sunmak.

CloudFormation yığını aşağıdaki kaynakları oluşturur:

  • Bir VPC custom-vpcüç Erişilebilirlik Alanında oluşturulan üç genel alt ağlar Ve üç özel alt ağlar:
    • Genel alt ağlar genel bir rota tablosuyla ilişkilendirilir ve giden trafik bir internet ağ geçidine yönlendirilir.
    • Özel alt ağlar özel bir rota tablosuyla ilişkilendirilir ve giden trafik bir NAT ağ geçidine gönderilir.
  • An ağ geçidi Amazon VPC'ye eklendi.
  • A NAT ağ geçidi bu bir ile ilişkilidir elastik IP ve genel alt ağlardan birinde konuşlandırılır.
  • Üç güvenlik grupları:
    • msk-connect-sg, daha sonra MSK Connect bağlayıcısıyla ilişkilendirilecek.
    • redshift-sg, daha sonra Redshift kümesiyle ilişkilendirilecek.
    • msk-cluster-sg, daha sonra MSK kümesiyle ilişkilendirilecek. Gelen trafiğe izin verir msk-connect-sg, ve redshift-sg.
  • İki CloudWatch günlük grubu:
    • msk-connect-logsMSK Connect günlükleri için kullanılacak.
    • msk-cluster-logsMSK küme günlükleri için kullanılacak.
  • İki IAM Rolü:
    • msk-connect-roleMSK Connect için ayrıntılı IAM izinlerini içerir.
    • redshift-roleAmazon Redshift için ayrıntılı IAM izinlerini içerir.
  • A özel MSK kümesi yapılandırmasıMSK Connect bağlayıcısının MSK kümesinde konular oluşturmasına olanak tanır.
  • Üç özel alt ağa dağıtılan üç aracıdan oluşan bir MSK kümesi custom-vpc. The msk-cluster-sg güvenlik grubu ve custom-msk-cluster-configuration yapılandırma MSK kümesine uygulanır. Aracı günlükleri şu adrese teslim edilir: msk-cluster-logs CloudWatch günlük grubu.
  • A Kırmızıya kayma kümesi alt ağ grubuüç özel alt ağını kullanan custom-vpc.
  • Redshift kümesi alt ağ grubu içindeki özel bir alt ağda dağıtılan tek bir düğüme sahip bir Redshift kümesi. redshift-sg güvenlik grubu ve redshift-role IAM rolü Redshift kümesine uygulanır.

MSK Connect özel eklentisi oluşturma

Bu gönderi için bir Amazon MSK veri oluşturucu Sahte müşteri verileri oluşturmak ve bunları bir MSK konusuna yazmak için MSK Connect'te dağıtılır.

Aşağıdaki adımları tamamlayın:

  1. Atomic Cüzdanı indirin : Amazon MSK veri oluşturucu GitHub'dan bağımlılıkları olan JAR dosyası.
    Amazon msk veri oluşturucunun jar dosyasını indirmek için awslabs github sayfası
  2. JAR dosyasını AWS hesabınızdaki bir S3 klasörüne yükleyin.
    Bir s3 klasörüne yüklenen jar dosyasını gösteren Amazon s3 konsol görüntüsü
  3. Amazon MSK konsolunda, Özel eklentiler altında MSK Bağlantısı Gezinti bölmesinde.
  4. Klinik Özel eklenti oluşturun.
  5. Klinik S3'e göz atın, Amazon S3'e yüklediğiniz Amazon MSK veri oluşturucu JAR dosyasını arayın ve ardından Klinik.
  6. İçin Özel eklenti adı, girmek msk-datagen-plugin.
  7. Klinik Özel eklenti oluşturun.

Özel eklenti oluşturulduğunda durumunun şu şekilde olduğunu göreceksiniz: Aktifve bir sonraki adıma geçebilirsiniz.
msk connect özel eklentisinin başarıyla oluşturulduğunu gösteren Amazon msk konsolu

MSK Connect bağlayıcısı oluşturma

Bağlayıcınızı oluşturmak için aşağıdaki adımları tamamlayın:

  1. Amazon MSK konsolunda, konektörler altında MSK Bağlantısı Gezinti bölmesinde.
  2. Klinik Bağlayıcı oluşturun.
  3. İçin Özel eklenti türü, seçmek Mevcut eklentiyi kullanın.
  4. seç msk-datagen-plugin, Daha sonra seçmek Sonraki.
  5. İçin bağlayıcı adı, girmek msk-datagen-connector.
  6. İçin küme türü, seçmek Kendi kendine yönetilen Apache Kafka kümesi.
  7. İçin VPC, seçmek custom-vpc.
  8. İçin Alt 1, ilk Erişilebilirlik Alanınızdaki özel alt ağı seçin.

Için custom-vpc CloudFormation şablonu tarafından oluşturulan, genel alt ağlar için tek CIDR aralıklarını ve hatta özel alt ağlar için CIDR aralıklarını kullanıyoruz:

    • Genel alt ağlara ilişkin CIDR'ler 10.10.1.0/24, 10.10.3.0/24 ve 10.10.5.0/24'tür
    • Özel alt ağlara ilişkin CIDR'ler 10.10.2.0/24, 10.10.4.0/24 ve 10.10.6.0/24'tür.
  1. İçin Alt 2, ikinci Erişilebilirlik Alanınızdaki özel alt ağı seçin.
  2. İçin Alt 3, üçüncü Erişilebilirlik Alanınızdaki özel alt ağı seçin.
  3. İçin Önyükleme sunucularıMSK kümenizin TLS kimlik doğrulaması için önyükleme sunucularının listesini girin.

için MSK kümeniz için önyükleme sunucularını alınAmazon MSK konsoluna gidin, Kümeleri, seçmek msk-cluster, Daha sonra seçmek Müşteri bilgilerini görüntüleyin. Önyükleme sunucularının TLS değerlerini kopyalayın.

  1. İçin Güvenlik grupları, seçmek Bu kümeye erişimi olan belirli güvenlik gruplarını kullanın, ve Seç msk-connect-sg.
  2. İçin Bağlayıcı yapılandırması, varsayılan ayarları aşağıdakiyle değiştirin:
connector.class=com.amazonaws.mskdatagen.GeneratorSourceConnector
tasks.max=2
genkp.customer.with=#{Code.isbn10}
genv.customer.name.with=#{Name.full_name}
genv.customer.gender.with=#{Demographic.sex}
genv.customer.favorite_beer.with=#{Beer.name}
genv.customer.state.with=#{Address.state}
genkp.order.with=#{Code.isbn10}
genv.order.product_id.with=#{number.number_between '101','109'}
genv.order.quantity.with=#{number.number_between '1','5'}
genv.order.customer_id.matching=customer.key
global.throttle.ms=2000
global.history.records.max=1000
value.converter=org.apache.kafka.connect.json.JsonConverter
value.converter.schemas.enable=false

  1. Konektör kapasitesi için şunu seçin: Sağlandı.
  2. İçin Çalışan başına MCU sayısı, seçmek 1.
  3. İçin Çalışan sayısı, seçmek 1.
  4. İçin Çalışan yapılandırması, seçmek MSK varsayılan yapılandırmasını kullanın.
  5. İçin Erişim izinleri, seçmek msk-connect-role.
  6. Klinik Sonraki.
  7. Şifreleme için şunu seçin TLS şifreli trafik.
  8. Klinik Sonraki.
  9. İçin Günlük teslimi, seçmek Amazon CloudWatch Günlüklerini Teslim Edin.
  10. Klinik Araştırseçin msk-connect-logs, ve Seç Klinik.
  11. Klinik Sonraki.
  12. İncele ve seç Bağlayıcı oluşturun.

Özel bağlayıcı oluşturulduktan sonra durumunun şu şekilde olduğunu göreceksiniz: Koşuve bir sonraki adıma geçebilirsiniz.
msk connect bağlayıcısının başarıyla oluşturulduğunu gösteren Amazon msk konsolu

Amazon MSK için Amazon Redshift akış alımını yapılandırma

Akış beslemeyi ayarlamak için aşağıdaki adımları tamamlayın:

  1. Sorgu Düzenleyicisi v2'yi kullanarak Redshift kümenize bağlanın ve veritabanı kullanıcı adıyla kimlik doğrulaması yapın awsuser, ve şifre Awsuser123.
  2. Aşağıdaki SQL ifadesini kullanarak Amazon MSK'dan harici bir şema oluşturun.

Aşağıdaki koda değerleri girin redshift-role IAM rolü ve msk-cluster küme ARN'si.

CREATE EXTERNAL SCHEMA msk_external_schema
FROM MSK
IAM_ROLE '<insert your redshift-role arn>'
AUTHENTICATION iam
CLUSTER_ARN '<insert your msk-cluster arn>';

  1. Klinik koşmak SQL deyimini çalıştırmak için.

amazon msk'den harici bir şema oluşturmak için kullanılan SQL ifadesini gösteren redshift sorgu düzenleyicisi v2

  1. Hat için bir gerçekleştirilmiş görünüm aşağıdaki SQL ifadesini kullanarak:
CREATE MATERIALIZED VIEW msk_mview AUTO REFRESH YES AS
SELECT
    "kafka_partition",
    "kafka_offset",
    "kafka_timestamp_type",
    "kafka_timestamp",
    "kafka_key",
    JSON_PARSE(kafka_value) as Data,
    "kafka_headers"
FROM
    "dev"."msk_external_schema"."customer"

  1. Klinik koşmak SQL deyimini çalıştırmak için.

Gerçekleştirilmiş bir görünüm oluşturmak için kullanılan SQL ifadesini gösteren redshift sorgu düzenleyicisi v2

  1. Artık aşağıdaki SQL ifadesini kullanarak gerçekleştirilmiş görünümü sorgulayabilirsiniz:
select * from msk_mview LIMIT 100;

  1. Klinik koşmak SQL deyimini çalıştırmak için.

Gerçekleştirilmiş görünümü sorgulamak için kullanılan SQL ifadesini gösteren redshift sorgu düzenleyicisi v2

  1. Akış alımı yoluyla yüklenen kayıtların ilerlemesini izlemek için aşağıdaki avantajlardan yararlanabilirsiniz: SYS_STREAM_SCAN_STATES Aşağıdaki SQL ifadesini kullanarak izleme görünümü:
select * from SYS_STREAM_SCAN_STATES;

  1. Klinik koşmak SQL deyimini çalıştırmak için.

sistem akışı tarama durumları izleme görünümünü sorgulamak için kullanılan SQL ifadesini gösteren redshift sorgu düzenleyicisi v2

  1. Akış alımı yoluyla yüklenen kayıtlarda karşılaşılan hataları izlemek için şu avantajlardan yararlanabilirsiniz: SYS_STREAM_SCAN_ERRORS Aşağıdaki SQL ifadesini kullanarak izleme görünümü:
select * from SYS_STREAM_SCAN_ERRORS;

  1. Klinik koşmak SQL deyimini çalıştırmak için.sistem akışı tarama hatalarını izleme görünümünü sorgulamak için kullanılan SQL ifadesini gösteren redshift sorgu düzenleyicisi v2

Temizlemek

Devam ettikten sonra, oluşturduğunuz kaynaklara artık ihtiyacınız yoksa, ek ücret alınmasını önlemek için bunları aşağıdaki sırayla silin:

  1. MSK Connect bağlayıcısını silin msk-datagen-connector.
  2. MSK Connect eklentisini silin msk-datagen-plugin.
  3. İndirdiğiniz Amazon MSK veri oluşturucu JAR dosyasını ve oluşturduğunuz S3 klasörünü silin.
  4. MSK Connect bağlayıcınızı sildikten sonra CloudFormation şablonunu silebilirsiniz. CloudFormation şablonu tarafından oluşturulan tüm kaynaklar AWS hesabınızdan otomatik olarak silinecektir.

Sonuç

Bu gönderide, gizlilik ve güvenliğe odaklanarak Amazon MSK'dan Amazon Redshift akış alımının nasıl yapılandırılacağını gösterdik.

Amazon MSK'nın yüksek verimli veri akışlarını yönetme yeteneği ile Amazon Redshift'in güçlü analitik yeteneklerinin birleşimi, işletmelerin eyleme dönüştürülebilir öngörüleri hızlı bir şekilde elde etmesini sağlar. Bu gerçek zamanlı veri entegrasyonu, kuruluşların değişen veri eğilimlerini, müşteri davranışlarını ve operasyonel kalıpları anlama konusundaki çevikliğini ve yanıt verme yeteneğini artırır. Zamanında ve bilinçli karar almaya olanak tanır, böylece günümüzün dinamik iş ortamında rekabet avantajı kazanır.

Bu çözüm aynı zamanda kullanmak isteyen müşteriler için de geçerlidir. Amazon MSK Sunucusuz ve Amazon Redshift Sunucusuz.

Bu gönderinin AWS hizmet entegrasyonu ve yapılandırması hakkında daha fazla bilgi edinmek için iyi bir fırsat olduğunu umuyoruz. Yorumlar bölümünde görüşlerinizi bize bildirin.


yazarlar hakkında

Sebastián Vlad veri ve analiz çözümleri ile müşteri başarısına tutkuyla bağlı, Amazon Web Services'te Kıdemli Ortak Çözüm Mimarıdır. Sebastian, kurumsal müşterilerle birlikte çalışarak onların iş sonuçlarına ulaşmalarını sağlayacak modern, güvenli ve ölçeklenebilir çözümler tasarlamalarına ve oluşturmalarına yardımcı oluyor.

Sharad Pai AWS'de Baş Teknik Danışmandır. Akış analitiği konusunda uzmandır ve müşterilerin Amazon MSK ve Amazon Kinesis'i kullanarak ölçeklenebilir çözümler oluşturmasına yardımcı olur. 16 yıldan fazla sektör deneyimine sahip ve şu anda AWS'de canlı yayın platformları barındıran medya müşterileriyle çalışıyor ve 50 milyonu aşan en yüksek eşzamanlılığı yönetiyor. AWS'ye katılmadan önce Sharad'ın lider yazılım geliştiricisi olarak kariyeri, JavaScript, Python ve PHP gibi açık kaynak teknolojileriyle çalışarak 9 yıllık kodlamayı içeriyordu.

spot_img

En Son İstihbarat

spot_img