AWSキネシスデータストリームでdevopsイベントを追跡する方法


生産のクラウドプラットフォームを実行するには、あなたのチームは物事がどのように動いているかを知る必要があります.一見無限のメトリック、測定、およびログは、プラットフォームを確保するために分析する必要があります実行している.クライアントがあなたのプラットホームを使用し続けるように満足しておくことはどんな雲会社のゴールでもあります.
あなたのシステムから収集することができますデータの重要な量とともに、あなたがそれらを収集するために使用できるだけ多くのツールが付属しています.AWSだけでは、ラムダ、Cloudtrail、CloudWatch、およびXrayを使用することがあります.これらのツールの各々は、あなたの情報を追跡するのに役に立つことができるツールの部分集合を持っています.しかし、最も興味深いのは個々のデータポイントではなく、そのデータの分析です.適切に分析するために、データは同じ分析ツールによってアクセス可能である必要があります.AWSキネシスデータストリームは、この分析のために迅速かつ効率的にデータを融合する方法を提供することができる.

キネシスデータストリームの特徴
キネシスのデータストリームには、ユースケースの広い幅で使用できるように多くの機能があります.この記事では、プラットフォームの健康を分析するために特に重要な機能を強調します.

リアルタイムストリーミングパフォーマンス
キネシスデータストリームは、データが非常に高速でキューを通過することができます.各々のシャードは、1 MB/s入力を消費して、2 MB/s出力を提供することができます.AWSはまた、書き込み回数によって入力を制限します.秒あたりの情報を必要とする場合は、ストリームの容量を増やすために新しいシャードを追加します.シャードを加えることは、直接利用できる能力に加えられます.
スケーリング速度によって、キネシスデータストリームから実時間解析プロセスまでのストリーミングは、高速な結果をもたらすことができる.devopsのセキュリティについては、通知を効率的にユーザーに送信することができますので、チームが問題を解決する前に、彼らは発生している可能性があります.この速度は、プラットフォームのダウンタイムを大幅に短縮することができます.

簡易容量
あなたのプラットホームは、予想されるか自発的な使用スパイクに基づいて異なる容量セッティングを必要とするかもしれません.キネシスのデータストリームは、単一のシャードでテラバイトまで利用可能なメガバイトからの容量を動的にスケールすることができます.プットリクエスト数も1秒あたりのレコード数百万スケールすることができます.このスケーリング容量は、キネシスがプラットフォームをユーザーとして成長し、より多くのスループットを必要とすることを意味します.あなたのビジネスと同じツールを使用して固執することができます成長し、規模としてインフラストラクチャを再構築する必要はありません.

資源連動コスト
多くのAWSサービスのように、Kinesisデータストリームを使用すると、使用するものを支払います.各シャードについては、AWSは、シャード時間の料金.実際のコストは使用されるAWS地域に依存しています.そして、サンパウロで$ 0.03/シャード時間から北Virginiaで0.015ドル/シャード時間まで変動します.ユーザーはまた、領域に依存してコストとシャード時間のコストに類似して、再び百万円ペイロード単位を請求されます.個別に暗号化とデータ保持のようなオプションの機能のためのAWS料金.

セキュリティと暗号化
AWSはデフォルトでトランジットのデータを暗号化します.また、ユーザーが任意の残りの部分でデータを暗号化することができます.開発者は、暗号化キーを管理するか、AWS暗号化を使用してAWS暗号化を使用するかを選択できます.ストリーミングのために,安静時のセキュリティデータの暗号化が必要である.AWS CloudTrailまたは個人ユーザー情報からのデータは、使用の情報を得るために攻撃の能力を制限するために暗号化されなければなりません.

キネシスデータストリーム対SQS
データストリームはAWSマネージインフラストラクチャです.このサービスを設定するときは、ストリームのストレージ、プロビジョニング、展開を考慮する必要はありません.データストリームとSQSはどちらもAWSマネージキューサービスです.それぞれの異なるプラットフォームを介して異なる要件とフローに便利です.ここでは、クラウドプラットフォームのセキュリティ、スケーラビリティ、およびバグを検出するためにdevfsデータを解析することについて議論しています.キネシスのデータストリームの特徴は、この終わりの方が良い選択になります.
キネシスは標準的なSQS待ち行列で利用できない記録の注文を提供することができます.キネシス値には、シーケンス番号と呼ばれる値が割り当てられる.データはシャードあたりのパーティションキーごとに一意保証されます.データは、この値を使用して正しい順序で消費者に到着することが保証されています.
キネシスは、同じまたは新しい消費者によって同じ順序でデータを読んで、再び読むことができます.データは所定時間読み出し後にキューに格納される.これは、消費者がそれを処理するまでデータを保持するSQSと異なります.キネシスとSQSはデータを読むために再試行を提供します.
SQSは、複数の消費者が同じキューに耳を傾ける能力を与えません.複数の消費者がキューから読んでいるなら、SQSは負荷バランスを提供します.キネシスは、しかし、すべての消費者に同じデータを提供します.スループットは消費者ごとに計算される.あなたがリアルタイム速度を必要として、重要な量のデータを持っているならば、Kinesisデータストリームで利用できる強化されたfanoutセッティングを使用することを考えてください.この設定は、各消費者が他の接続された消費者に影響を及ぼすことなく、そのスループット能力を持つことを可能にする

