Genel

S: Amazon Kinesis Data Streams nedir?

Amazon Kinesis Data Streams, özel ihtiyaçlar için akış verilerini işleyen veya analiz eden özel uygulamalar oluşturmanızı sağlar. Bir Amazon Kinesis veri akışına sürekli olarak yüzlerce, hatta binlerce kaynaktan tıklama akışı, uygulama günlüğü ve sosyal medya gibi farklı türlerde veri ekleyebilirsiniz. Veriler saniyeler içinde Amazon Kinesis uygulamalarınızda akıştan okumaya ve işlemeye hazır hale gelir.

S: Amazon Kinesis Data Streams hangi bileşenleri benim adıma yönetir?

Amazon Kinesis Data Streams, istediğiniz performans seviyesinde veri akışı gerçekleştirmek için gerekli altyapıyı, depolama alanını, ağ iletişimini ve yapılandırmayı yönetir. Veri akışlarınız için tedarik, dağıtım, sürekli donanım ve yazılım bakımı veya diğer hizmetler konusunda endişelenmenize gerek yoktur. Amazon Kinesis Data Streams ayrıca verileri eşzamanlı bir şekilde üç erişilebilirlik alanında çoğaltarak yüksek erişilebilirlik ve veri sağlamlığı sunar.

S: Amazon Kinesis Data Streams ile neler yapabilirim?

Amazon Kinesis Data Streams, üretilen verileri kaynaktan hızlı bir şekilde almak ve sürekli işlemek için kullanışlıdır. Veriler bir veri deposuna gönderilmeden önce dönüştürülebilir, gerçek zamanlı ölçüm ve analiz gerçekleştirilebilir ve ek işlem gerçekleştirmek için daha karmaşık veri akışları oluşturulabilir. Amazon Kinesis Data Streams’in kullanılabileceği tipik senaryolar şunlardır:

  • Hızlı günlük ve veri akışı alımı: Verilerin birikmesini beklemek yerine veri üretim noktalarınızın verileri üretildiği anda Amazon Kinesis veri akışına göndermesini sağlayabilir, bu sayede veri üretim noktasındaki hatalardan kaynaklı veri kaybının önüne geçebilirsiniz. Örneğin sistem ve uygulama günlükleri sürekli olarak bir veri akışına eklenebilir ve birkaç saniye içinde işlemeye hazır hale gelebilir.
  • Gerçek zamanlı ölçüm ve raporlama: Amazon Kinesis veri akışındaki verilerden gerçek zamanlı olarak ölçüm elde edebilir ve rapor oluşturabilirsiniz. Örneğin Amazon Kinesis uygulamanız toplu verileri beklemek yerine akışı yapılan sistem ve uygulama günlükleri üzerinde ölçüm ve raporlama gerçekleştirebilir.
  • Gerçek zamanlı veri analizi: Amazon Kinesis Data Streams ile gerçek zamanlı akış verisi analizi gerçekleştirebilirsiniz. Örneğin Amazon Kinesis veri akışınıza tıklama akışı ekleyerek Amazon Kinesis uygulamanızın gerçek zamanlı analiz gerçekleştirmesini sağlayabilir ve bu sayede saatler veya günler yerine dakikalar içinde büyük ölçekteki verilerinizden öngörü elde edebilirsiniz.
  • Karmaşık akış işleme: Amazon Kinesis uygulamalarınızdan ve veri akışlarınızdan Döngüsel Olmayan Yönlü Graflar (DAG) oluşturabilirsiniz. Bu senaryoda bir veya daha fazla Amazon Kinesis uygulaması başka bir Amazon Kinesis veri akışına veri ekleyerek ek işlem gerçekleştirilmesini ve akış işlemesinde ek aşamalar gerçekleştirilmesini sağlayabilir.

S: Amazon Kinesis Data Streams’i nasıl kullanabilirim?

Amazon Web Services’a kaydolduktan sonra Amazon Kinesis Data Streams’i şu şekilde kullanmaya başlayabilirsiniz:

S: Amazon Kinesis Data Streams’in sınırları nedir?

Bir Amazon Kinesis veri akışının performansı, veri akışındaki parça sayısının artırılmasıyla sınırsız boyutta ölçeklendirilebilecek şekilde tasarlanmıştır. Ancak Amazon Kinesis Data Streams’i kullanırken dikkat etmeniz gereken belirli sınırlar vardır.

  • Varsayılan olarak bir akışın kayıtlarına akışa eklendikten itibaren 24 saat boyunca erişim sağlanabilir. Uzatılmış veri saklama özelliğini etkinleştirerek bu sınırı 7 güne çıkarabilirsiniz.
  • Bir kayıt içindeki bir veri blobunun maksimum boyutu (Base64 kodlaması öncesi veri yükü) 1 megabayt (MB) olarak belirlenmiştir.
  • Her parça saniyede en fazla 1000 PUT kaydını destekleyebilir.

API seviyesindeki diğer sınırlar hakkında daha fazla bilgi için bkz. Amazon Kinesis Data Streams Sınırları.

S: Amazon Kinesis Data Streams ile Amazon SQS arasındaki fark nedir?

Amazon Kinesis Data Streams, akışı yapılan büyük verilerin gerçek zamanlı olarak işlenmesini sağlar. Kayıtları sıralamanın yanı sıra bu kayıtları okuma ve/veya birden fazla Amazon Kinesis uygulamasına aynı sırada yeniden oynatma imkanı sunar. Amazon Kinesis Client Library (KCL) belirli bir bölüm anahtarının tüm kayıtlarını aynı kayıt işlemcisine teslim eder, aynı Amazon Kinesis veri akışından okuma yapan birden fazla uygulama derlemeyi kolaylaştırır (örneğin, sayma, toplama ve filtreleme).

Amazon Simple Queue Service (Amazon SQS), bilgisayarlar arasında aktarılmakta olan mesajların depolanması için güvenilir, yüksek oranda ölçeklenebilir, barındırılan bir kuyruk sunar. Amazon SQS, dağıtılmış uygulama bileşenleri arasında kolayca veri taşımanızı sağlar ve otomatik iş akışları gibi mesajların bağımsız olarak işlendiği (mesaj düzeyi ack/fail semantiği ile) uygulamalar oluşturmanıza yardımcı olur.

S: Ne zaman Amazon Kinesis Data Streams’i, ne zaman Amazon SQS’i kullanmalıyım?

Aşağıdakilere benzer gereksinimlere sahip olan kullanım örnekleri için Amazon Kinesis Data Streams’i kullanmanız önerilir:

  • İlgili kayıtları aynı kayıt işlemcisine yönlendirme (MapReduce akışı gibi). Örneğin belirli bir anahtarla ilgili tüm kayıtların aynı kayıt işlemcisine yönlendirilmesi durumunda sayma ve toplama işlemleri daha kolay gerçekleştirilebilir.
  • Kayıtların sıralanması. Örneğin uygulama konağındaki günlük verilerini günlük ifadelerinin sırasını bozmadan işleme/arşivleme konağına aktarmak istediğinizde.
  • Birden fazla uygulamanın eşzamanlı olarak aynı akışı kullanmasını sağlama. Örneğin bir tarafta gerçek zamanlı bir panoyu güncelleyen, diğer tarafta da verileri Amazon Redshift’e arşivleyen bir uygulamanız olduğunu düşünün. İki uygulamanın da aynı akıştaki verileri eşzamanlı ve bağımsız olarak kullanabilmesini istersiniz.
  • Kayıtları birkaç saat sonra aynı sırada kullanabilme. Örneğin bir fatura uygulamanız ve bu fatura uygulamasını birkaç saat geriden takip eden bir denetim uygulamanız var. Amazon Kinesis Data Streams verileri 7 güne kadar depoladığı için denetim uygulamasını fatura uygulamasının 7 gün arkasından çalıştırabilirsiniz.

