大量のバッチ トランザクション処理

Azure Kubernetes Service (AKS)
Azure Service Bus
Azure Virtual Machines

このアーキテクチャでは、AKS を使用して、大量のトランザクションをバッチ処理するアプリケーションのコンピューティング クラスターが実装されます。 アプリケーションは、Service Bus トピックまたはキューからのメッセージでトランザクションを受信します。 トピックとキューは、さまざまな地理的リージョンの Azure データセンターに配置でき、それらからの入力を複数の AKS クラスターで読み取ることができます。

注意

このアーキテクチャは、IBM メインフレームで多くの場合にメッセージ指向ミドルウェアの IBM MQ ファミリを使用して実装される、一種のバッチ トランザクション処理に適しています。

アーキテクチャ

Diagram of an architecture implemented by using AKS and Service Bus.

このアーキテクチャの Visio ファイルをダウンロードします。

ワークフロー

図中の丸で囲まれた番号は、次の一覧の手順番号に対応しています。

  1. このアーキテクチャでは、Service Bus のトピックとキューを使用して、バッチ処理の入力を整理し、処理のためにダウンストリームに渡すことができます。
  2. Azure Load Balancer (レイヤー 4 (TCP、UDP) ロード バランサー) により、負荷分散セットで定義されているサービスの正常なインスタンス間で着信トラフィックが分散されます。 負荷分散と接続の管理により、処理が最適化されます。
  3. AKS クラスター ワーカー ノードは、入力のために Service Bus キュー エンドポイントをリッスンします。
  4. Java ノードは、Java Message Service を使用して Service Bus に接続され、Java Database Connectivity などの Java インターフェイスを使用して他のデータソースに接続されます。 必要に応じて、他の Java API が使用されます。
  5. 復旧可能なトランザクションは、各バッチ ステップのビジネス コードと共に実行されます。
  6. バッチ インフラストラクチャでは、速度を向上させるために Azure 高速ネットワークが使用されます。
  7. Azure Cache for Redis、Azure Cosmos DB、Azure Stream Analytics では、必要に応じて作業ストレージが提供されます。
  8. 永続的なデータ層では、データ統合のために Azure Data Factory が使用され、高可用性を実現するために Azure SQL Managed Instance (ビジネス クリティカルなパフォーマンス階層) が使用されます。 永続的なストレージは、他のデータベース テクノロジへの移行を容易にするために、また、(たとえば、シャードやパーティションを使用して) ストレージ構成を最適化するために、疎結合されています。
  9. データ ソリューション (過渡的および永続的) では、Azure Storage geo 冗長ストレージ (GRS) オプションを使用して、致命的な障害から保護されます。

Components

このアーキテクチャでは、次のコンポーネントが使用されます。

  • Azure Virtual Network では、セキュリティで保護されたプライベート ネットワークがクラウドに提供されます。 これにより、仮想マシン (VM) を相互に、インターネットに、およびオンプレミス ネットワークに接続できます。
  • Azure ExpressRoute を使用すると、Azure データセンターとオンプレミスのインフラストラクチャの間にプライベート接続を実現できます。
  • Azure Bastion を使用すると、プライベートなフル マネージドの VM への RDP および SSH アクセスを実現できます。
  • Azure Virtual Machines を使用すると、仮想化の柔軟性を実現でき、それをホストするハードウェアを提供して維持する必要はありません。 オペレーティング システムの選択には、Windows と Linux が含まれます。
  • 高速ネットワークを使用して作成された VM では、シングル ルート I/O 仮想化 (SR-IOV) が使用されます。これにより、ネットワークのパフォーマンスが大幅に向上します。 詳細については、「Azure PowerShell を使用して高速ネットワークによる Windows VM を作成する」と「シングル ルート I/O 仮想化 (SR-IOV) の概要」を参照してください。
  • Azure ネットワーク インターフェイスにより、VM がインターネットに接続され、Azure リソースとオンプレミスのリソースに接続されます。 このアーキテクチャに示されているように、各子 VM に独自のネットワーク インターフェイスおよび IP アドレスを指定できます。 ネットワーク インターフェイスの詳細については、「ネットワーク インターフェイスを作成、変更、または削除する」を参照してください。
  • Azure Managed Disks は、ハイパフォーマンスで持続性に優れた、VM 用のブロック ストレージです。 クラウドには、Ultra Disk Storage、Premium SSD、Standard SSD、および Standard HDD の 4 つのディスク ストレージ オプションがあります。
  • Azure Kubernetes Service (AKS) は、コンテナー化されたアプリケーションをデプロイおよび管理するためのフル マネージド Kubernetes サービスです。
  • Service Bus を使用すると、信頼性の高いクラウド MaaS (サービスとしてのメッセージング) とシンプルなハイブリッド統合を実現できます。
  • Azure の負荷分散サービスでは、高可用性と高パフォーマンスを実現するためのスケーリングが提供されます。 このアーキテクチャでは、Load Balancer が使用されます。 これにより、低待機時間のレイヤー 4 (TCP、UDP) の負荷分散機能が提供されて、VM 間と、多層化されたハイブリッド アプリ間のトラフィックが分散されます。
  • Azure Cache for Redis は、コンピューティング リソース間でデータと状態を共有するための、高速のフル マネージド メモリ内キャッシュ サービスです。
  • Azure Cosmos DB は、あらゆる規模に対応するオープン API を備えた高速 NoSQL データベースです。
  • Azure Stream Analytics を使用すると、アプリケーションやデバイスからのデータの高速移動ストリームに対するリアルタイム分析が可能になります。
  • Azure Databricks は、Apache SparkTM に基づく、高速で使いやすい、コラボレーション対応のビッグ データ分析サービスです。
  • Azure SQL は、SQL クラウド データベースのファミリです。これにより、SQL ポートフォリオ全体に統一されたエクスペリエンスを実現でき、エッジからクラウドまで幅広いデプロイ オプションが提供されます。
  • Azure SQL サービス ポートフォリオの一部である Azure SQL Managed Instance は、安全かつ常に最新のクラウド内マネージド SQL インスタンスです。
  • Data Factory は、すべてのデータを大規模に準備および変換するための、フル マネージド サーバーレス データ統合ソリューションです。
  • Data Factory では、Parquet ファイル データ形式がサポートされます。 詳細については、「Azure Data Factory での Parquet 形式」を参照してください。
  • Log Analytics は、Azure portal のツールであり、Azure Monitor ログでのログ クエリの編集と実行に使用します。 詳細については、「Azure Monitor の Log Analytics の概要」を参照してください。
  • Azure Storage の geo 冗長ストレージ (GRS) オプションにより、プライマリ リージョンの単一の物理的な場所内に同期的に 3 回データがコピーされてから、セカンダリ リージョンの 1 つの物理的な場所に非同期でコピーされます。 詳細については、「Azure Storage の冗長性」を参照してください。
  • Azure Blob Storage は、クラウドネイティブのワークロード、アーカイブ、データ レイク、ハイパフォーマンス コンピューティング、および機械学習のための、非常にスケーラブルで安全な REST ベースのオブジェクト ストレージです。
  • Azure Files を使用すると、シンプルかつ安全なサーバーレスのクラウド内エンタープライズ グレード ファイル共有を実現できます。 この共有にアクセスするには、業界標準のサーバー メッセージ ブロック (SMB) プロトコルとネットワーク ファイル システム (NFS) プロトコルを使用します。

