[アップデート] AWS Batch でマネジメントコンソールからも Linux ARM64 と Windows のジョブ定義が作成出来るようになりました

2023.08.03

いわさです。

2 週間ほど前に AWS Batch の Fargate タイプで Linux ARM 64 と Windows プラットフォームが利用出来るアップデートを紹介させて頂きました。

上記アップデートは少し限定的で、AWS SDK と AWS CLI から利用が出来るようになったのですが、マネジメントコンソールからは利用が出来ない状態でした。
しかし、今回のアップデートでマネジメントコンソールでも利用出来るようになりました。

アップデートの影響でこれまでとマネジメントコンソールのタスク定義ウィザードのユーザーインターフェースが少し変わっています。
戸惑わないように変更点を確認しておきましょう。

マネジメントコンソールから Windows コンテナなタスク定義を作成してみる

今回の影響は、AWS Batch で Linux ARM 64 と Windows が利用出来るようになった Fargate タイプでのみ変更が発生しています。

これまではなかった「Fargate プラットフォームの設定」が新しく追加されています。

プラットフォームが Linux の場合は、CPU アーキテクチャーでX86_64ARM64を選択出来るようになっています。

プラットフォームが Windows の場合は、次のように OS ファミリが選択出来るようになっています。
Windows の場合の CPU アーキテクチャーはX86_64のみです。

構成に応じてサイドメニューが動的に変わるようになってる

ここでは次のように適当な Windows コンテナを構成してみます。

その時のジョブ定義のウィザードですが、選択したプラットフォームに準じたメニューに変わっています。
今までは Linux に関する表記で固定だったのですが、Windows の表記に動的に切り替わっていますね。

ジョブ送信してみる

マネジメントコンソールからジョブ定義を行いました。
内容は冒頭の AWS CLI を使った際と同様で Windows 2019 Core で systeminfo を実行するジョブです。

こちらを送信してみましょう。
ジョブ送信を行おうとすると、Fargate Spot ではまだ Windows と ARM 64 がサポートされていないと注意書きがされています。
ジョブ設定にアタッチするコンピューティング環境に依存した設定であり、アタッチ自体は出来ますがジョブの実行に失敗しますのでご注意ください。

ジョブステータスが成功になったら CloudWatch のロググループを確認してみます。

systeminfo 実行結果が確認出来ましたね。

さいごに

本日は AWS Batch でマネジメントコンソールからも Linux ARM64 と Windows のジョブ定義が作成出来るようになったので、確認してみました。

ジョブ定義画面が結構変わっていて少し混乱するかもしれませんが、まぁこういうアップデートがあったんだよということです。
Windows コンテナを使うケースは多くないと思いますが、ARM 64 はこれから使うシーンが多くあると思いますので、設定手順を知っておきましょう。