Aşağıdakilere benzer gereksinimlere sahip olan kullanım örnekleri için Amazon SQS’i kullanmanız önerilir:

  • Mesajlaşma semantiği (mesaj düzeyi ack/fail) ve görünürlük zaman aşımı. Örneğin iş öğelerinden oluşan bir kuyruğunuz var ve her öğenin tamamlanma durumunu ayrı bir şekilde takip etmek istiyorsunuz. Amazon SQS ack/fail takibi yaptığında uygulamanın kalıcı bir denetim noktası/imleç tutması gerekmez. Amazon SQS, ack durumuna sahip mesajları siler ve yapılandırılan görünürlük zaman aşımının sonunda başarısız olan mesajları yeniden teslim eder.
  • Bağımsız mesaj gecikme süresi. Örneğin bir iş kuyruğunuz var ve her iş için ayrı bir gecikme süresi belirlemeniz gerekiyor. Amazon SQS ile her bir mesajı 15 dakikaya kadar gecikmeli olarak şekilde yapılandırabilirsiniz.
  • Okuma zamanında eşzamanlılığı/performansı dinamik olarak artırma. Örneğin bir iş kuyruğunuz var ve kapsam temizlenene kadar daha fazla okuyucu eklemek istiyorsunuz. Amazon Kinesis Data Streams ile ölçeği yeterli sayıda parçayla artırabilirsiniz (ancak yeterli sayıda parçayı önceden tedarik etmeniz gerektiğini unutmayın).
  • Amazon SQS’in saydam ölçeklendirme özelliğinden faydalanma. Örneğin istekleri arabelleğe alıyorsunuz ve belirli dönemlerde gerçekleşen yük artışları veya işletmenizin büyümesi nedeniyle yük değişiyor. Arabelleğe alınmış olan her bir istek ayrıca işlenebildiğinden Amazon SQS tedarik etme talimatı sağlanmadan yükü işlemek için gereken şekilde saydam olarak ölçeklendirilebilir.

Temel kavramlar

S: Parça nedir?

Parça, bir Amazon Kinesis veri akışının temel performans birimidir. Bir parça 1 MB/sn veri girişi ve 2 MB/sn veri çıkışı kapasitesi sunar. Bir parça saniyede en fazla 1000 PUT kaydını destekleyebilir. Parça sayısını veri akışı oluştururken belirtmeniz gerekir. Örneğin iki parçaya sahip bir veri akışı oluşturabilirsiniz. Bu veri akışı 2 MB/sn veri girişi ve 4 MB/sn veri çıkışı performansı sunar ve saniyede en fazla 2000 PUT kaydını destekler. Amazon Kinesis Data Streams’de parça düzeyi ölçümleri izleyebilir ve veri akışında parça düzenleme gerçekleştirerek veri performansı ihtiyaçlarınız değiştikçe veri akışınızda dinamik olarak parça ekleme veya kaldırma işlemi gerçekleştirebilirsiniz.

S: Kayıt nedir?

Kayıt, Amazon Kinesis veri akışında depolanan veri birimidir. Kayıt bir sıra numarasından, bölüm anahtarından ve veri blobundan oluşur. Veri blobu, veri üreticinizin bir veri akışına eklediği ilgili verilerdir. Bir veri blobunun maksimum boyutu (Base64 kodlaması öncesi veri yükü) 1 megabayt (MB) olarak belirlenmiştir.

S: Bölüm anahtarı nedir?

Bölüm anahtarı, kayıtları ayırmak ve bir veri akışının farklı parçalarına yönlendirmek için kullanılır. Bölüm anahtarı, veri üreticisi tarafından Amazon Kinesis veri akışına veri eklenmesi sırasında belirtilir. Örneğin iki parçadan (1 numaralı parça ve 2 numaralı parça) oluşan bir veri akışına sahip olduğunuzu düşünün. Veri üreticinizi iki bölüm anahtarı (A anahtarı ve B anahtarı) kullanacak şekilde yapılandırarak A anahtarına sahip olan tüm kayıtların 1 numaralı parçaya ve B anahtarına sahip olan tüm kayıtların 2 numaralı parçaya eklenmesini sağlayabilirsiniz

S: Sıra numarası nedir?

Sıra numarası, her kayıtta bulunan benzersiz bir tanımlayıcıdır. Sıra numarası, veri üretici bir Amazon Kinesis veri akışına veri eklemek için PutRecord veya PutRecords işlemini çağırdığında Amazon Kinesis tarafından atanır. Aynı bölüm anahtarına ait sıra numaraları genellikle zaman içinde artar ve PutRecord veya PutRecords istekleri arasındaki süre uzadıkça sıra numaraları da büyür.

Veri akışı oluşturma

S: Bir Amazon Kinesis veri akışını nasıl oluşturabilirim?

Amazon Web Services’a kaydolduktan sonra Amazon Kinesis Management Console veya CreateStream işlemi aracılığıyla Amazon Kinesis veri akışı oluşturabilirsiniz.

S: Amazon Kinesis veri akışımın performansını nasıl belirleyebilirim?

Bir Amazon Kinesis veri akışının performansı, veri akışı içindeki parça sayısıyla belirlenir. Veri akışınız için başlangıçta gerekli olan parça sayısıyla ilgili bir tahminde bulunmak için aşağıdaki adımları izleyin. Parça düzenleme sayesinde veri akışınızdaki parça sayısını dinamik olarak ayarlayabileceğinizi unutmayın.

  1. Veri akışına yazılacak tahmini ortalama kayıt boyutunu kilobayt (KB) cinsinden belirleyin ve en yakın 1 KB’a yuvarlayın. (average_data_size_in_KB)
  2. Veri akışına bir saniyede yazılacak tahmini kayıt sayısını belirleyin. (number_of_records_per_second)
  3. Veri akışından eşzamanlı ve bağımsız olarak veri kullanacak olan Amazon Kinesis uygulaması sayısını belirleyin. (number_of_consumers)
  4. average_data_size_in_KB ile number_of_records_per_seconds değerlerinin çarpımına eşit olan gelen yazma bant genişliği KB değerini (incoming_write_bandwidth_in_KB) hesaplayın.
  5. incoming_write_bandwidth_in_KB ile number_of_consumers değerlerinin çarpımına eşit olan giden okuma bant genişliği KB değerini (outgoing_read_bandwidth_in_KB) hesaplayın.

Ardından aşağıdaki formülü kullanarak veri akışınız için başlangıçta gerekli olan parça sayısını (number_of_shards) hesaplayabilirsiniz:

number_of_shards = maks. (incoming_write_bandwidth_in_KB/1000, outgoing_read_bandwidth_in_KB/2000)

S: Amazon Kinesis veri akışı için talep edebileceğim minimum performans düzeyi nedir?

Bir Amazon Kinesis veri akışının performansı parça birimiyle ölçeklendirilir. 1 MB/sn veri girişi ve 2 MB/sn veri çıkışı sunan tek bir parça, bir veri akışının en küçük performans düzeyidir.

S: Amazon Kinesis veri akışı için talep edebileceğim maksimum performans düzeyi nedir?

Bir Amazon Kinesis veri akışının performansı sınırsız bir şekilde ölçeklendirilmek üzere tasarlanmıştır. Varsayılan olarak bölge başına 10 parça tedarik edebilirsiniz. Tek bir bölgede 10’dan fazla parça istemek için Amazon Kinesis Data Streams Sınırları formunu kullanabilirsiniz.

S: Kayıt boyutu, Amazon Kinesis veri akışımın performansını nasıl etkiler?

Bir parça, 1 MB/sn veri giriş hızı ve saniyede en fazla 1000 PUT kaydı için destek sunar. Bu nedenle kayıt boyutunun 1 KB’ın altında olması durumunda bir parçanın gerçek veri giriş hızı 1 MB/sn seviyesinin altında ve saniyede maksimum PUT kaydı sayısı ile sınırlı olacaktır.

Kinesis veri akışlarına veri ekleme

S: Bir Amazon Kinesis veri akışına nasıl veri ekleyebilirim?

Amazon Kinesis veri akışına veri eklemek için PutRecord ve PutRecords işlemlerini, Amazon Kinesis Producer Library (KPL) veya Amazon Kinesis Agent hizmetini kullanabilirsiniz.

S: PutRecord ile PutRecords arasındaki fark nedir?

PutRecord işlemi bir API çağrısında tek bir veri kaydına izin verirken PutRecords bir API çağrısında birden fazla veri kaydına izin verir. PutRecord ve PutRecords işlemleri hakkında daha fazla bilgi için bkz. PutRecord ve PutRecords.

S: Amazon Kinesis Producer Library (KPL) nedir?

Amazon Kinesis Producer Library (KPL), bir Amazon Kinesis veri akışına veri eklemenize yardımcı olan kullanımı kolay ve yüksek oranda yapılandırılabilir bir kitaplıktır. KPL, minimum istemci kaynağıyla hızlı bir şekilde yüksek üretici performansına ulaşmanızı sağlayan basit, zaman uyumsuz ve güvenilir bir arabirime sahiptir.

