編集

次の方法で共有


IBM z/OS メインフレーム結合機能を Azure にリファクタリングする

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

この記事では、Azure サービスを使用してスケールアウト パフォーマンスと高可用性を提供するアーキテクチャについて説明します。これは、結合機能 (CF) を備えた IBM z/OS メインフレーム システムに似ています。

メインフレームのアーキテクチャ

以下の図に、結合機能と Parallel Sysplex コンポーネントを使用した IBM z/OS メインフレーム システムのアーキテクチャを示します。

結合機能と Parallel Sysplex コンポーネントを使用した、IBM z/OS メインフレーム アーキテクチャを示す図。

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

ワークフロー

  • 入力は、TN3270 やハイパーテキスト転送プロトコル セキュア (HTTPS) などの標準のメインフレーム プロトコルを介して、伝送制御プロトコル/インターネット プロトコル (TCP/IP) 経由でメインフレームに移動します (A)

  • バッチ処理またはオンライン トランザクション処理アプリケーションが、入力を受け取ります (B)。 バッチ ジョブは、データ層のデータを共有する複数の Central Electronics Complex (CEC) 間で分散または複製できます。 オンライン層では、Parallel Sysplex CICS または CICSPlex を介して、複数の CEC に論理 Customer Information Control System (CICS) リージョンを分散できます。

  • Common Business Oriented Language (COBOL)、PL/I、アセンブラー、互換性のあるアプリケーション (C) は、CICSPlex 環境などの Parallel Sysplex が有効な環境で実行されます。

  • その他のアプリケーションサービス (D) は、CF 全体で共有メモリを使用することもできます。

  • IBM Db2 (E) などの Parallel Sysplex が有効なデータ サービスは、共有環境でスケールアウト データ ストレージを提供します。

  • MQSeries、管理、および印刷サービス (F) などのミドルウェアおよびユーティリティ サービスは、各 CEC の z/OS で実行されます。

  • 各 CEC (G) 上の論理パーティション (LPAR) は、z/OS を実行します。 アーキテクチャには、IBM z/VM などの他のオペレーティング環境や、IBM z Integrated Information Processor (zIIP) や Integrated Facility for Linux (IFL) などの他のエンジンが含まれている場合もあります。

  • CEC は、CF (H) を使用して共有メモリと状態に接続します。

  • CF (I) は、複数の CEC を共有メモリに接続する物理デバイスです。

Azure アーキテクチャ

以下の図に、Parallel Sysplex と CF を使用して、z/OS メインフレームに同様の機能とパフォーマンスを提供する Azure サービスを示します。

IBM z/OS メインフレーム コンポーネントが Azure の機能にどのようにマップされるかを示す図。

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

ワークフロー

  1. リモート クライアントが、Azure ExpressRoute を介して、または他の Azure アプリケーションから入力を送信します。 どちらの場合も、TCP/IP がシステムへのプライマリ接続です。

    Web ブラウザーが Azure システム リソースにアクセスし、デマンド ユーザーとオンライン ユーザーのターミナル エミュレーションが置き換えられます。 ユーザーが、トランスポート層セキュリティ (TLS) ポート 443 を介して Web ベースのアプリケーションにアクセスします。 ユーザーの再トレーニングを最小限に抑えるために、Web アプリケーションのプレゼンテーション レイヤーは、実質的に変更されないままにすることができます。 または、Web アプリケーションのプレゼンテーション レイヤーを最新のユーザー エクスペリエンス フレームワークに更新することもできます。

    (1a) セキュリティを強化するために、Microsoft Entra ID で認証と承認を有効にし、強制することができます。

  2. Azure では、アプリケーション コンピューティング クラスターへのアクセスは、Azure Load Balancer によって行われるため、スケールアウト コンピューティング リソースを使用して入力作業を処理できます。

  3. 使用されるアプリケーション コンピューティング クラスターの種類は、アプリケーションが仮想マシン (VM) 上で実行されるか、Kubernetes のようなコンテナー クラスターで実行されるかによって異なります。 通常、PL/I または COBOL で記述されたアプリケーションのメインフレーム システム エミュレーションでは、VM が使用されます。 Java または .NET にリファクタリングされたアプリケーションでは、コンテナーが使用されます。 一部のメインフレーム システム エミュレーション ソフトウェアは、コンテナーでのデプロイもサポートします。

  4. アプリケーション サーバー (Java 用 Tomcat、または COBOL 用の CICS や情報管理システム (IMS) トランザクション処理モニターなど) は入力を受け取り、Redis またはリモート ダイレクト メモリ アクセス (RDMA) 用の Azure キャッシュを使用してアプリケーションの状態とデータを共有します。 この機能は、メインフレームの CF に似ています。

  5. データ サービスはアプリケーション クラスター内にあるため、永続的なデータ ソースは複数の接続を受け取ることができます。 これらのデータ ソースには、Azure SQL Database や Azure Cosmos DB などの PaaS (サービスとしてのプラットフォーム) データ ソリューション、Oracle Database や IBM Db2 などの VM 上のデータベース、Azure Databricks や Azure Data Lake Storage などのビッグ データ リポジトリを含めることができます。 アプリケーション データ サービスは、Apache Kafka や Azure Stream Analytics などのストリーミング データ分析サービスに接続することもできます。

    Azure PaaS データ サービスは、クラスター内の複数のコンピューティング リソースが共有できるスケーラブルで可用性の高いデータ ストレージを提供します。 これらのサービスは geo 冗長でもかまいません。

  6. アプリケーション サーバーは、Tomcat の Java クラスや CICS エミュレーション VM で CICS Verb を使用する COBOL プログラムなど、言語に基づいてさまざまなアプリケーションプログラムをホストします。

  7. データ サービスは、Azure Ultra Disk Storage または Azure Premium SSD の高パフォーマンス ストレージ、Azure NetApp Files または Azure Files 上のファイル ストレージ、ローカル冗長または geo 冗長である標準の BLOB、アーカイブ、バックアップ ストレージを組み合わせて使用します。

  8. Azure Blob Storage は、外部データ ソースの汎用ランディング ゾーンです。

  9. Azure Data Factory は、内外の複数のデータ ソースからデータを取り込み同期します。

  10. Azure Site Recovery は、VM コンポーネントとコンテナー クラスター コンポーネントのディザスター リカバリー (DR) を提供します。