シナリオの詳細

Azure では、Microsoft Azure Kubernetes Service (AKS) と Azure Service Bus に基づくアーキテクチャを使用して、アカウントへの支払いの送信などのバッチ トランザクション処理を実装できます。 この種類のアーキテクチャでは、大量のバッチ処理に必要なトランザクションの処理速度、スケーリング、および信頼性が実現されます。

通常、メッセージは、トランザクションが完了するまでキューに置かれ、障害が発生した場合に復旧できます。 また、トピックやキューを他の地域にレプリケートしたり、ワークロードを共有したり、リージョンで障害が発生した場合でも処理を続行したりできます。

考えられるユース ケース

金融、教育、科学の各業界に最適なソリューションです。 このアーキテクチャは、トランザクションのバッチを大量に処理するためのもので、とりわけ、並列処理が可能な独立したトランザクションです。 したがって、メインフレームのバッチ処理の移行に使用される可能性があります。 考えられるアプリケーションは次のとおりです。

  • 給与支払い、注文、支払いなど、金融取引の処理。
  • 理化学機械によって収集された実験用データの処理。
  • その他のメインフレーム バッチ処理。

考慮事項

このソリューションには、Azure Well-Architected Framework に基づく次の考慮事項が適用されます。

可用性

  • Azure Site Recovery ディザスター リカバリー サービスにより、大きな障害から保護できます。 これは信頼性とコスト効率が高く、デプロイも簡単です。
  • VM の可用性セットにより、ミッション クリティカルなバッチ処理のニーズを満たすために十分な数の VM を確保できます。
  • Service Bus、AKS、および Azure SQL Managed Instance により、地理的リージョン全体で高可用性と回復性を実現できます。

運用時

パフォーマンス効率

  • このアーキテクチャは、独立したトランザクションの並列処理に対応するように設計されています。
  • Service Bus、AKS、その他の Azure PaaS 機能により、トランザクション処理、コンピューティング、データ ストレージのパフォーマンスが向上します。

スケーラビリティ

  • Service Bus、AKS、その他の Azure PaaS 機能は、必要に応じて動的に拡張できます。

Security

  • Service Bus バッチ アーキテクチャ内のすべてのコンポーネントは、Microsoft Entra ID、Virtual Network、暗号化などの Azure セキュリティ コンポーネントで動作します。

コストの最適化

このソリューションの実装のコストを見積もるには、料金計算ツールを使用します。

AKS クラスターの自動スケール機能、および需要に応じたスケーリングを提供するその他の Azure Platform as a Service (PaaS) 機能により、コストを最小限に抑えることができます。

特定のコンポーネントの価格に関する考慮事項を次に示します。

  • ほとんどの企業には既に Microsoft Active Directory の実装があります。 そうでない場合は、Microsoft Entra ID P1 または P2 のコストは低くなります。
  • Windows VM の料金Linux VM の料金は、コンピューティング能力によって異なります。
  • Premium SSD または Ultra マネージド ストレージ ディスク の価格については、「マネージド ディスク価格」を参照してください。
  • Azure SQL Database の初期コストはありません。使用したリソースに対して料金が請求されます。
  • ExpressRoute では、月額のポート費用と送信データ転送料金をお支払いいただく必要があります。
  • Azure Storage のコストは、データの冗長性オプションとボリュームによって異なります。
  • Azure Files の価格は、データ ボリューム、データの冗長性、トランザクション ボリューム、使用するファイル同期サーバーの数など、多くの要因によって異なります。
  • SSD マネージド ディスクの料金については、Managed Disks の価格を参照してください。
  • Site Recovery では、保護されたインスタンスごとに支払いが発生します。
  • これらのサービスは Azure サブスクリプションによって無料ですが、次の使用量とトラフィックについてお支払いいただく必要があります。
    • Load Balancer
    • アクティビティの実行ボリュームによって Data Factory のコストが決まります。
    • Azure Virtual Network では、IP アドレスに少額の費用が必要です。
    • 送信データ転送ボリュームにより、Azure Bastion のコストが決定されます。

次のステップ