S: Amazon Kinesis API’sine erişmek için hangi programlama dillerini veya platformlarını kullanabilirim?

Amazon Kinesis API, Amazon Web Services SDK’larında sunulur. Amazon Web Services SDK’larıyla kullanılabilecek programlama dillerinin veya platformlarının listesi için bkz. Amazon Web Services İçin Araçlar.

S: Amazon Kinesis Producer Library (KPL) hangi programlama dilinde sunulur?

Amazon Kinesis Producer Library (KPL) çekirdeği C++ modülüyle derlenmiştir ve güncel bir C++ derleyicisiyle tüm platformlarda çalışacak şekilde derlenebilir. Kitaplık şu an için bir Java arabirimiyle sunulmaktadır. Diğer programlama dilleri için destek eklemeyi planlıyoruz.

S: Amazon Kinesis Agent nedir?

Amazon Kinesis Agent, veri toplamak ve Amazon Kinesis veri akışınıza göndermek için kolay bir yöntem sunan önceden derlenmiş bir Java uygulamasıdır. Aracıyı web sunucuları, günlük sunucuları ve veritabanı sunucuları gibi Linux tabanlı sunucu ortamlarına yükleyebilirsiniz. Aracı belirli dosyaları izler ve veri akışınıza sürekli veri gönderir. Daha fazla bilgi için bkz. Aracılarla çalışma.

S: Amazon Kinesis Agent hangi platformları destekler?

Amazon Kinesis Agent şu an için Amazon Linux veya Red Hat Enterprise Linux’u desteklemektedir.

S: Amazon Kinesis Agent’a nasıl ulaşabilirim?

Aşağıdaki komutu ve bağlantıyı kullanarak Amazon Kinesis Agent’ı indirip yükleyebilirsiniz:

Amazon Linux üzerinde: sudo yum install –y aws-kinesis-agent

Red Hat Enterprise Linux üzerinde: sudo yum install –y https://s3.amazonaws.com/streaming-data-agent/aws-kinesis-agent-latest.amzn1.noarch.rpm

GitHub’dan: awlabs/amazon-kinesis-agent

S: Amazon Kinesis Agent’ı nasıl kullanabilirim?

Amazon Kinesis Agent’ı sunucularınıza yükledikten sonra diskteki belirli dosyaları izleyecek ve yeni verileri sürekli olarak Amazon Kinesis veri akışınıza gönderecek şekilde yapılandırabilirsiniz. Daha fazla bilgi için bkz. Aracılarla çalışma.

S: Bir veri üreticisinin veri akışına veri eklemesi sırasında Amazon Kinesis veri akışı kapasite sınırlarının aşılması durumunda ne olur?

Bir Amazon Kinesis veri akışının kapasitesinin sınırları, veri akışı içindeki parça sayısıyla belirlenir. Sınırlar veri performansı veya PUT kaydı sayısı açısından aşılabilir. Kapasite sınırları aşıldığında veri ekleme çağrısı ProvisionedThroughputExceeded özel durumuyla reddedilir. Durum veri akışı giriş veri hızının geçici olarak yükselmesinden kaynaklanıyorsa veri üreticisi tarafından yeniden deneme gerçekleştirilmesi durumunda istekler tamamlanacaktır. Durum veri akışının giriş veri hızının sürekli olarak yükselmesinden kaynaklanıyorsa veri ekleme çağrılarının sürekli olarak başarılı olması için gerekli kapasiteyi sağlamak üzere veri akışınızdaki parça sayısını artırmanız gerekir. Her iki durumda da Amazon CloudWatch ölçümleri veri akışının giriş veri hızındaki değişiklik ve ProvisionedThroughputExceeded özel durumları konusunda bilgi edinmenizi sağlar.

S: Bir PutRecord veya PutRecords çağrısı sırasında Amazon Kinesis veri akışı veri performansına dahil edilen veriler nelerdir?

Veri blobu, bölüm anahtarı ve veri akışı adı, bir PutRecord veya PutRecords çağrısında bulunması gereken parametrelerdir. Veri blobunuzun (Base64 kodlaması öncesi) ve bölüm anahtarınızın boyutu, veri akışı içindeki parça sayısıyla belirlenen Amazon Kinesis veri akışı veri performansına dahil edilir.

Gelişmiş yayma

S: Gelişmiş yayma nedir?

Gelişmiş yayma, Kinesis Data Streams tüketicileri için sunulan ve tüketicilerle parçalar arasında mantıksal 2 MB/sn aktarım hızına sahip hatlar sunan isteğe bağlı bir özelliktir. Bu özellik müşterilerin bir veri akışından okuma gerçekleştiren tüketici sayısını ölçeklendirirken yüksek performanstan ödün vermemesini sağlar.

S: Tüketiciler gelişmiş yayma özelliğinden nasıl faydalanabilir?

Tüketicilerin öncelikle Kinesis Data Streams hizmetine kaydolması gerekir. Gelişmiş yayma özelliği varsayılan olarak tüketici kaydından sonra etkinleştirilir. KCL kullanıyorsanız KCL sürüm 2.x tüketicilerinizi otomatik olarak kaydeder ve tüketici adı olarak KCL uygulamasının adını kullanır. Kayıt işlemi sonrasında tüm kayıtlı tüketiciler, kendileri için tedarik edilmiş olan mantıksal gelişmiş yayma aktarım hızı hatlarına sahip olur. Tüketiciler ardından HTTP/2 SubscribeToShard API’sini kullanarak bu aktarım hızı hatlarındaki verileri alabilir. HTTP/1 GetRecords API’si şu an için gelişmiş yayma desteği sunmadığından KCL 2.x sürümüne yükseltmeniz veya alternatif olarak tüketicinizi kaydedip SubscribeToShard API’si çağrısı yapmanız gerekir.

S: Gelişmiş yayma özelliği tüketici tarafından nasıl kullanılır?

Tüketiciler gelişmiş yayma özelliğinden faydalanmak için verileri SubscribeToShard API’siyle alır. SubscribeToShard API’sinde kayıtlı tüketici adı kullanılır ve bu sayede gelişmiş yayma özelliği kayıtlı tüketiciye sağlanır.

S: Gelişmiş yayma özelliğini ne zaman kullanmalıyım?
Gelişmiş yayma özelliğini bir akıştan veri alan birden fazla paralel tüketiciniz varsa veya olmasını bekliyorsanız ya da üreticilerle tüketiciler arasında 200 ms altında veri teslim hızı sağlamak için SubscribeToShard API’sinin kullanılmasını gerektiren en az bir tüketiciniz varsa gelişmiş yayma özelliğini kullanmanız önerilir.

S: Gelişmiş yayma özelliğini bazı tüketicilerde kullanıp diğerlerinde kullanmamam mümkün mü?

Evet, gelişmiş yayma özelliğini kullanan ve kullanmayan birden fazla tüketiciye sahip olabilirsiniz. Gelişmiş yayma özelliğinin kullanılması, geleneksel GetRecords kullanımı için parça sınırını etkilemez.

S: Belirli bir akışta gelişmiş yayma özelliğini kullanan tüketici sayısıyla ilgili bir sınır var mıdır?

Veri akışı başına gelişmiş yayma özelliğini kullanma varsayılan olarak 5 tüketiciyle sınırlandırılmıştır. 5’ten fazla tüketiciye ihtiyacınız varsa lütfen AWS Support üzerinden sınır artırma isteği gönderin. 5 tüketicinin gelişmiş yayma özelliğini kullandığı ve diğerlerinin aynı anda gelişmiş yayma özelliğini kullanmadığı durumda bir akıştan veri okuyan 5’ten fazla tüketiciye sahip olabileceğinizi unutmayın.

S: Tüketiciler gelişmiş yayma özelliğini ve HTTP/2 SubscribeToShard API’sini kullanmak için nasıl kaydolabilir?

Tüketicinizi otomatik olarak hem gelişmiş yayma özelliğini hem de HTTP/2 SubscribeToShard API’sini kullanacak şekilde kaydeden KCL 2.x sürümünü kullanmanızı öneririz. Bunun dışında dilerseniz RegisterStreamConsumer API’sini kullanarak bir tüketiciyi el ile kaydedebilir ve ardından SubscribeToShard API’sini kaydettiğiniz tüketicinin adıyla kullanabilirsiniz.