コンポーネント

  • ExpressRoute は、接続パートナーが提供するプライベート接続を介して、オンプレミス ネットワークを Microsoft クラウドに拡張します。 ExpressRoute を使用すると、Azure や Microsoft 365 などのクラウド サービスへの接続を確立できます。

  • Azure Bastion は、お使いの仮想ネットワーク内でプロビジョニングする、フル マネージドPaaS (サービスとしてのプラットフォーム) です。 Azure Bastion により、TLS 経由で Azure portal から直接、仮想ネットワーク内の VM に安全かつシームレスなリモート デスクトップ プロトコル (RDP) および Secure Shell (SSH) 接続を行うことができます。

  • Load Balancer は、ロード バランサーのフロントエンドからの受信フローを、構成された負荷分散規則と正常性プローブに従ってバックエンド プール インスタンスに配布します。 バックエンド プール インスタンスには、Azure VM または仮想マシン スケール セット内のインスタンスを使用できます。 ロード バランサーは、クライアントにとっての単一接続点となります。

    Load Balancer は、開放型システム間相互接続モデルのレイヤー 4 で動作します。 レベル 7 のアプリケーション レベルと、レベル 4 のネットワーク プロトコル レベルのロード バランサーの両方を使用できます。 使用すべき型は、アプリケーションの入力がコンピューティング クラスターのエントリ ポイントにどのように到達するかによって異なります。

  • Azure Virtual Machines では、仮想化の柔軟性を提供する、オンデマンドでスケーラブルなコンピューティング リソースが提供されます。 Azure VM では、Windows や Linux などのオペレーティング システムを選択できます。

    ほとんどの Azure 高パフォーマンス コンピューティングの VM サイズは、RDMA 接続用のネットワーク インターフェイスを備えています。

  • Azure 仮想ネットワークは、Azure プライベート ネットワークの基本的な構成要素です。 VM などの Azure リソースは相互に、またインターネットやオンプレミス ネットワークと安全に通信できるように、仮想ネットワークを使用します。 Azure 仮想ネットワークは、オンプレミスにおける従来のネットワークと似ていますが、 Azure のインフラストラクチャのスケーラビリティ、可用性、分離などのメリットがあります。

    仮想ネットワーク インターフェイス は、Azure VM とインターネット、Azure リソース、オンプレミス リソースの間の通信を実現します。 1 つの Azure VM に複数のネットワーク インターフェイス カードを追加できるため、子 VM で独自の専用ネットワーク インターフェイス デバイスと IP アドレスを使用できます。 その構成は、このアーキテクチャに似ています。

  • Azure Kubernetes Service (AKS) は、コンテナー ベースのコンピューティング クラスターでコンテナ化されたアプリケーションをデプロイおよび管理するために使用できる、フル マネージド Kubernetes サービスです。

  • Azure Cache for Redis は、データ集中型アーキテクチャのパフォーマンスとスケーラビリティを向上させる、フル マネージドメモリ内キャッシュです。 このアーキテクチャでは、 Azure Cache for Redis を使用して、コンピューティング リソース間でデータと状態を共有します。

  • SQL Database は、安定した最新バージョンの SQL Server とパッチ適用済みの OS 上で実行され、99.99% の可用性がある、フル マネージド PaaS データベース エンジンです。 SQL Database では、アップグレード、修正プログラムの適用、バックアップ、モニタリング、ほとんどのデータベース管理機能がユーザーの介入なしで処理されます。 これらの PaaS 機能を使用すると、ユーザーはビジネス クリティカルな、ドメイン固有のデータベースの管理と最適化に集中できます。

  • SQL Database 向け Azure Private Link は、Azure VM から Azure ネットワーク バックボーンのみを使用する SQL Database への、プライベートな直接接続を提供します。

  • Azure Cosmos DB は、NoSQL データベース用の Azure PaaS サービスです。

  • Azure Database for PostgreSQL は、PostgreSQL データベース用の Azure PaaS サービスです。

  • Azure マネージド ディスクは、Azure が Azure VM 上で管理するブロックレベルのストレージ ボリュームです。 使用可能なディスクの種類は、Ultra Disk Storage、Premium SSD、Standard SSD、Standard HDD などです。 このアーキテクチャでは、Premium SSDs または Ultra Disk Storage が最適です。

  • Data Factory は、大規模なデータの取り込み、準備、および変換のために使用できる、フル マネージド サーバーレス データ統合ソリューションです。

  • Azure Files を使用すると、クラウドまたはオンプレミスからアクセスできる、Azure Storage アカウント内のフル マネージド ファイル共有を実現できます。 Windows、Linux、および macOS のデプロイでは、Azure ファイル共有を同時にマウントし、業界標準のサーバー メッセージ ブロック (SMB) プロトコルを介してファイルにアクセスできます。

  • Stream Analytics は、データをストリーミングするために使用できる Azure ベースの分析サービスです。

  • Azure Databricks は、ビッグ データ分析のための Apache Spark PaaS サービスです。

  • Microsoft Entra ID は、ユーザーをアプリ、デバイス、データに接続する、Microsoft のクラウドベースの ID およびアクセス管理ソリューションです。

