AWS BatchでのAWSFargate - AWS Batch

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

AWS BatchでのAWSFargate

AWSFargate は、使用できるテクノロジーです。AWS BatchMac でコンテナを使用すると、Amazon EC2 インスタンスでサーバーまたはクラスターを管理する必要がありません。とAWSFargate を使用すると、コンテナを実行するために仮想マシンのクラスターをプロビジョニング、設定、スケールする必要がありません。これにより、サーバータイプの選択、クラスターをスケールするタイミングの決定、クラスターのパッキングの最適化を行う必要がなくなります。

Fargate リソースを使用してジョブを実行する場合、アプリケーションをコンテナにパッケージ化し、CPU およびメモリ要件を指定して、ネットワーキングおよび IAM ポリシーを定義した後、アプリケーションを起動します。各 Fargate ジョブは、独自の分離境界を持ち、基本となるカーネル、CPU リソース、メモリリソース、リソース、または elastic network interface を別のジョブと共有しません。

Fargate を使用するタイム

多くのお客様にとって、Fargate はより良い選択です。Fargate は、コンテナーに指定するリソース要件に厳密に適合するように、コンピューティングを起動してスケールします。Fargateでは、過剰なプロビジョニングや追加サーバの支払いは不要です。インスタンスタイプなどのインフラストラクチャ関連のパラメータの詳細について心配する必要はありません。コンピューティング環境をスケールアップする必要がある場合、Fargate リソースで実行されているジョブをより迅速に開始できます。新しい Amazon EC2 インスタンスを起動するのに数分かかる場合があります。一方、Fargate で実行されているジョブは約 30 秒でプロビジョニングできます(コンテナイメージのサイズ、ジョブ数、その他のいくつかの要因によって異なります)。

ジョブに以下のいずれかが必要な場合、Amazon EC2 は正しい選択です。

  • 4 台を超えるvCPUs

  • 30 ギビバイト (GiB) を超えるメモリ

  • GPU を使用

  • Arm ベースAWSグラビトンCPU

  • カスタム AMI

  • のどれかLinuxParametersのパラメータ

多数のジョブがある場合、Amazon EC2 が適切な選択である可能性があります。これは、Fargate リソースよりもジョブを EC2 リソースにディスパッチし、同時に実行できるジョブの数が多いためです。詳細については、「」を参照してください。AWSFargate サービスクォータ()Amazon Elastic Container Service

Fargate Job 定義

AWS BatchジョブFargate、使用可能なすべてのジョブ定義パラメータをサポートしているわけではありません。一部のパラメータはサポートされていません。また、Fargate ジョブでは動作が異なるパラメータがあります。

次のリストは、Fargate ジョブで有効でないか、制限されていないジョブ定義パラメータを示しています。

platformCapabilities

はと指定する必要があります。FARGATE

"platformCapabilities": [ "FARGATE" ]
type

はと指定する必要があります。container

"type": "container"
containerPropertiesのパラメータ
executionRoleArn

Fargate リソースで実行されているジョブには指定する必要があります。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「タスク用の IAM ロール」を参照してください。

"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
fargatePlatformConfiguration

(オプション。Fargate ジョブ定義の場合のみ)。Fargate プラットフォームのバージョンを指定します。LATESTは、最近のプラットフォームバージョンです。使用できる値platformVersion1.3.0,1.4.0, およびLATEST(デフォルト).

"fargatePlatformConfiguration": { "platformVersion": "1.4.0" }
instanceType
ulimits

Fargate リソースで実行されているジョブには適用されません。

memory
vcpus

これらの設定は、resourceRequirements

privileged

このパラメータを指定しないか、false

"privileged": false
resourceRequirements

メモリと vCPU の両方の要件は、サポートされる値。GPU リソースは、Fargate リソースで実行されているジョブではサポートされません。

"resourceRequirements": [ {"type": "MEMORY", "value": "512"}, {"type": "VCPU", "value": "0.25"} ]
linuxParametersのパラメータ
devices
maxSwap
sharedMemorySize
swappiness
tmpfs

Fargate リソースで実行されているジョブには適用されません。

logConfigurationのパラメータ
logDriver

awslogsfluentd のみがサポートされています。詳細については、「awslogs ログドライバーを使用する」を参照してください。

のメンバーnetworkConfiguration
assignPublicIp

プライベートサブネットに、インターネットにトラフィックを送信するための NAT ゲートウェイが接続されていない場合、assignPublicIpはに設定する必要があります。ENABLED「。詳細については、「AWS BatchIAM ロールの実行」を参照してください。

Fargate Job キュー

AWS Batchジョブキューは基本的に変更されません。唯一の制限は、computeEnvironmentOrderは、すべて Fargate コンピューティング環境 (FARGATEまたはFARGATE_SPOT). EC2 と Fargate コンピューティング環境を混在させることはできません。

Fargate コンピューティング環境

AWS Batchコンピュート環境は、利用可能なコンピュート環境パラメータをすべてサポートしているわけではありません。一部のパラメータはサポートされていません。また、Fargate に固有の要件があるパラメータがあります。

以下のリストは、Fargate ジョブで有効でないか、制限されていないコンピューティング環境パラメータを示しています。

type

このパラメータは、MANAGED

"type": "MANAGED"
のパラメータcomputeResourcesオブジェクト
allocationStrategy
bidPercentage
desiredvCpus
imageId
instanceTypes
ec2Configuration
ec2KeyPair
instanceRole
launchTemplate
minvCpus
placementGroup
spotIamFleetRole

これらは、Fargate コンピューティング環境には適用されないため、指定できません。

subnets

このパラメータにリストされているサブネットに NAT ゲートウェイが接続されていない場合、assignPublicIpパラメーターは、ジョブ定義のENABLED

tags

これは、Fargate コンピューティング環境には適用されないため、指定できません。Fargate コンピューティング環境のタグを指定するには、tagsパラメーターに含まれていないcomputeResourcesオブジェクト。

type

これは FARGATE または FARGATE_SPOT であることが必要です。

"type": "FARGATE_SPOT"