Azure portal を使用して Batch ジョブを作成する
Azure Batch では、大規模なアプリケーションをクラウドで効率的に運用できます。 コンピューティング集中型のタスクをスケジュールし、インフラストラクチャを管理せずにソリューションのリソースを動的に調整できます。 Azure Batch を使用すると、計算ノード (仮想マシン (VM)) のプールを作成して管理し、実行するアプリケーションをインストールし、コンピューティング ノードで実行するジョブをスケジュールすることができます。
Azure Batch を使うと、大規模な実行が必要なサービスとしてのソフトウェア (SaaS) アプリケーションやクライアント アプリケーションを構築できます。 たとえば、Batch を使って、金融サービス会社向けにモンテカルロ シミュレーションを実行するサービスや、多数の画像を処理するサービスを構築できます。
Azure Batch の動作の仕組み
次の図に示すように、Azure Batch の一般的な実際のシナリオには、データとアプリケーションのファイルが必要になります。 Batch のワークフローは、データとアプリケーションのファイルを Azure ストレージ アカウントにアップロードして開始します。 需要に基づいて、Windows または Linux の仮想計算ノードが必要な数だけ含まれる Batch プールを作成します。 需要が増えたら、計算ノードは自動的にスケーリングできます。
この図は 2 つの部分で構成されています。
- 自分のサービス
- そのバックにあるコンピューティング プラットフォームとしての Batch
サービスでは、Batch でコンピューティング集中型の作業を実行し、Azure Storage で結果を取得するためのプラットフォームとして、Azure が使用されています。 バックにあるプールは、仮想マシンのコレクションです。 プールとは、そこでジョブとタスクが実行されるリソースです。
Azure Storage は、Batch によって、仮想マシンでタスクを完了するために必要なアプリケーションやデータをフェッチし、タスクの出力を書き込むために使用されます。 独自のサービスで Batch API を使用することにより、ジョブとタスクの進行状況を監視できます。 その後、ジョブとタスクが完了したら、サービスで Azure Storage から結果を取得できます。
仮想ネットワークでの Azure Batch プールの作成
Batch ジョブを実行するには、Batch アカウントにプールを追加する必要があります。 プールには、Batch ジョブを実行するために必要な計算ノードが含まれます。 計算ノードは、ジョブを構成するタスクが処理される仮想マシンです。 プールを作成するときに、需要に基づいてノードの数、サイズ、オペレーティング システムを指定できます。
Batch サービスは、各プール ノードで実行される Batch ノード エージェントと通信する必要があります。 たとえば、ノード エージェントに対するタスクの実行、タスクの停止、またはタスクのファイルの取得が、サービスによって指示されます。 1 つまたは複数のロード バランサーが、プール ノード エージェントと通信できます。 ロード バランサーの数は、プール内のノードの数によって異なります。
ロード バランサーによって、対象のプール ノードに通信が転送されます。 各ノードには一意のポート番号があります。 既定では、ロード バランサーにはパブリック IP アドレスが関連付けられています。
また、既定で有効になっているリモート デスクトップ プロトコル (RDP) や SSH を介してプール ノードにリモートでアクセスすることもできます。 ここでも、通信はロード バランサーのエンドポイントを介して行われます。
Azure Batch プールを作成するときに、指定した Azure 仮想ネットワークのサブネットにプールをプロビジョニングできます。 プール内の計算ノードは相互に通信することで、個別の仮想ネットワークを必要とせずに複数インスタンスのタスクを実行できます。 既定では、パブリック IP アドレスを持つエンドポイントが、Batch アカウント、Batch プール、プール ノードでの通信に使用されます。
Azure 仮想ネットワークとサブネット
仮想ネットワークは、Azure 内のプライベート ネットワークの基本的な構成要素です。 仮想ネットワークにより、仮想マシンなどのさまざまな種類の Azure リソースが他の Azure リソース、インターネット、オンプレミス ネットワークと安全に通信できるようになります。
仮想ネットワークは、独自のデータセンターで運用する従来のネットワークに似ていますが、スケール、可用性、分離性など、より多くの Azure インフラストラクチャの利点を提供します。
仮想ネットワークで実現できる主なシナリオは次のとおりです。
- Azure リソースとインターネット間の通信
- Azure リソース間の通信
- オンプレミス リソースとの通信
- ネットワーク トラフィックのフィルター処理
- ネットワーク トラフィックのルーティング
- Azure サービスとの統合
サブネットとは、仮想ネットワーク内の IP アドレスの範囲です。 仮想ネットワークは、整理とセキュリティのために複数のサブネットに分割できます。 仮想ネットワークを設定するときに、使用できるアドレス空間やサブネットなど、トポロジを指定します。 この仮想ネットワークを他の仮想ネットワークやオンプレミス ネットワークに接続することを計画している場合は、重複のないアドレス範囲を選択する必要があります。
サブネット間にはセキュリティ境界がないため、各サブネット内の VM は相互に通信できますが、サブネットと VM の間で送受信されるトラフィック フローを制御できるネットワーク セキュリティ グループを設定できます。