AWS ParallelCluster と AWS Batch のスケジューラ - AWS ParallelCluster

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS ParallelCluster と AWS Batch のスケジューラ

awsbatch をスケジューラタイプとして使用すると、AWS ParallelCluster によって、AWS Batch マネージドのコンピューティング環境が作成されます。AWS Batch 環境は、Amazon Elastic Container Service (Amazon ECS) コンテナインスタンスを管理します。これらのインスタンスは、AwsBatchQueues/Networking/SubnetIds パラメータで設定したサブネットで起動します。AWS Batch が正しく機能するためには、Amazon ECS コンテナインスタンスは Amazon ECS サービスエンドポイントと通信するために外部ネットワークアクセスを必要とします。これは以下のシナリオに変換されます。

  • キューに指定されているサブネット ID は、インターネットのアクセスに NAT ゲートウェイを使用しています。この手法をお勧めします。

  • キューサブネットで起動したインスタンスは、パブリック IP アドレスを持ち、インターネットゲートウェイを介してインターネットに接続できます。

さらに、マルチノード並列ジョブ (AWS Batch ドキュメントより) に興味がある場合は以下を参照してください。

AWS Batch マルチノード並列ジョブは、Amazon ECS awsvpc ネットワークモードを使用します。これにより、マルチノード並列ジョブコンテナは、Amazon EC2 インスタンスと同じネットワークプロパティを取得します。各マルチノード並列ジョブコンテナは、独自の Elastic Network Interface、プライマリプライベート IP アドレス、および内部の DNS ホスト名を取得します。ネットワークインターフェイスは、ホストコンピューティングリソースと同じ VPC サブネットで作成されます。コンピューティングリソースに適用されるすべてのセキュリティグループも同じく適用されます。

Amazon ECS タスクネットワークを使用している場合、awsvpc ネットワークモードは、Amazon EC2 起動タイプを使用するタスクにはパブリック IP アドレスを使用する Elastic Network Interface を提供しません。Amazon EC2 起動タイプを使用するタスクでインターネットにアクセスするには、NAT ゲートウェイを使用するよう設定されたプライベートサブネットでタスクを起動する必要があります。

クラスターがマルチノード並列ジョブを実行できるようにするには、NAT ゲートウェイを設定する必要があります。

VPC architecture with public and private subnets, IGW, router, and ECS container instances.

これまでの設定や注意点は、すべて AWS Batch にも有効です。以下は、AWS Batch ネットワーク設定の例です。

# Note that all values are only provided as examples HeadNode: ... Networking: SubnetId: subnet-12345678 # subnet with internet gateway, NAT gateway or proxy #ElasticIp: true | false | eip-12345678 #Proxy: #HttpProxyAddress: http://proxy-address:port Ssh: KeyName: ec2-key-name Scheduling: Scheduler: awsbatch AwsBatchQueues: - ... Networking: SubnetIds: - subnet-23456789 # subnet with internet gateway, NAT gateway or proxy #AssignPublicIp: true | false

Scheduling/AwsBatchQueues/Networking セクションでは SubnetIds はリストタイプですが、現在サポートされているのは 1 つのサブネットのみです。

詳細については、以下の各トピックを参照してください。