AWS Lambdaがarm64アーキテクチャをサポートしました

arm64アーキテクチャをサポートしたAWS Lambda。 従来のx86_64アーキテクチャより34%のコスト効率よく利用できるとされている事について確かめてみました。
2021.09.30

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

AWSチームのすずきです。

AWS Lambda が arm64アーキテクチャの AWS Graviton2 processor をサポートするアップデートがありました。

アーキテクチャの選択

AWSコンソールを利用したLambda関数の作成時、アーキテクチャとして「arm64」、「x86_64」の選択が可能になりました。

料金

arm64アーキテクチャのLambda、x86_64と比較し 約20%廉価な実行時間の設定となっています。

  • Lambda 実行時間に対する料金(1ms)
Memory (MB) x86_64 料金 arm64 料金
128 0.0000000021 0.0000000017
512 0.0000000083 0.0000000067
1024 0.0000000167 0.0000000133
1536 0.0000000250 0.0000000200
2048 0.0000000333 0.0000000267
3072 0.0000000500 0.0000000400
4096 0.0000000667 0.0000000533
5120 0.0000000833 0.0000000667
6144 0.0000001000 0.0000000800
7168 0.0000001167 0.0000000933
8192 0.0000001333 0.0000001067
9216 0.0000001500 0.0000001200
10240 0.0000001667 0.0000001333
  • 東京リージョン、料金単価はUSドル

性能比較

単純なループ処理のみ行うPythonコードを用意。その実行時間の比較を試みました。

def lambda_handler(event, context):
  i = 0
  while i < 1000000:
    i += 1
  • ランタイム: Python3.9
  • メモリ割り当て: 128MB

結果

arm64アーキテクチャのLambda、x86_64と比較し約13%高速でした。

  • arm64
    Duration: 830.96 ms	Billed Duration: 831 ms	Memory Size: 128 MB	Max Memory Used: 36 MB

  • x86_64

    Duration: 950.43 ms	Billed Duration: 951 ms	Memory Size: 128 MB	Max Memory Used: 37 MB

まとめ

arm64アーキテクチャの AWS Lambda、x86_64と比較してコスト効率の良い利用が期待できます。

x86_64 アーキテクチャに依存しないLambda関数を利用する場合には、arm64アーキテクチャもお試しください。