S: Gelişmiş yayma özelliğini kullanmak ücretli midir?

Evet, bir akış içindeki parça ve gelişmiş yayma özelliğini kullanmak üzere kaydolan tüketici birleşimi (tüketici-parça saat) için istek üzerine saatlik ücret ve ek olarak alınan her GB için veri alma ücreti uygulanır. Daha fazla ayrıntı için Kinesis Data Streams fiyatlandırma sayfasına bakın.

S: Tüketici-parça saat nasıl hesaplanır?

Tüketici-parça saat, kayıtlı akış tüketicilerinin akıştaki parça sayısıyla çarpılmasıyla hesaplanır. Örneğin bir tüketici-parça saat maliyeti 10 parçalı bir veri akışı için 0,015 USD şeklindeyse gelişmiş yayma özelliğini kullanan bu tüketici 10 parçadan okuma yapabilir ve bu da saatlik 0,15 USD tüketici-parça saat ücretine karşılık gelir (1 tüketici x 10 parça x 0,015 USD tüketici-parça saat ücreti) Gelişmiş yayma özelliğine aynı anda kaydolan iki tüketici olsaydı toplam tüketici-parça saat ücreti saatlik 0,30 USD olacaktı (2 tüketici x 10 parça x 0,015 USD).

S: Bir tüketiciyi bir saat dolmadan sonlandırmam ve başlatmam durumunda gelişmiş yayma özelliği için tüketici-parça saat ücreti otomatik olarak hesaplanır mı?

Evet, saatin yalnızca tüketicinin gelişmiş yayma özelliğini kullandığı bölümü için ödeme yaparsınız.

S: Gelişmiş yayma özelliği ile veri alma ücretlendirmesi nasıl yapılır?

Gelişmiş yayma özelliğini kullanan tüketicilerin aldığı veriler için bayt başına ölçülen düşük bir GB başına ücret ödersiniz. Yük yuvarlaması veya minimum teslimat düzeyi yoktur.

S: Gelişmiş yayma özelliğini kullanmak için üreticilerimde veya veri akışımda değişiklik yapmam gerekir mi?

Hayır, gelişmiş yayma özelliği veri üreticileri veya veri akışları etkilenmeden etkinleştirilebilir.

Kinesis veri akışlarındaki verileri okuma ve işleme

S: Amazon Kinesis uygulaması nedir?

Amazon Kinesis uygulaması, bir Amazon Kinesis veri akışındaki verileri okuyan ve işleyen bir veri tüketicisidir. Uygulamalarınızı Amazon Kinesis Data Analytics, Amazon Kinesis API veya Amazon Kinesis Client Library (KCL) ile derleyebilirsiniz.

S: Amazon Kinesis Client Library (KCL) nedir?

Amazon Kinesis Client Library (KCL) for Java | Python | Ruby | Node.js | .NET, bir Amazon Kinesis veri akışındaki verileri okumak ve işlemek için kolayca Amazon Kinesis uygulaması derlemenize yardımcı olan önceden derlenmiş bir kitaplıktır.

KCL veri akışı hacmindeki değişikliklere göre uyarlama, akış verilerinde yük dengeleme gerçekleştirme, dağıtılmış hizmetleri koordine etme ve verileri hata toleransıyla işleme gibi karmaşık işlemleri gerçekleştirir. KCL, uygulama derlerken iş mantığına odaklanmanızı sağlar. KCL 2.x, akıştan veri almak için gelişmiş yayma özelliğiyle hem HTTP/1 GetRecords hem de HTTP/2 SubscribeToShard API’lerini destekler. KCL 1.x, SubscribeToShard API’sini veya gelişmiş yayma özelliğini desteklemez.

S: SubscribeToShard ve gelişmiş yayma özelliklerini kullanmak için KCL 1.x sürümünü 2.x sürümüne nasıl yükseltebilirim?

KCL 1.x sürümünü KCL 2.x sürümüne yükseltmeyi öğrenmek için Kinesis Data Streams kullanıcı belgelerini ziyaret edin.

S: SubscribeToShard API nedir?

SubscribeToShard API, istemciden istek döngüsü olmadan parçalardaki verileri kalıcı bir bağlantı üzerinden tüketicilere ileten yüksek performanslı bir akış API’sidir. SubscribeToShard API, kayıtlı tüketicilere veri sunmak için HTTP/2 protokolünü kullanır ve bu işlemi genellikle 70 ms içinde tamamlayarak GetRecords API’siyle karşılaştırıldığında ~%65 daha yüksek hız sunar. Birden fazla kayıtlı tüketici aynı parçadan okuma gerçekleştirdiğinde tüketiciler daha hızlı teslimden faydalanabilir.

S: Gelişmiş yayma özelliği olmadan SubscribeToShard’ı kullanabilir miyim?

Hayır, SubscribeToShard için gelişmiş yayma özelliğinin kullanılması gerekir ve bu nedenle SubscribeToShard’ı kullanabilmek için tüketicinizi Kinesis Data Streams hizmetine kaydetmeniz şarttır.

S: SubscribeToShard kalıcı bağlantıları ne kadar sürer?

Kalıcı bağlantı 5 dakikaya kadar sürebilir.

S: Kinesis Client Library (KCL), SubscribeToShard desteğine sahip mi?

Evet, KCL 2.x sürümü bir Kinesis veri akışındaki verileri yüksek performansla almak için SubscribeToShard ve gelişmiş yayma özelliklerinden faydalanır.

S: SubscribeToShard kullanımı ücretli midir?

Hayır, SubscribeToShard kullanımı için ek ücret alınmaz ancak SubscribeToShard ile gelişmiş yayma özelliğini birlikte kullanmanız gerekir ve bu durumda her tüketici-parça birleşimi için ek saatlik ücret ve gelişmiş yayma özelliği tarafından sunulan veriler için GB başına ücret ödersiniz.

S: SubscribeToShard’ı kullanmak için gelişmiş yayma özelliğini kullanmam gerekir mi?

Evet, SubscribeToShard’ı kullanmak için tüketicilerinizi kaydetmeniz gerekir ve bu kaydın sonrasında gelişmiş yayma özelliği etkinleştirilir. Tüketiciniz varsayılan durumda SubscribeToShard aracılığıyla veri alırken gelişmiş yayma özelliğini otomatik olarak kullanır.

S: Amazon Kinesis Connector Library nedir?

Amazon Kinesis Connector Library, Amazon Kinesis Data Streams’i diğer AWS hizmetleri ve üçüncü taraf araçlarla kolayca entegre etmenize yardımcı olan önceden derlenmiş bir kitaplıktır. Amazon Kinesis Connector Library için Amazon Kinesis Client Library (KCL) for Java | Python | Ruby | Node.js | .NET gereklidir. Bu kitaplığın geçerli sürümü Amazon DynamoDB, Amazon Redshift, Amazon S3, ve Elasticsearch desteği sunmaktadır. Kitaplık ayrıca her tür için örnek bağlayıcılar ve örnekleri çalıştırmak için Apache Ant derleme dosyaları içerir.

S: Amazon Kinesis Storm Spout nedir?

Amazon Kinesis Storm Spout, Amazon Kinesis Data Streams’i Apache Storm ile kolayca entegre etmenize yardımcı olan önceden derlenmiş bir kitaplıktır. Amazon Kinesis Storm Spout’un geçerli sürümü Amazon Kinesis veri akışındaki verileri alır ve demet olarak iletir. Amazon Kinesis Data Streams’in güvenilir, ölçeklenebilir, akış yakalama, depolama ve yeniden oynatma hizmeti özelliğinden faydalanmak için spout’u Storm topolojinize ekleyebilirsiniz.

S: Amazon Kinesis Client Library (KCL), Amazon Kinesis Connector Library, ve Amazon Kinesis Storm Spout hangi programlama dillerinde sunulur?

Amazon Kinesis Client Library (KCL) şu an için Java, Python, Ruby, Node.js ve .NET ile kullanılabilir. Amazon Kinesis Connector Library ve Amazon Kinesis Storm Spout şu an için yalnızca Java ile kullanılabilir. Diğer programlama dilleri için destek eklemeyi planlıyoruz.

S: Amazon Kinesis uygulamam için Amazon Kinesis Client Library (KCL) kitaplığını kullanmam şart mı?

