編集

次の方法で共有


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

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

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

手記

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

建築

AKS と Service Bus を使用して実装されるアーキテクチャの図。

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

ワークフロー

図の番号付き円は、次の一覧の番号付きステップに対応しています。

  1. このアーキテクチャでは、Service Bus のトピックとキューを使用して、バッチ処理入力を整理し、処理のためにダウンストリームに渡します。
  2. レイヤー 4 (TCP、UDP) ロード バランサーである Azure Load Balancer は、負荷分散セットで定義されたサービスの正常なインスタンス間で受信トラフィックを分散します。 接続の負荷分散と管理によって、処理が最適化されます。
  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) オプションを使用して、致命的な障害から保護します。

コンポーネント

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

  • 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は、クラウド内のマネージドでセキュリティで保護され、常に up-to-date SQL インスタンスです。
  • Data Factory は、すべてのデータを大規模に準備および変換するためのフル マネージドのサーバーレス データ統合ソリューションです。
  • Data Factory では、Parquet ファイルのデータ形式がサポートされています。 詳細については、Azure Data Factoryでの Parquet 形式の に関するページを参照してください。
  • Log Analytics は、Azure Monitor ログでログ クエリ 編集および実行するために使用される Azure portal のツールです。 詳細については、「Azure Monitorでの Log Analytics の概要」を参照してください。
  • Azure Storage geo 冗長ストレージ (GRS) オプションは、プライマリ リージョンの 1 つの物理的な場所内でデータを同期的に 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 の柱を実装します。これは、ワークロードの品質を向上させるために使用できる一連の基本原則です。 詳細については、Microsoft Azure Well-Architected Frameworkの に関するページを参照してください。

確実

信頼性により、アプリケーションは顧客に対するコミットメントを確実に満たすことができます。 詳細については、「信頼性設計レビューチェックリスト」を参照してください。

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

安全

セキュリティは、意図的な攻撃や貴重なデータとシステムの悪用に対する保証を提供します。 詳細については、「セキュリティ設計レビューチェックリスト」を参照してください。

  • 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 マネージド ストレージ ディスクの価格については、「Managed Disks の価格」を参照してください。
  • Azure SQL Databaseの前払いコストはありません。使用したリソースに対して支払います。
  • ExpressRouteの場合は、毎月のポート料金と送信データ転送料金を支払います。
  • Azure Storage コスト は、データ冗長オプションとボリュームによって異なります。
  • Azure Files の価格 は、データ ボリューム、データ冗長性、トランザクション ボリューム、使用するファイル同期サーバーの数など、さまざまな要因によって異なります。
  • SSD マネージド ディスクの価格については、「マネージド ディスクの価格 参照してください。
  • Site Recoveryの場合、保護されたインスタンスごとに料金が課金されます。
  • これらのサービスは Azure サブスクリプションでは無料ですが、使用量とトラフィックに対して料金が課金されます。
    • load Balancerを します。
    • アクティビティの実行ボリュームによって、Data Factoryのコスト 決定されます。
    • Azure Virtual Networkの場合、IP アドレスにはわずかな料金がかかります。
    • 送信データ転送ボリュームによって、Azure Bastion コスト 決定されます。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、運用環境で実行し続ける運用プロセスを対象としています。 詳細については、「オペレーショナル エクセレンス設計レビュー チェックリスト」を参照してください。

  • Azure Resource Manager テンプレート (ARM テンプレート) 、スクリプト化されたデプロイに使用できるテンプレート内のリソースを記述するための構成言語を提供します。 テンプレートには、監視とアラート機能も用意されています。

パフォーマンス効率

パフォーマンス効率は、効率的な方法でユーザーの要求に合わせてワークロードをスケーリングする機能です。 詳細については、「パフォーマンス効率設計レビュー チェックリスト」を参照してください。

  • このアーキテクチャは、独立したトランザクションの並列処理に対応するように設計されています。
  • Service Bus、AKS、およびその他の Azure PaaS 機能は、トランザクション処理、コンピューティング、データ ストレージに高いパフォーマンスを提供します。
  • Service Bus、AKS、およびその他の Azure PaaS 機能は、必要に応じて動的にスケーリングされます。

次の手順

  • AKS の詳細については、「Azure Kubernetes Service ソリューション体験する」を参照してください。
  • Service Bus の詳細については、「service Bus キュー、トピック、サブスクリプションする」を参照してください。