シナリオの詳細

CF は、複数のメインフレーム サーバーまたは CEC を共有メモリに接続する物理デバイスであるため、システムをスケールアウトしてパフォーマンスを向上させることができます。 COBOL や PL/I などの言語で記述されたアプリケーションは、これらの密結合スケールアウト機能をシームレスに使用できます。

IBM Db2 データベースと CICS サーバーは、データ共有と並列コンピューティングを組み合わせた、Parallel Sysplex と呼ばれるメインフレームサブシステムで CF を使用できます。 Parallel Sysplex を使用すると、最大で 32 個のシステムのクラスターでワークロードを共有でき、高パフォーマンス、高可用性、および DR が得られます。 Parallel Sysplex を使用したメインフレーム CF は、通常、同じデータセンターに存在し、CEC 間に近接していますが、データセンター間で拡張することもできます。

Azure リソースは、共有データと高可用性を備えた同様のスケールアウト パフォーマンスを提供できます。 Azure コンピューティング クラスターは、 Azure Cache for Redis などのデータ キャッシュ メカニズムによってメモリを共有し、SQL Database や Azure Cosmos DB などのスケーラブルなデータテクノロジを使用します。 Azure では、分散型 Azure データセンターにスケールアウト コンピューティングと高可用性を拡張するために、可用性セットとグループを geo 冗長機能と組み合わせて実装できます。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

可用性

このアーキテクチャでは Site Recovery を使用して、Azure データセンター障害が発生した場合の迅速なフェールオーバーおよび DR のために、Azure VM をセカンダリ Azure リージョンにミラー化します。

回復性

このソリューションでは、ロード バランサーが回復性を生み出します。 1 つのプレゼンテーションまたはトランザクション サーバーで障害が発生した場合、ロード バランサーの背後にある他のサーバーがワークロードを実行します。

スケーラビリティ

サーバー セットをスケールアウトすることで、スループットを向上させることができます。 詳しくは、仮想マシン スケール セットに関する記事をご覧ください。

セキュリティ

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

  • このソリューションでは、Azure ネットワーク セキュリティ グループ (NSG) を使用して、Azure リソース間のトラフィックを管理します。 詳細については、NSGsについてのページを参照してください。

  • SQL Database 用プライベート リンク は、Azure VM から Azure SQL Database への、Azure ネットワーク バックボーンに分離されたプライベートな直接接続を提供します。

  • Azure Bastion は、開いているポートを最小限にすることで、管理アクセス セキュリティを最大限に確保します。 Azure Bastion は、TLS 経由で Azure ポータルから直接、ネットワーク VM に安全かつシームレスに RDP/SSH 接続できます。

  • Microsoft Entra は、ほとんどの Azure サービスとシームレスと統合される、統合セキュリティ プラットフォームです。

コストの最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。

  • SQL Database では、高い 1 秒あたりの入出力操作数と高いアップタイム SLA を使用するために、このソリューション内の SQL Database 階層、Hyperscale または Business Critical を使用します。

  • このアーキテクチャでは、Premium SSD または Ultra Disk SSD が最適です。 詳細については、「マネージド ディスクの価格」を参照してください。

次のステップ