4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Fargate タスクのエフェメラルストレージの最大サイズを変更する

Last updated at Posted at 2022-03-11

はじめに

本記事では、AWS CLI を使用して、Fargate タスクのエフェメラルストレージの最大サイズをデフォルトの20GBから変更する方法を記載しています。
(2022/03/11 時点では、管理コンソールによる変更はサポートされていない。)

AWS Fargate 上の Amazon ECS でタスクのエフェメラルストレージのサイズが設定可能に

AWS Copilot CLI、CloudFormation、AWS SDK、および AWS CLI を使用して、AWS Fargate が利用可能なすべてのリージョンで AWS Fargate プラットフォームバージョン 1.4.0 以降で実行される Amazon ECS タスクのエフェメラルストレージのサイズを設定できます。

変更手順

動作確認済みのAWS CLIのバージョン

$ aws --version
aws-cli/1.19.92 Python/3.7.4 Darwin/19.6.0 botocore/1.20.92

下記コマンドで、タスク定義をJSONファイル(task.json)に出力します。

$ aws ecs describe-task-definition --task-definition [タスク定義名] | jq '.taskDefinition' | jq -M 'del(.taskDefinitionArn) | del(.revision) | del(.status) | del(.requiresAttributes) | del(.compatibilities)' > task.json

出力したJSON(task.json)に、下記項目を追加します。
(registeredAt と registeredBy の項目がある場合は、削除する。)

  "ephemeralStorage": {
    "sizeInGiB": 200
  }

例)

{
  "containerDefinitions": [
    {
      "name": "XXXXXXXXXXXXXXXXXXXXXXX",
      "image": "1234567890.dkr.ecr.ap-northeast-1.amazonaws.com/XXXXXXXXXXXXXXX:latest",
      "cpu": 0,
      "portMappings": [],
      "essential": true,
      "environment": [],
      "mountPoints": [],
      "volumesFrom": [],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "XXXXXXXXXXXXXXXXXXXXXXXXX",
          "awslogs-region": "XXXXXXXXXXXXXXXX",
          "awslogs-stream-prefix": "XXXXXX"
        }
      }
    }
  ],
  "family": "XXXXXXXXXXXXXXXXXXXXX",
  "taskRoleArn": "arn:aws:iam::1234567890:role/XXXXXXXXXXXXXXXXX",
  "executionRoleArn": "arn:aws:iam::1234567890:role/XXXXXXXXXXXXXXX",
  "networkMode": "awsvpc",
  "volumes": [],
  "placementConstraints": [],
  "requiresCompatibilities": [
    "FARGATE"
  ],
  "cpu": "256",
  "memory": "512",
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
  "ephemeralStorage": {
    "sizeInGiB": 200
  }
}

下記コマンドで、編集したJSONを登録します。

$ aws ecs register-task-definition --family [タスク定義名] --cli-input-json file://task.json

画面上では、ECSの管理コンソールの新しいUIからだと確認できます。
ecs_admin_console.png

参考

Unable to register task definition with ephemeralStorage parameter in ECS Fargate

タスクでのデータボリュームの使用

タスク定義パラメータ

4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?