Hayır, Amazon Kinesis uygulamanızı derlemek için Amazon Kinesis API’sini de kullanabilirsiniz. Ancak dağıtılmış akış işleme ile ilgili yoğun görevleri gerçekleştirerek yazılım geliştirme için daha yüksek verimlilik sağlayan Amazon Kinesis Client Library (KCL) for Java | Python | Ruby | Node.js | .NET kitaplığını kullanmanız önerilir.

S: Amazon Kinesis Client Library (KCL), Amazon Kinesis uygulamasıyla nasıl etkileşim kurar?

Amazon Kinesis Client Library (KCL) for Java | Python | Ruby | Node.js | .NET, Amazon Kinesis Data Streams ile Amazon Kinesis uygulamanız arasında ara katman görevi görür. KCL, uygulamanızla iletişim kurmak için IRecordProcessor arabirimini kullanır. Uygulamanız bu arabirimi uygular ve KCL, bu arabirimdeki yöntemleri kullanarak uygulama kodunuza çağrı yapar.

KCL ile uygulama geliştirme hakkında daha fazla bilgi için bkz. Amazon Kinesis Client Library ile Amazon Kinesis İçin Tüketici Uygulaması Geliştirme.

S: Amazon Kinesis Client Library (KCL) tarafından oluşturulan çalışan ve kayıt işleyicisi nedir?

Bir Amazon Kinesis uygulamasında birden fazla uygulama örneği bulunabilir ve çalışan, her bir uygulama örneği ile eşleme yapan işlem birimidir. Kayıt işleyicisi, bir Amazon Kinesis veri akışındaki bir parçada bulunan verileri işleyen işlem birimidir. Bir çalışan bir veya daha fazla kayıt işleyicisiyle eşleştirilir. Bir kayıt işleyicisi bir parça ile eşleştirilir ve bu parçadaki kayıtları işler.

Uygulama başlatıldığında Amazon Kinesis Client Library (KCL) for Java | Python | Ruby | Node.js | .NET çağrısı yaparak bir çalışan başlatır. Bu çağrı KCL kitaplığına veri akışı adı ve AWS kimlik bilgileri gibi uygulama yapılandırma bilgilerini sağlar. Bu çağrı aynı zamanda bir IRecordProcessorFactory uygulaması başvurusu da geçirir. KCL bu fabrikayı kullanarak veri akışındaki verileri işlemek için gerekli olduğunda yeni kayıt işleyicileri oluşturur. KCL, bu kayıt işleyicileriyle IRecordProcessor arabirimi üzerinden iletişim kurar.

S: Amazon Kinesis Client Library (KCL) bir Amazon Kinesis uygulaması tarafından işlenen veri kayıtlarını nasıl takip eder?

Amazon Kinesis Client Library (KCL) for Java | Python | Ruby | Node.js | .NET, otomatik olarak parça düzenleme olayları ve sıra numarası denetim noktaları gibi durum bilgilerini takip etmek ve korumak için her bir Amazon Kinesis uygulamasına özgü bir Amazon DynamoDB tablosu oluşturur. DynamoDB tablosu uygulamayla aynı ada sahiptir ve bu nedenle uygulamanızın adının aynı bölgede ve aynı hesapta bulunan DynamoDB tablolarıyla çakışmadığından emin olmanız gerekir.

Aynı uygulama adıyla ilişkilendirilmiş olan tüm çalışanların aynı Amazon Kinesis veri akışı üzerinde birlikte çalıştığı kabul edilir. Farklı bir uygulama adı altında aynı uygulama kodunun ek örneklerini çalıştırırsanız KCL ikinci örneğe aynı veri akışı üzerinde çalışan tamamen farklı bir uygulama olarak davranır.

Hesabınızdan Amazon DynamoDB tablosuyla ilişkili ücretlere ek olarak Amazon Kinesis Data Streams ile ilişkili ücretlerin tahsil edileceğini unutmayın.

KCL kitaplığının uygulama durumunu nasıl takip ettiği hakkında daha fazla bilgi için bkz. Amazon Kinesis uygulamasının durumunu takip etme.

S: Amazon Kinesis Client Library (KCL) kitaplığını kullanarak Amazon Kinesis uygulamamın işlem kapasitesini nasıl artırabilirim?

Amazon Kinesis uygulamanızın birden fazla bulut sunucusunu oluşturabilir ve bu bulut sunucularının bir Auto Scaling grubuna ait Amazon EC2 bulut sunucusu kümesinde çalışmasını sağlayabilirsiniz. İşlem talebi arttıkça otomatik olarak uygulama bulut sunucunuzu çalıştıran bir Amazon EC2 bulut sunucusu başlatılır. Amazon Kinesis Client Library (KCL) for Java | Python | Ruby | Node.js | .NET, bu yeni bulut sunucusu için bir çalışan oluşturur ve kayıt işleyicileri otomatik olarak aşırı yük altındaki bulut sunucularından bu yeni bulut sunucusuna taşır.

S: Amazon Kinesis veri akışımda veri olmasına rağmen GetRecords çağrısı neden boş sonuç döndürüyor?

Bu durumun nedenlerinden biri, geçerli parça yineleyici tarafından belirtilen konumda kayıt olmaması olabilir. Parça yineleyici türünü TRIM_HORIZON olarak belirleseniz dahi bu durumda karşılaşabilirsiniz. Bir Amazon Kinesis veri akışı, sürekli veri akışını temsil eder. GetRecords işlemini döngü içinde çağırmanız gerekir ve bu şekilde parça yineleyici kaydın depolandığı konuma ilerlediğinde ilgili kayıt döndürülür.

S: GetRecords işleminde döndürülen ApproximateArrivalTimestamp nedir?

Her kayıtta ApproximateArrivalTimestamp adlı bir değer bulunur. Bu değer kayıt Amazon Kinesis tarafından başarıyla alınıp depolandığında belirlenir. Bu zaman damgası milisaniye düzeyinde hassasiyete sahiptir ve zaman damgasının doğru olduğu konusunda bir garanti verilmemektedir. Örneğin bir veri parçadaki veya bir veri akışındaki kayıtların zaman damgaları sıralı olmayabilir.

S: Amazon Kinesis uygulamasının veri akışından veri okuması sırasında Amazon Kinesis veri akışı kapasite sınırlarının aşılması durumunda ne olur?

Bir Amazon Kinesis veri akışının kapasitesinin sınırları, veri akışı içindeki parça sayısıyla belirlenir. Sınırlar veri performansı veya veri okuma çağrısı sayısı açısından aşılabilir. Kapasite sınırları aşıldığında veri okuma çağrısı ProvisionedThroughputExceeded özel durumuyla reddedilir. Durum veri akışı çıkış veri hızının geçici olarak yükselmesinden kaynaklanıyorsa Amazon Kinesis uygulaması tarafından yeniden deneme gerçekleştirilmesi durumunda istekler tamamlanacaktır. Durum veri akışının çıkış veri hızının sürekli olarak yükselmesinden kaynaklanıyorsa veri okuma çağrılarının sürekli olarak başarılı olması için gerekli kapasiteyi sağlamak üzere veri akışınızdaki parça sayısını artırmanız gerekir. Her iki durumda da Amazon CloudWatch ölçümleri veri akışının çıkış veri hızındaki değişiklik ve ProvisionedThroughputExceeded özel durumları konusunda bilgi edinmenizi sağlar.

Kinesis veri akışlarını yönetme

S: Amazon Kinesis veri akışımın performansını nasıl değiştirebilirim?

Veri akışınızın performansını değiştirmek için kullanabileceğiniz iki yöntem vardır. UpdateShardCount API veya AWS Management Console ile bir veri akışındaki parça sayısını ölçeklendirebilir veya veri akışı içindeki parça sayısını ayarlayarak (parça düzenleme) bir Amazon Kinesis veri akışının performansını değiştirebilirsiniz.

S: UpdateShardCount veya AWS Management Console ile Amazon Kinesis veri akışımın performansının değiştirilmesi ne kadar sürer?

Olağan ölçeklendirme isteklerinin birkaç dakika içinde tamamlanması gerekir. Daha büyük ölçeklendirme isteklerinin tamamlanması küçük olanlara kıyasla daha uzun sürecektir.

S: UpdateShardCount için geçerli sınırlamalar nelerdir?

UpdateShardCount için geçerli sınırlamalar hakkında bilgi için bkz. Amazon Kinesis Data Streams Hizmeti API Başvurusu.

S: UpdateShardCount veya parça düzenleme yöntemiyle Amazon Kinesis veri akışımın performansını değiştirdiğimde Amazon Kinesis Data Streams kullanılabilir durumda kalır mı?