キネシスデータストリームへの書き込み
AWSキネシスデータストリームは、AWSの多くの源からデータを集めることができます.キネシスは、次のような別の解析ツールにデータを転送することができますCoralogix log analytics のりば

AWSラムダとキネシスデータストリーム
AWSラムダは、AWSによって管理される無サーバ計算システムです.これらの関数は、クラウドコンピューティングで一般的に使用され、システムの機能を実行します.あるいは、開発者は、Fargateタスク、またはEC 2計算機能を実行するように選択することができます.これらのそれぞれは、同様の方法論を使用してキネシスにインターフェイスできます.
計算機能は、キネシスデータストリームにさらなる分析のためのデータを送信することができます.このデータは、APIとの相互作用、外部ソースからのデータ、またはラムダ自身からの結果を含み得る.ラムダからデータストリームに書き込むには、AWS SDKを使用します.開発者は様々な貴重なデータをKenesisデータストリームに追加することができます.
  let kinesis = new AWS.Kinesis();
  kinesis.putRecord({
    Data: 'STRING_VALUE',
    PartitionKey: 'STRING_VALUE',
    StreamName: 'STRING_VALUE',
    ExplicitHashKey: 'STRING_VALUE',
    SequenceNumberForOrdering: 'STRING_VALUE'
  }).promise();

キネシスデータストリームへのAWS CloudWatch
CloudWatchユーザーの購読を設定できます.これらのサブスクリプションが自動的にキネシスデータストリームを含むさまざまなAWSサービスにデータを送信します.サブスクリプションには、開発者がキネシスに送信されるデータを制限できるようにするフィルタ構成が含まれます.
開発者はまた、さまざまな処理をデータの内容に基づいて発生できるように、さまざまなデータストリームにデータを送信するためにこれらのフィルタを使用することができます.例えば、devopsログを処理するのに必要なデータは解析エンジンのための単一のストリーム・バインドに行くかもしれません、一方、ユーザ・データは長期記憶のために異なるストリームに行きます.
次のコマンドを使用してKenesisデータストリームへのサブスクリプションを設定するには、AWS CLIを使用します.サブスクリプションを割り当てる前にストリームを作成する必要があります.また、あなたのサブスクリプションのIAMロールを作成してストリームに書き込む必要があります.CloudWatchサブスクリプションを作成する手順の完全な説明については、AWS documentation .

データストリームへのAWS Cloudtrail
CloudtrailはAWS S 3またはAWS CloudWatchに直接データを送るように設定することができます.CloudTrailはAWS CloudWatchに直接書くことができますので、CloudWatchをKinesisデータストリームにリンクして、CloudTrailデータを収集することができます.
あなたがコンソールからあなたのCloudTrailを作成しているなら、CloudWatchリンケージを構成するオプションは利用できます.一度オン、CloudWatchの価格設定は、あなたの統合に適用されます.

キネシスデータストリームの消費
キネシスデータストリームは、分析または保管のために異なる消費者にデータを送ることができます.利用できる消費者は、AWSラムダ、FargateとEC 2計算機能を含みます.また、Kinesis Analyticsのような別のKinesisの製品に直接送信するデータストリームを構成することもできます.AWSの計算機能と格納されたデータを使用すると、メトリックとストア情報を計算することができます.しかし、これを行うには、重要なマニュアル作業とデータを探すために何を予知する必要があります.キネシスAnalyticsは、データを処理するために、ユーザーを構築したSQLまたはApacheアプリを適用することによって、計算をより簡単にします.
開発者はまた、分析を設定する必要性を削除するサードパーティ製のツールにデータを送信するkinesisを構成することができます.Coralogixはあなたのプラットフォームのための重要なメトリクスと通知を生成するために異なるデータを分析することができますいくつかのツールを提供します.The security platform AWS情報を解析できるstreaming from Kinesis あなたのセキュリティ弱点の違反と遡及的な分析についての洞察を与えるために.コーラルジオクスlog analytics あなたのプラットフォームが最適に実行されていないとき、システムはCloudWatchデータを取り、あなたのチームに通知することができます.

概要
クラウドプラットフォームは、リアルタイム分析を使用して、システムが最適に機能していることを保証し、安全です.AWSサービスはすべてのストリームデータをAWSキネシスに提供することができます.そして、あなたのプラットホームのニーズに対応するためにセットされることができる能力の広範囲にわたるリアルタイム待ち行列です.キネシスは、異なるデータが同じデータに必要な場合、複数のエンドポイントにデータを送信するように設定することができます.Kineesisストリームの消費者は、分析を実行します.これらは、ラムダやファルゲートのようなAWS Compute関数のプラットフォームチームによって行われたソリューションです.彼らは、Kinesis Analyticsツールを使用しているプラットホームチームによって作られる半手動の機能でありえます.Analyticsを実行する最も効率的な方法は、coralogixsecurity or log analytics のりば