【待望】FargateでGraviton2が使えるようになりました!

AWS Fargate が Graviton2に対応しました。本記事ではGraviton2を利用したFargateのタスクを実行して勘所などを紹介します。
2021.11.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、お久しぶりの もこ@札幌オフィス です。札幌ではもう雪が降り始めてさみいです。

FargateがGraviton2対応した

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

とりあえずやってみる

タスク定義から設定していきます。選択肢に Linux/ARM64 が選べるようになっていますので、こちらを利用していきます。

これで作られたタスク定義をFargateのServiceで登録して終了!デプロイされた物がこちらとなります。通常のFargateと同じで普通にデプロイできて、普通に使えます。めちゃめちゃ簡単に設定できました。

タスク定義について

作成されたTaskdefinitionは下記のように、 runtimePlatformcpuArchitectureARM64 が乗るようになっています。

    "compatibilities": [
        "EC2",
        "FARGATE"
    ],
    "runtimePlatform": {
        "cpuArchitecture": "ARM64",
        "operatingSystemFamily": "LINUX"
    },
    "requiresCompatibilities": [
        "FARGATE"
    ],
    "cpu": "1024",
    "memory": "2048",

タスク定義を数行書き換えるだけで移行出来るのはとても便利ですね。

Fargate Graviton2 使うべき?

公式発表によると、最大40%の価格に対するパフォーマンスの効果があるとのことですが、暗号化・復号・圧縮が苦手といったベンチマークの結果もあったりします1

料金は通常のFargateが東京リージョンで本日(2021/11/24)時点で次のようになります。

サービス 価格 通常のFargateとの差額
per vCPU per hour $0.04045 -24.99%
per GB per hour $0.00442 -25.11%

私的には、動かすワークロードによるが、大半のワークロードは総合的に見ると価格も下がってパフォーマンスも向上するので、「使えるならとりあえず使っとけ、デプロイ前と後で結果は比較するべき。」なサービスだと思います。

既存のイメージをarm64向けにビルドする必要があったりしますが、ぜひ現在実行中のサービスを一度Graviton2で動かしてみて検証してみてください!

参考