Evet. UpdateShardCount veya parça düzenleme ile veri akışınızın performansını değiştirirken Amazon Kinesis veri akışınızda veri ekleme ve okuma işlemlerine devam edebilirsiniz.

S: Parça düzenleme nedir?

Parça düzenleme, parça bölme veya birleştirme ile veri akışınızı ölçeklendirme işlemidir. Parça bölme işleminde tek bir parça iki parçaya bölünür ve bu sayede veri akışının performansı artırılmış olur. Parça birleştirme işleminde iki parça tek bir parça haline getirilir ve bu sayede veri akışının performansı azaltılmış olur. Daha fazla bilgi için Amazon Kinesis Data Streams yazılım geliştirme kılavuzunun Veri Akışının Parçalarını Düzenleme bölümüne bakın.

S: Parça düzenleme ile Amazon Kinesis veri akışımın performansının değiştirilmesi ne kadar sürer ve bu işlemi ne sıklıkta tekrarlayabilirim?

Parça bölme veya parça birleştirme gibi bir parça düzenleme işlemi birkaç saniye sürer. Aynı anda yalnızca bir parça düzenleme işlemi gerçekleştirebilirsiniz. Bu nedenle tek bir parçaya sahip olan bir Amazon Kinesis veri akışında tek bir parçanın bölünmesiyle performansın iki katına çıkarılması birkaç saniye sürer. 1000 parçaya sahip bir veri akışında 1000 parçanın bölünmesiyle performansın iki katına çıkarılması 30 bin saniye (8,3 saat) sürer. Ek performansa ihtiyaç duyduğunuzda veri akışınızın performansını önceden artırmanızı öneririz.

S: Amazon Kinesis veri saklama süresini nasıl değiştirebilirim?

Amazon Kinesis varsayılan olarak verilerinizi 24 saate kadar depolar. Uzatılmış veri saklama özelliğini etkinleştirerek veri saklama süresini 7 güne çıkarabilirsiniz.

Veri saklama süresini değiştirme hakkında daha fazla bilgi için bkz. Veri Saklama Süresini Değiştirme.

S: Amazon Kinesis veri akışımın çalışmasını ve performansını nasıl izleyebilirim?

Amazon Kinesis Data Streams Management Console, Amazon Kinesis veri akışlarınızla ilgili olarak veri giriş ve çıkış gibi temel işlem ve performans ölçümlerini görüntüler. Amazon Kinesis Data Streams aynı zamanda Amazon CloudWatch entegrasyonu da sunar. Bu sayede veri akışlarınız ve bu veri akışlarındaki parçalar için CloudWatch ölçümleri toplayabilir, görüntüleyebilir ve analiz edebilirsiniz. Amazon Kinesis Data Streams ölçümleri hakkında daha fazla bilgi için bkz. Amazon CloudWatch ile Amazon Kinesis Data Streams’i İzleme.

Akış düzeyindeki tüm ölçümler ücretsizdir. Etkinleştirilen parça düzeyindeki ölçümler ise Amazon CloudWatch Fiyatlandırması üzerinden ücretlendirilir.

S: Amazon Kinesis veri akışımın erişimini nasıl yönetebilir ve denetleyebilirim?

Amazon Kinesis Data Streams, kullanıcılarınız için AWS hizmetlerinize ve kaynaklarınıza erişimi güvenli bir şekilde denetlemenizi sağlayan AWS Identity and Access Management (IAM) hizmetiyle entegre bir şekilde çalışabilir. Örneğin yalnızca belirli bir kullanıcının veya grubun Amazon Kinesis veri akışınıza veri eklemesini sağlayan bir politika oluşturabilirsiniz. Veri akışınızla ilgili erişim yönetimi ve denetimi hakkında daha fazla bilgi edinmek için bkz. IAM Kullanarak Amazon Kinesis Data Streams Kaynaklarına Erişimi Denetleme.

S: Güvenlik analizi ve işlem sorunlarını giderme amacıyla Amazon Kinesis veri akışıma yapılan API çağrılarını nasıl günlüğe kaydedebilirim?

Amazon Kinesis, hesabınız için AWS API çağrılarını kaydeden ve size günlük dosyalarını gönderen bir hizmet olan Amazon CloudTrail ile entegre bir şekilde çalışabilir. API çağrısı günlüğe alma hakkında daha fazla bilgi ve desteklenen Amazon Kinesis API işlemlerinin listesi için bkz. Amazon CloudTrail Kullanarak Amazon Kinesis API Çağrılarını Günlüğe Kaydetme.

S: Amazon Kinesis veri akışlarımı ve bu veri akışlarıyla ilgili ücretleri etkili bir şekilde yönetmek için neler yapabilirim?

Amazon Kinesis Data Streams, kaynak ve maliyet yönetimi süreçlerini kolaylaştırmak için Amazon Kinesis veri akışlarınızı etiketleme seçeneği sunar. Etiket, AWS kaynaklarının organize edilmesine yardımcı olan ve anahtar-değer çifti olarak ifade edilen bir kullanıcı tanımlı etikettir. Örneğin veri akışlarınızı maliyet merkezlerine göre etiketleyerek Amazon Kinesis Data Streams maliyetlerinizi maliyet merkezlerine göre ayırabilir ve takip edebilirsiniz. Amazon Kinesis Data Streams etiketleri hakkında daha fazla bilgi için bkz. Amazon Kinesis Veri Akışlarınızı Etiketleme.

S: Parça sınırımın ne kadarını kullandığımı nasıl anlayabilirim?

Hesabınızdaki parça sınırının ne kadarını kullandığınızı anlamak için DescribeLimits API’sini kullanabilirsiniz. DescribeLimits API, hesabınızın parça sınırını ve açık parça sayısını döndürür. Parça sınırınızı artırmanız gerekirse lütfen sınır artış isteği gönderin.

Güvenlik

S: Kinesis Data Streams’i kullandığımda verilerim ne kadar güvende olur?

Kinesis varsayılan olarak güvenlidir. Oluşturulan Kinesis kaynaklarına yalnızca hesap ve veri akışı sahipleri erişebilir. Kinesis, verilere erişimin denetlenmesi için kullanıcı kimlik doğrulamasını destekler. AWS IAM politikalarını kullanarak istediğiniz kullanıcılara ve kullanıcı gruplarına erişim izni verebilirsiniz. HTTPS protokolünü kullanarak Kinesis verilerinizi SSL uç noktalarından güvenli bir şekilde alabilir ve ekleyebilirsiniz. Ek güvenliğe ihtiyacınız olursa, veri akışınızda depolanan verileri şifrelemek için AWS KMS ana anahtarlarıyla sunucu tarafı şifreleme seçeneğini kullanabilirsiniz. AWS KMS, şifreleme için AWS tarafından oluşturulan KMS ana anahtarlarını kullanmanızı sağlar. Dilerseniz kendi ana anahtarınızı AWS KMS ile birlikte kullanabilirsiniz. Son olarak kendi şifreleme kitaplıklarınızı kullanarak verileri Kinesis’e eklemeden önce istemci tarafında şifreleyebilirsiniz.

S: Amazon Virtual Private Cloud’umdan (VPC) Kinesis Data Streams API’lerine genel IP kullanmadan, özel olarak erişebilir miyim?

Evet, VPC Uç Noktaları oluşturarak Amazon Virtual Private Cloud’unuzdan (VPC) Kinesis Data Streams API’lerine özel olarak erişebilirsiniz. VPC Uç Noktaları kullanıldığında VPC ile Kinesis Data Streams arasındaki yönlendirme bir İnternet ağ geçidine, NAT ağ geçidine veya VPN bağlantısına gerek kalmadan AWS ağı tarafından işlenir. Kinesis Data Streams’in kullandığı en son nesil VPC Uç Noktaları, VPC’lerinizdeki özel IP’lerle Esnek Ağ Arabirimleri (ENI) kullanılarak AWS hizmetleri arasında özel bağlantı olanağı sağlayan AWS PrivateLink teknolojisi tarafından desteklenir. PrivateLink hakkında daha fazla bilgi edinmek için PrivateLink belgelerini inceleyin.

Şifreleme

S: Bir Kinesis veri akışına eklediğim verileri şifreleyebilir miyim?

