AWS LambdaでRuby3.2ランタイムが利用可能になりました

2023.06.06

こんにちは。CX事業本部Delivery部のakkyです。

AWS LambdaのRubyランタイムは、長らくRuby2.7のみのサポートでしたが、ついに公式ランタイムでRuby3.2が利用可能になったことがAWS SDK for JavaScript v3のv3.346.0の更新から確認できました。

(まだドキュメントの更新はありません)

追記

Ruby3.2ランタイムの提供が公式発表されました。なお、Ruby2.7のサポートは2023年12月7日までの予定とのことですので、ご利用中の方はアップデートをご検討ください。

3.346.0(2023-06-05)
New Features
(略)
client-lambda: Add Ruby 3.2 (ruby3.2) Runtime support to AWS Lambda. (7df6c6b0)

その一方で、マネジメントコンソールから作成しようとしても、まだRuby2.7しか出てきません。

そこで一旦Ruby2.7で作成し、CLIからランタイムを変更してみました。

aws lambda update-function-configuration --function-name rubyhello --runtime ruby3.2

ap-northeast-1で試したところ、コマンドのエラーなく実行できました。(

以下のコードを実行すると、"3.2.2"と表示されました。最新安定版ですね。

def lambda_handler(event:, context:)
    return RUBY_VERSION
end

リリースノートに記載されている新文法の例も、きちんと動作しました。

def lambda_handler(event:, context:)
    return proc{|a, **k| a}.call([1, 2])
end

おわりに

LambdaでRuby3.2がランタイム利用可能になったことを検証できました。

Ruby3.2への対応はAWSへの他のサービスでも急激に進んでいる印象がありますが、AWSのドキュメントの更新や公式ブログでの発表がされ、Lambdaでも正式に利用できるようになることを楽しみにしています。

(2023/6/7 AWS SDK for JavaScript v3の更新を追記)