Evet, bir Kinesis veri akışına eklediğiniz verileri şifrelemek için kullanabileceğiniz iki seçenek vardır. Veri akışına eklediğiniz ve veri akışından aldığınız verileri otomatik olarak şifreleyen ve bu verilerin şifrelerini çözen tam olarak yönetilen bir özellik olan sunucu tarafı şifrelemesini kullanabilirsiniz. Dilerseniz istemci tarafında şifreleme ve şifre çözme gerçekleştirerek veri akışına şifrelenmiş verileri yazabilirsiniz.

S: Neden istemci tarafı şifrelemesi yerine sunucu tarafı şifrelemesini kullanmalıyım?

Müşteriler genellikle aşağıdaki nedenlerden dolayı istemci tarafı şifrelemesi yerine sunucu tarafı şifrelemesini tercih etmektedir:

  • İstemci tarafında şifrelemeyi zorunlu kılmak kolay değildir
  • Müşteriler, istemci tarafında şifreleme üzerine ikinci bir güvenlik katmanına sahip olmak ister
  • İstemci tarafı anahtar yönetim şemalarını uygulamak zordur

S: Sunucu tarafı şifrelemesi nedir?

Kinesis Data Streams için sunucu tarafı şifrelemesi, veri akışı depolama katmanına yazılmadan önce verileri kullanıcı tarafından belirtilen bir AWS KMS ana anahtarı (CMK) kullanarak otomatik olarak şifreler ve depolama alanından alınan verilerin şifresini otomatik olarak çözer. Şifreleme, veri akışında yazma veya okuma işlemi gerçekleştiren kullanıcının veri akışında şifreleme için seçilen anahtarı kullanma iznine sahip olmadığı sürece yazma işlemi gerçekleştirememesini ve yük ile bölüm anahtarını okuyamamasını sağlar. Sonuç olarak sunucu tarafı şifrelemesi, verilerinizle ilgili şirket içi güvenlik ve mevzuat uyumluluğu gereksinimlerini yerine getirmenizi kolaylaştırabilir.

Sunucu tarafı şifrelemesi kullanıldığında istemci tarafındaki uygulamalarınızın (üreticiler ve tüketiciler) şifreleme konusunda bilgi sahibi olması gerekmez, bu uygulamaların CMK’leri veya şifreleme işlemlerini yönetmesine gerek duyulmaz ve Kinesis Data Streams verileriniz bekleme ve taşıma durumunda şifrelenir. Sunucu tarafı şifrelemesi özelliği tarafından kullanılan tüm CMK’ler, AWS KMS tarafından sağlanır. AWS KMS sayesinde Kinesis için AWS tarafından yönetilen CMK’leri (“tek tıkla” şifreleme yöntemi), AWS KMS tarafından oluşturulan kendi CMK’lerinizi veya şifreleme için içeri aktarmış olduğunuz bir CMK’yi kolayca kullanabilirsiniz.

S: Sunucu tarafı şifrelemesi için bir kullanmaya başlama kılavuzu var mıdır?

Evet, kullanmaya başlama kılavuzuna belgeler sayfasından ulaşabilirsiniz.

S: Sunucu tarafı şifrelemesi, uygulamalarımın Kinesis Data Streams ile etkileşim kurmasını etkiler mi?

Muhtemelen. Bu durum şifreleme için kullandığınız anahtara ve anahtara erişmek için geçerli izinlere bağlıdır.

  • Kinesis için AWS tarafından yönetilen CMK’yi kullanırsanız (anahtar diğer adı = aws/kinesis) bu anahtar ile şifrelemenin etkinleştirilmesi veya devre dışı bırakılması uygulamalarınızı etkilemez.
  • Özel bir AWS KMS ana anahtarı veya AWS KMS hizmetine aktardığınız bir ana anahtar gibi farklı bir ana anahtar kullanırsanız ve veri akışınızın üreticileriyle tüketicileri şifreleme için kullanılan AWS KMS CMK’yi kullanma iznine sahip değilse PUT ve GET istekleriniz başarısız olacaktır. Sunucu tarafı şifrelemesini kullanabilmeniz için önce AWS KMS anahtar politikalarını mesajların şifrelenip şifrelerinin çözülmesine imkan tanıyacak şekilde yapılandırmanız gerekir. AWS KMS izinleriyle ilgili örnekler ve daha fazla bilgi için AWS Key Management Service Yazılım Geliştirme Kılavuzu’nun AWS KMS API İzinleri: Eylem ve Kaynak Referansı bölümüne veya Kinesis Data Streams sunucu tarafı şifrelemesi kullanıcı belgelerindeki izin yönergelerine bakın.

S: Sunucu tarafı şifrelemesini kullandığımda için ek ücret alınır mı?

Evet, ancak Kinesis için AWS tarafından yönetilen CMK’yi kullanır ve ücretsiz kullanım KMS API kullanım maliyetlerini aşmazsanız sunucu tarafı şifreleme özelliğini ücretsiz kullanabilirsiniz. Kaynaklara göre maliyetler aşağıda açıklanmıştır:

Anahtarlar:

  • Kinesis için AWS tarafından yönetilen CMK (diğer ad = “aws/kinesis”) ücretsizdir.
  • Kullanıcı tarafından oluşturulan KMS anahtarları, KMS anahtarı ücretlerine tabidir. Daha fazla bilgi edinin.

KMS API Kullanımı:

  • Özel olanlar dahil olmak üzere tüm CMK kullanımları API kullanım ücretlerine tabidir. Kinesis Data Streams, veri anahtarının döndürülmesi durumunda KMS’yi yaklaşık olarak 5 dakikada bir çağırır. 30 günlük bir ay boyunca bir Kinesis veri akışı tarafından başlatılan KMS API çağrılarının toplam maliyetinin birkaç Amerikan dolarını geçmemesi gerekir. Her kullanıcı kimlik bilgisi için AWS KMS’ye benzersiz bir API çağrısı yapılması gerektiğinden veri üreticilerinizde ve tüketicilerinizde kullandığınız kullanıcı kimlik bilgileri sayısı arttıkça bu maliyetlerin de artacağını lütfen unutmayın. Kimlik doğrulaması için IAM rolünü kullandığınızda her assume-role-call çağrısı benzersiz kullanıcı kimlik bilgilerine neden olacaktır ve KMS maliyetlerini düşürmek için assume-role-call çağrısı tarafından döndürülen kullanıcı kimlik bilgilerini önbelleğe almak isteyebilirsiniz.

S: Kinesis Data Streams için sunucu tarafı şifrelemesi desteği sunan AWS bölgeleri hangileridir?

Kinesis Data Streams sunucu tarafı şifrelemesi AWS GovCloud bölgesinde ve Çin (Pekin) dışındaki tüm genel bölgelerde sunulmaktadır.

S: Bir veri akışında sunucu tarafı şifrelemesini başlatmak, güncellemek veya kaldırmak için ne yapmam gerekir?

Bu işlemlerin tümünü AWS Management Console veya AWS SDK ile gerçekleştirebilirsiniz. Daha fazla bilgi edinmek için bkz. Kinesis Data Streams sunucu tarafı şifrelemesini kullanmaya başlama kılavuzu.

S: Sunucu tarafı şifrelemesinde hangi şifreleme algoritması kullanılır?

Kinesis Data Streams, şifreleme için bir AES-GCM 256 algoritması kullanır.

S: Düz metin veya şifreli metin halinde önceden veri yazılmış olan bir veri akışını şifrelemem durumunda, şifreleme seçeneğini güncellediğimde veri akışındaki tüm veriler şifrelenir veya tümünün şifresi çözülür mü?

Hayır, şifreleme işlemi uygulandığında yalnızca veri akışına yazılan yeni veriler şifrelenir (veya şifrelenmeden kalır).

S: Kinesis Data Streams için sunucu tarafı şifrelemesi neleri şifreler?

Sunucu tarafı şifrelemesi, mesajın yüküne ek olarak veri akışı üretici uygulamaları tarafından belirtilen bölüm anahtarını şifreler.

S: Sunucu tarafı şifrelemesi parçaya mı yoksa akışa mı özgü bir özelliktir?

Sunucu tarafı şifrelemesi akışa özgü bir özelliktir.

S: Belirli bir veri akışını şifrelemek için kullanılan CMK’yi değiştirebilir miyim?

Evet, AWS Management Console veya AWS SDK ile belirli bir veri akışına uygulamak istediğiniz yeni ana anahtarı seçebilirsiniz.

S: Verilerimi sunucu tarafı şifrelemesi etkin bir Kinesis veri akışına gönderdiğim andan aldığım ana kadar olan şifreleme yaşam döngüsü konusunda bana bilgi verebilir misiniz?

Aşağıdaki bölümde Kinesis Data Streams’in AWS KMS CMK’yi kullanarak bir mesajı PUT yolunda depolanmadan önce şifrelemek ve GET yolunda alındıktan sonra şifresini çözmek için gerçekleştirdiği adımlar gösterilmiştir. Sunucu tarafı şifrelemesi etkinleştirilmiş olan bir veri akışında putRecord(s) veya getRecords çağrısı yaptığınızda Kinesis ve AWS KMS aşağıdaki eylemleri (şifre çözme dahil) gerçekleştirir.

  1. Veriler müşterinin Kinesis üretici uygulamasından (istemci) HTTPS ile SSL kullanılarak Kinesis’e gönderilir.
  2. Kinesis verileri alır, RAM içinde depolar ve kaydın yüküyle bölüm anahtarına şifreleme uygular.
  3. Kinesis, düz metin girişi anahtar oluşturma malzemesi (IKM) isteğinde bulunur ve IKM, müşteri tarafından seçilen KMS ana anahtarı kullanılarak şifrelenir.
  4. AWS KMS bir IKM oluşturur, ana anahtarı kullanarak şifreler ve hem düz metin IKM hem de şifreli IKM değerlerini Kinesis’e gönderir.
  5. Kinesis, düz metin IKM değerini kullanarak her kayıt için benzersiz olan veri anahtarlarına ulaşır.
  6. Kinesis, veri anahtarlarını kullanarak yükü ve bölüm anahtarını şifreler, ardından düz metin anahtarı bellekten kaldırır.
  7. Kinesis, şifreli IKM değerini şifreli verilere ekler.
  8. Düz metin IKM değeri yeniden kullanılmak üzere önbelleğe alınır ve süresi 5 dakika içinde dolar.
  9. Kinesis, şifreli mesajı bekleme durumunda tutulduğu ve bir getRecords çağrısıyla getirilebileceği bir arka uç deposuna iletir.

getRecords çağrısı yaptığınızda Kinesis ve AWS KMS aşağıdaki işlemleri (şifre çözme dahil) gerçekleştirir.

  1. Bir getRecords çağrısı yapıldığında Kinesis ön ucu şifrelenmiş kaydı arka uç hizmetinden alır.
  2. Kinesis, kullanıcının isteğiyle oluşturulmuş olan belirteci kullanarak KMS isteğinde bulunur. AWS KMS bu isteği yetkilendirir.
  3. Kinesis, kayıtla birlikte depolanan şifreli IKM değerinin şifresini çözer.
  4. Kinesis, şifreli IKM değerinden kayda özgü veri anahtarlarını yeniden oluşturur.
  5. Yetkilendirme yapılırsa Kinesis yükün şifresini çözer ve düz metin veri anahtarını bellekten kaldırır.
  6. Kinesis, yükü, kayıtları isteyen Kinesis tüketicisine (istemci) SSL ve HTTPS üzerinden teslim eder.

Fiyatlandırma ve faturalandırma

S: Amazon Kinesis Data Streams, AWS Ücretsiz Kullanım kapsamında mı?

Hayır, Amazon Kinesis Data Streams şu an için AWS Ücretsiz Kullanım kapsamında değildir. AWS Ücretsiz Kullanım, belirli AWS hizmetlerinin ücretsiz kullanılmasını sağlayan bir programdır. AWS Ücretsiz Kullanım hakkında daha fazla bilgi için bkz. AWS Ücretsiz Kullanım.

S: Amazon Kinesis Data Streams’in maliyeti nedir?

Amazon Kinesis Data Streams, basit bir kullandıkça öde fiyatlandırmasına sahiptir. Peşin ödeme veya minimum ücret yoktur ve yalnızca kullandığınız kaynaklar için ödeme yaparsınız. Amazon Kinesis Data Streams maliyetlerinin iki temel boyutu ve üç isteğe bağlı boyutu vardır:

  • Amazon Kinesis veri akışınızdaki parça sayısına göre belirlenen Saatlik Parça maliyeti.
  • Veri üreticilerinizin veri akışınıza eklediği 25 KB’lık yük birimlerinin sayısına göre belirlenen PUT Yük Birimi maliyeti.

İsteğe bağlı:

  • Uzatılmış veri saklama, veri akışınız için uygulanan parça saati sayısına göre belirlenen isteğe bağlı bir maliyettir. Uzatılmış veri saklama özelliği etkinleştirildiğinde akışınızdaki her parça için uzatılmış saklama ücretini ödersiniz.
  • Gelişmiş yayma özelliği, iki maliyet boyutuna sahip isteğe bağlı bir maliyettir: tüketici-parça saat ve veri alma. Tüketici-parça saati sayısı, bir akış içindeki parça sayısının gelişmiş yayma özelliğini kullanan tüketici sayısıyla çarpılmasıyla elde edilir. Veri alma işlemleri, gelişmiş yayma özelliğini kullanan tüketicilere gönderilen GB miktarına göre belirlenir. 

Amazon Kinesis Data Streams maliyetleri hakkında daha fazla bilgi için bkz. Amazon Kinesis Data Streams Fiyatlandırması.

S: PutRecord işlemi yerine PutRecords işlemini kullanırsam PUT Yük Birimi maliyetim değişir mi?

PUT Yük Birimi ücreti, Amazon Kinesis veri akışınıza eklenen 25 KB’lık yük birimlerinin sayısına göre hesaplanır. PUT Yük Birimi maliyeti, PutRecords işlemi veya PutRecord işlemi kullanımına göre değişmez.

S: “KAPALI” durumdaki parçalar için ücret alınır mı?

Parça, parça düzenleme işleminin sonrasında “KAPALI” duruma geçer. “KAPALI” durumdaki parçalar için ücret alınmaz.

S: Amazon Kinesis Data Streams kullanımı için Amazon Kinesis Data Streams maliyetleri dışında başka maliyetler de var mı?

Amazon Kinesis uygulamalarınızı çalıştırmak için Amazon EC2’yi kullanırsanız Amazon Kinesis Data Streams maliyetlerine ek olarak Amazon EC2 kaynakları için de ücret ödersiniz.

Amazon Kinesis Client Library (KCL), kayıt işleme durumu bilgilerini takip etmek için Amazon DynamoDB tablolarını kullanır. Amazon Kinesis uygulamalarınız için KCL kitaplığını kullanırsanız Amazon Kinesis Data Streams maliyetlerine ek olarak Amazon DynamoDB kaynakları için de ücret ödersiniz.

Gelişmiş Parça Düzeyi Ölçümleri etkinleştirirseniz Amazon Kinesis Data Streams maliyetlerine ek olarak etkinleştirilen parça düzeyi ölçümler ile ilgili Amazon CloudWatch ücretlerini de ödersiniz.

Bu üçünün sık kullanılan seçenekler olduğunu ancak örneklerin bunlarla sınırlı olmadığını lütfen unutmayın.

Hizmet Düzeyi Sözleşmesi

S: Amazon Kinesis Data Streams SLA’sı hangi konuda güvence sağlar?

Amazon Kinesis Data Streams SLA’mız, Amazon Kinesis Data Streams için en az %99,9 oranında Aylık Çalışma Süresi Yüzdesi sağlar.

S: SLA Hizmet Kredisi hakkından yararlanıp yararlanamayacağımı nasıl anlayabilirim?

Amazon Kinesis Data Streams SLA’sı kapsamında, aynı bölge içinde yer alan ve üzerinde bir görev çalıştırdığınız birden fazla Erişilebilirlik Alanının Aylık Çalışma Süresi Yüzdesi herhangi bir fatura döneminde %99,9’dan az olursa Amazon Kinesis Data Streams için SLA kredisi alma hakkına sahip olursunuz.

SLA hüküm ve koşullarının tamamıyla ilgili tüm ayrıntıların yanı sıra nasıl kredi talebinde bulunabileceğinize ilişkin ayrıntıları öğrenmek için lütfen Amazon Kinesis Data Streams SLA ayrıntıları sayfasına bakın.

Amazon Kinesis Data Streams fiyatlandırması hakkında daha fazla bilgi edinin

Fiyatlandırma sayfasını ziyaret edin
Başlamaya hazır mısınız?
Kaydolun
Başka sorunuz mu var?
Bize ulaşın