[アップデート]Lambdaのランタイムにカスタムランタイム on Amazon Linux2が利用できるようになりました
CX事業本部@大阪の岩田です。
これまでLambdaのカスタムランタイムはAmazon Linux上で動作していましたが、追加の選択肢としてAmazon Linux2上でのカスタムランタイムが選択可能になりました。
カスタムランタイムとは?
Lambdaでは標準のランタイムとして
- Node.js(10.x, 12.x)
- Python(2.7, 3.6 ,3.7, 3.8)
- Java(8, 8 Corret, 11 Correto)
- Go(1.x)
- .NET Core(2.1 C#/Power Shell)
- Ruby(2.5)
といったランタイムが選択可能ですが、カスタムランタイムという機能を利用することで上記意外の言語もLambdaの基盤上で動作させることができます。
こちらのブログでも紹介されているように、カスタムランタイムを利用すると、COBOLを始めとしてLamdba上で様々なプログラミング言語を動作させることが可能です(使い物になるかは別として...)。
これまでカスタムランタイムの実行基盤はAmazon Linux一択だったのですが、今回のアップデートによりAmazon Linux2の上で任意のコードが実行可能になりました。
何が嬉しいの?
Amazon Linux2はEC2上でのパフォーマンスが最適化されるようにカーネルが調整されています。Lambdaの基盤はベアメタルのEC2とFirecrackerが基本になるので、Lambda環境でもパフォーマンス向上の恩恵が期待できそうです。また、Amazon Linux の EOL は2020年12月31日までとなっていますので、今後新しくカスタムランタイムによるLambdaを実装する場合はAmazon Linux2を選択するべきでしょう。
やってみる
では、実際にカスタムランタイム on Amazon Linux2を利用してみましょう。こちらのブログを参考にカスタムランタイム on Amazon Linux2でシェルスクリプトを実行してみます。
bootstrapの中身はそのまま流用し、function.shの中身を色々と変更しながら実行してみます。
uname -a
function.shの中身をuname -a
に変更して実行してみました。
Linux 169.254.160.133 4.14.177-104.253.amzn2.x86_64 #1 SMP Fri May 1 02:01:13 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Amazon Linuxの場合はこちら
Linux 169.254.129.229 4.14.177-104.253.amzn2.x86_64 #1 SMP Fri May 1 02:01:13 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
あれ?なぜか4.14.177-104.253.amzn2.x86_64
になりますね。ドキュメントに記載されているAmazon Linux2のカーネルバージョン4.14.165-102.205.amzn2.x86_64
とも異なります。Firecrackerより下のレイヤで動いているベアメタルEC2インスタンすのカーネルバージョンが表示されているとかでしょうか?また今度深堀りして調べてみたいと思います。
https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
cat /etc/os-release
今度はcat /etc/os-releaseを試してみました。
Amazon Linux2の場合の結果です
NAME="Amazon Linux" VERSION="2" ID="amzn" ID_LIKE="centos rhel fedora" VERSION_ID="2" PRETTY_NAME="Amazon Linux 2" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2" HOME_URL="https://amazonlinux.com/" VARIANT_ID="202006241417-al2.409.0"
Amazon Linuxの場合はこちら
NAME="Amazon Linux AMI" VERSION="2018.03" ID="amzn" ID_LIKE="rhel fedora" VERSION_ID="2018.03" PRETTY_NAME="Amazon Linux AMI 2018.03" ANSI_COLOR="0;33" CPE_NAME="cpe:/o:amazon:linux:2018.03:ga" HOME_URL="http://aws.amazon.com/amazon-linux-ami/" VARIANT_ID="202006241410-al2018.03.363.0"
rpm -qa | sort
今度はrpm -qa | sort
を実行してみました。
Amazon Linux2の場合はこちら
basesystem-10.0-7.amzn2.0.1.noarch bash-4.2.46-33.amzn2.x86_64 bzip2-libs-1.0.6-13.amzn2.0.2.x86_64 ca-certificates-2019.2.32-76.amzn2.0.2.noarch chkconfig-1.7.4-1.amzn2.0.2.x86_64 coreutils-8.22-24.amzn2.x86_64 curl-7.61.1-12.amzn2.0.1.x86_64 cyrus-sasl-lib-2.1.26-23.amzn2.x86_64 elfutils-libelf-0.176-2.amzn2.x86_64 expat-2.1.0-10.amzn2.0.2.x86_64 filesystem-3.2-25.amzn2.0.4.x86_64 findutils-4.5.11-6.amzn2.x86_64 gawk-4.0.2-4.amzn2.1.2.x86_64 glibc-2.26-34.amzn2.x86_64 glibc-all-langpacks-2.26-34.amzn2.x86_64 glibc-common-2.26-34.amzn2.x86_64 glibc-minimal-langpack-2.26-34.amzn2.x86_64 gmp-6.0.0-15.amzn2.0.2.x86_64 gpg-pubkey-c87f5b1a-593863f8 grep-2.20-3.amzn2.0.2.x86_64 info-5.1-5.amzn2.x86_64 keyutils-libs-1.5.8-3.amzn2.0.2.x86_64 krb5-libs-1.15.1-37.amzn2.2.2.x86_64 libacl-2.2.51-14.amzn2.x86_64 libattr-2.4.46-12.amzn2.0.2.x86_64 libcap-2.22-9.amzn2.0.2.x86_64 libcom_err-1.42.9-12.amzn2.0.2.x86_64 libcrypt-2.26-34.amzn2.x86_64 libcurl-7.61.1-12.amzn2.0.1.x86_64 libdb-5.3.21-24.amzn2.0.3.x86_64 libdb-utils-5.3.21-24.amzn2.0.3.x86_64 libffi-3.0.13-18.amzn2.0.2.x86_64 libgcc-7.3.1-6.amzn2.0.4.x86_64 libicu-50.2-4.amzn2.x86_64 libidn2-2.3.0-1.amzn2.x86_64 libmetalink-0.1.2-7.amzn2.0.2.x86_64 libnghttp2-1.39.2-1.amzn2.x86_64 libselinux-2.5-12.amzn2.0.2.x86_64 libsepol-2.5-8.1.amzn2.0.2.x86_64 libssh2-1.4.3-12.amzn2.2.2.x86_64 libstdc++-7.3.1-6.amzn2.0.4.x86_64 libtasn1-4.10-1.amzn2.0.2.x86_64 libunistring-0.9.3-9.amzn2.0.2.x86_64 libverto-0.2.5-4.amzn2.0.2.x86_64 lua-5.1.4-15.amzn2.0.2.x86_64 ncurses-6.0-8.20170212.amzn2.1.3.x86_64 ncurses-base-6.0-8.20170212.amzn2.1.3.noarch ncurses-libs-6.0-8.20170212.amzn2.1.3.x86_64 nspr-4.21.0-1.amzn2.0.2.x86_64 nss-3.44.0-7.amzn2.x86_64 nss-pem-1.0.3-5.amzn2.x86_64 nss-softokn-3.44.0-8.amzn2.x86_64 nss-softokn-freebl-3.44.0-8.amzn2.x86_64 nss-sysinit-3.44.0-7.amzn2.x86_64 nss-tools-3.44.0-7.amzn2.x86_64 nss-util-3.44.0-4.amzn2.x86_64 openldap-2.4.44-15.amzn2.x86_64 openssl-libs-1.0.2k-19.amzn2.0.3.x86_64 p11-kit-0.23.5-3.amzn2.0.2.x86_64 p11-kit-trust-0.23.5-3.amzn2.0.2.x86_64 pcre-8.32-17.amzn2.0.2.x86_64 popt-1.13-16.amzn2.0.2.x86_64 readline-6.2-10.amzn2.0.2.x86_64 rpm-4.11.3-40.amzn2.0.4.x86_64 rpm-libs-4.11.3-40.amzn2.0.4.x86_64 sed-4.2.2-5.amzn2.0.2.x86_64 setup-2.8.71-10.amzn2.0.1.noarch sqlite-3.7.17-8.amzn2.1.1.x86_64 system-release-2-11.amzn2.x86_64 tzdata-2019c-1.amzn2.noarch xz-libs-5.2.2-1.amzn2.0.2.x86_64 zlib-1.2.7-18.amzn2.x86_64
導入済のパケージはかなり少ない印象です。
Amazon Linuxの場合はこちら
alsa-lib-1.0.22-3.9.amzn1.x86_64 audit-libs-2.6.5-3.28.amzn1.x86_64 avahi-libs-0.6.25-12.17.amzn1.x86_64 basesystem-10.0-4.9.amzn1.noarch bash-4.2.46-28.37.amzn1.x86_64 binutils-2.25.1-31.base.66.amzn1.x86_64 bzip2-1.0.6-8.12.amzn1.x86_64 bzip2-libs-1.0.6-8.12.amzn1.x86_64 ca-certificates-2018.2.22-65.1.22.amzn1.noarch cairo-1.12.14-6.8.amzn1.x86_64 chkconfig-1.3.49.3-2.14.amzn1.x86_64 compat-gmp4-4.3.2-1.14.amzn1.x86_64 copy-jdk-configs-3.3-10.3.amzn1.noarch coreutils-8.22-15.52.amzn1.x86_64 cpio-2.10-12.12.amzn1.x86_64 cracklib-2.8.16-4.14.amzn1.x86_64 cracklib-dicts-2.8.16-4.14.amzn1.x86_64 cups-libs-1.4.2-67.21.amzn1.x86_64 curl-7.61.1-12.93.amzn1.x86_64 cyrus-sasl-lib-2.1.23-13.16.amzn1.x86_64 db4-4.7.25-18.11.amzn1.x86_64 db4-utils-4.7.25-18.11.amzn1.x86_64 dbus-libs-1.6.12-14.29.amzn1.x86_64 dejavu-fonts-common-2.33-6.6.amzn1.noarch dejavu-sans-fonts-2.33-6.6.amzn1.noarch dejavu-serif-fonts-2.33-6.6.amzn1.noarch diffutils-3.3-4.15.amzn1.x86_64 elfutils-libelf-0.168-8.19.amzn1.x86_64 expat-2.1.0-11.22.amzn1.x86_64 file-5.37-8.49.amzn1.x86_64 file-libs-5.37-8.49.amzn1.x86_64 filesystem-2.4.30-3.8.amzn1.x86_64 findutils-4.4.2-6.9.amzn1.x86_64 fontconfig-2.8.0-5.8.amzn1.x86_64 fontpackages-filesystem-1.41-1.1.2.amzn1.noarch freetype-2.3.11-19.15.amzn1.x86_64 gawk-3.1.7-10.10.amzn1.x86_64 gdbm-1.8.0-36.6.amzn1.x86_64 ghostscript-fonts-5.50-23.2.7.amzn1.noarch giflib-4.1.6-3.1.6.amzn1.x86_64 glib2-2.36.3-5.21.amzn1.x86_64 glibc-2.17-292.180.amzn1.x86_64 glibc-common-2.17-292.180.amzn1.x86_64 gmp-6.0.0-11.16.amzn1.x86_64 gnupg2-2.0.28-2.33.amzn1.x86_64 gnutls-2.12.23-21.18.amzn1.x86_64 gpgme-1.4.3-5.15.amzn1.x86_64 gpg-pubkey-21c0f39f-56d0e29a grep-2.20-3.18.amzn1.x86_64 groff-base-1.22.2-8.11.amzn1.x86_64 gzip-1.5-9.19.amzn1.x86_64 hwdata-0.233-14.1.19.amzn1.noarch ImageMagick-6.7.8.9-15.21.amzn1.x86_64 info-5.1-4.10.amzn1.x86_64 jasper-libs-1.900.1-21.9.amzn1.x86_64 java-1.8.0-openjdk-1.8.0.201.b09-0.43.amzn1.x86_64 java-1.8.0-openjdk-headless-1.8.0.201.b09-0.43.amzn1.x86_64 javapackages-tools-0.9.1-1.5.amzn1.noarch jbigkit-libs-2.0-11.4.amzn1.x86_64 jpackage-utils-1.7.5-27.17.amzn1.noarch keyutils-libs-1.5.8-3.12.amzn1.x86_64 kmod-14-10.10.amzn1.x86_64 kmod-libs-14-10.10.amzn1.x86_64 krb5-libs-1.15.1-46.48.amzn1.x86_64 lcms2-2.6-2.5.amzn1.x86_64 libacl-2.2.49-6.11.amzn1.x86_64 libassuan-2.0.3-3.3.amzn1.x86_64 libattr-2.4.46-12.10.amzn1.x86_64 libblkid-2.23.2-59.29.amzn1.x86_64 libcap-2.16-5.5.8.amzn1.x86_64 libcap-ng-0.7.5-4.15.amzn1.x86_64 libcom_err-1.43.5-2.43.amzn1.x86_64 libcurl-7.61.1-12.93.amzn1.x86_64 libdrm-2.4.82-1.14.amzn1.x86_64 libffi-3.0.13-16.5.amzn1.x86_64 libfontenc-1.0.5-2.6.amzn1.x86_64 libgcc72-7.2.1-2.59.amzn1.x86_64 libgcrypt-1.5.3-12.19.amzn1.x86_64 libglvnd-0.2.999-14.20170308git8e6e102.3.amzn1.x86_64 libglvnd-glx-0.2.999-14.20170308git8e6e102.3.amzn1.x86_64 libgomp-6.4.1-1.45.amzn1.x86_64 libgpg-error-1.11-1.12.amzn1.x86_64 libICE-1.0.6-1.4.amzn1.x86_64 libicu-50.2-4.0.amzn1.x86_64 libidn2-2.3.0-1.4.amzn1.x86_64 libjpeg-turbo-1.2.90-8.16.amzn1.x86_64 libmount-2.23.2-59.29.amzn1.x86_64 libnghttp2-1.31.1-2.5.amzn1.x86_64 libpciaccess-0.13.1-4.1.11.amzn1.x86_64 libpng-1.2.49-2.14.amzn1.x86_64 libpsl-0.6.2-1.2.amzn1.x86_64 libpwquality-1.2.3-4.8.amzn1.x86_64 libselinux-2.1.10-3.22.amzn1.x86_64 libsepol-2.1.7-3.12.amzn1.x86_64 libSM-1.2.1-2.6.amzn1.x86_64 libsmartcols-2.23.2-59.29.amzn1.x86_64 libssh2-1.4.2-3.12.amzn1.x86_64 libstdc++72-7.2.1-2.59.amzn1.x86_64 libtasn1-2.3-6.6.amzn1.x86_64 libtiff-4.0.3-32.34.amzn1.x86_64 libtool-ltdl-2.4.2-20.4.8.5.32.amzn1.x86_64 libudev-173-4.13.amzn1.x86_64 libunistring-0.9.3-6.1.amzn1.x86_64 libuser-0.60-7.23.amzn1.x86_64 libutempter-1.1.5-4.1.6.amzn1.x86_64 libuuid-2.23.2-59.29.amzn1.x86_64 libverto-0.2.5-4.9.amzn1.x86_64 libwmf-lite-0.2.8.4-41.13.amzn1.x86_64 libX11-1.6.0-2.2.12.amzn1.x86_64 libX11-common-1.6.0-2.2.12.amzn1.x86_64 libXau-1.0.6-4.9.amzn1.x86_64 libxcb-1.11-2.21.amzn1.x86_64 libXcomposite-0.4.3-4.6.amzn1.x86_64 libXdamage-1.1.3-4.7.amzn1.x86_64 libXext-1.3.2-2.1.10.amzn1.x86_64 libXfixes-5.0.1-2.1.8.amzn1.x86_64 libXfont-1.4.5-5.12.amzn1.x86_64 libXi-1.7.2-2.2.9.amzn1.x86_64 libxml2-2.9.1-6.3.52.amzn1.x86_64 libXrender-0.9.8-2.1.9.amzn1.x86_64 libxshmfence-1.2-1.4.amzn1.x86_64 libxslt-1.1.28-5.13.amzn1.x86_64 libXt-1.1.4-6.1.9.amzn1.x86_64 libXtst-1.2.2-2.1.9.amzn1.x86_64 libXxf86vm-1.1.3-2.1.9.amzn1.x86_64 lksctp-tools-1.0.10-7.7.amzn1.x86_64 lua-5.1.4-4.1.9.amzn1.x86_64 make-3.82-21.10.amzn1.x86_64 mesa-dri-drivers-17.1.5-2.41.amzn1.x86_64 mesa-filesystem-17.1.5-2.41.amzn1.x86_64 mesa-libGL-17.1.5-2.41.amzn1.x86_64 mesa-libglapi-17.1.5-2.41.amzn1.x86_64 ncurses-5.7-4.20090207.14.amzn1.x86_64 ncurses-base-5.7-4.20090207.14.amzn1.x86_64 ncurses-libs-5.7-4.20090207.14.amzn1.x86_64 nspr-4.21.0-1.43.amzn1.x86_64 nss-3.44.0-7.84.amzn1.x86_64 nss-pem-1.0.3-4.3.amzn1.x86_64 nss-softokn-3.44.0-8.44.amzn1.x86_64 nss-softokn-freebl-3.44.0-8.44.amzn1.x86_64 nss-sysinit-3.44.0-7.84.amzn1.x86_64 nss-tools-3.44.0-7.84.amzn1.x86_64 nss-util-3.44.0-4.56.amzn1.x86_64 openldap-2.4.40-16.31.amzn1.x86_64 openssl-1.0.2k-16.151.amzn1.x86_64 p11-kit-0.18.5-2.3.amzn1.x86_64 p11-kit-trust-0.18.5-2.3.amzn1.x86_64 pam-1.1.8-12.33.amzn1.x86_64 patch-2.7.1-12.14.amzn1.x86_64 pcre-8.21-7.8.amzn1.x86_64 perl-5.16.3-294.43.amzn1.x86_64 perl-Carp-1.26-244.5.amzn1.noarch perl-constant-1.27-2.5.amzn1.noarch perl-Encode-2.51-7.5.amzn1.x86_64 perl-Exporter-5.68-3.5.amzn1.noarch perl-File-Path-2.09-2.5.amzn1.noarch perl-File-Temp-0.23.01-3.5.amzn1.noarch perl-Filter-1.49-3.5.amzn1.x86_64 perl-Getopt-Long-2.40-3.6.amzn1.noarch perl-HTTP-Tiny-0.033-3.6.amzn1.noarch perl-libs-5.16.3-294.43.amzn1.x86_64 perl-macros-5.16.3-294.43.amzn1.x86_64 perl-parent-0.225-244.5.amzn1.noarch perl-PathTools-3.40-5.5.amzn1.x86_64 perl-Pod-Escapes-1.04-294.43.amzn1.noarch perl-podlators-2.5.1-3.8.amzn1.noarch perl-Pod-Perldoc-3.20-4.7.amzn1.noarch perl-Pod-Simple-3.28-4.6.amzn1.noarch perl-Pod-Usage-1.63-3.5.amzn1.noarch perl-Scalar-List-Utils-1.27-248.5.amzn1.x86_64 perl-Socket-2.010-3.5.amzn1.x86_64 perl-Storable-2.45-3.5.amzn1.x86_64 perl-Text-ParseWords-3.29-4.5.amzn1.noarch perl-threads-1.87-4.5.amzn1.x86_64 perl-threads-shared-1.43-6.5.amzn1.x86_64 perl-Time-HiRes-1.9725-272.5.amzn1.x86_64 perl-Time-Local-1.2300-2.5.amzn1.noarch pinentry-0.7.6-6.11.amzn1.x86_64 pixman-0.32.4-4.11.amzn1.x86_64 pkgconfig-0.27.1-2.7.amzn1.x86_64 popt-1.13-7.7.amzn1.x86_64 procps-3.2.8-45.16.amzn1.x86_64 psmisc-22.20-8.12.amzn1.x86_64 pth-2.0.7-9.3.7.amzn1.x86_64 python27-2.7.18-1.137.amzn1.x86_64 python27-iniparse-0.3.1-2.1.9.amzn1.noarch python27-libs-2.7.18-1.137.amzn1.x86_64 python27-pycurl-7.19.0-17.12.amzn1.x86_64 python27-pygpgme-0.3-9.12.amzn1.x86_64 python27-pyliblzma-0.5.3-11.6.amzn1.x86_64 python27-pyxattr-0.5.0-1.6.amzn1.x86_64 python27-urlgrabber-3.10-8.16.amzn1.noarch python36-3.6.10-1.16.amzn1.x86_64 python36-libs-3.6.10-1.16.amzn1.x86_64 python36-pip-9.0.3-1.27.amzn1.noarch python36-setuptools-36.2.7-1.33.amzn1.noarch readline-6.2-9.14.amzn1.x86_64 rpm-4.11.3-40.76.amzn1.x86_64 rpm-build-libs-4.11.3-40.76.amzn1.x86_64 rpm-libs-4.11.3-40.76.amzn1.x86_64 rpm-python27-4.11.3-40.76.amzn1.x86_64 sed-4.2.1-10.10.amzn1.x86_64 setup-2.8.14-20.12.amzn1.noarch shadow-utils-4.1.4.2-13.10.amzn1.x86_64 shared-mime-info-1.1-9.8.amzn1.x86_64 sqlite-3.7.17-8.14.amzn1.x86_64 sysctl-defaults-1.0-1.1.amzn1.noarch system-release-2018.03-0.0.noarch tar-1.26-31.22.amzn1.x86_64 ttmkfdir-3.0.9-32.1.5.amzn1.x86_64 tzdata-2019c-1.73.amzn1.noarch tzdata-java-2019c-1.73.amzn1.noarch unzip-6.0-4.10.amzn1.x86_64 urw-fonts-2.4-10.7.amzn1.noarch util-linux-2.23.2-59.29.amzn1.x86_64 which-2.19-6.10.amzn1.x86_64 xorg-x11-fonts-Type1-7.2-9.1.5.amzn1.noarch xorg-x11-font-utils-7.2-11.5.amzn1.x86_64 xz-5.2.2-1.13.amzn1.x86_64 xz-libs-5.2.2-1.13.amzn1.x86_64 yum-3.4.3-150.71.amzn1.noarch yum-metadata-parser-1.1.4-10.20.amzn1.x86_64 yum-plugin-ovl-1.1.31-46.30.amzn1.noarch yum-plugin-priorities-1.1.31-46.30.amzn1.noarch zlib-1.2.8-7.18.amzn1.x86_64
ls /bin | sort
続いてls /bin | sort
の実行結果です。まずAmazon Linux2
alias arch awk base64 basename bash bashbug bashbug-64 bg ca-legacy captoinfo cat catchsegv cd certutil chcon chgrp chmod chown cksum clear cmsutil comm command cp crlutil csplit curl cut date db_archive db_checkpoint db_deadlock db_dump db_dump185 db_hotbackup db_load db_log_verify db_printlog db_recover db_replicate db_stat db_tuner db_upgrade db_verify dd df dgawk dir dircolors dirname du echo egrep env expand expr factor false fc fg fgrep find fmt fold gawk gencat getconf getent getopts grep groups head hostid iconv id igawk info infocmp infokey infotocap install jobs join ldd link ln locale localedef logname ls lua luac makedb md5sum mkdir mkfifo mknod mktemp modutil mv nice nl nohup nproc nss-policy-check numfmt od oldfind p11-kit paste pathchk pgawk pinky pk12util pldd pr printenv printf ptx pwd read readlink realpath reset rm rmdir rpcgen rpm rpm2cpio rpmdb rpmkeys rpmquery rpmverify runcon sed seq setup-nsssysinit setup-nsssysinit.sh sh sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf signver sleep sort sotruss split sprof sqlite3 ssltap stat stdbuf stty sum sync tabs tac tail tee test tic timeout toe touch tput tr true truncate trust tset tsort tty tzselect umask unalias uname unexpand uniq unlink update-ca-trust users vdir wait wc who whoami xargs xmlwf yes
続いてAmazon Linux
arch awk basename bash cat chgrp chmod chown cp cpio cut date dd df dmesg echo egrep env false fgrep find findmnt gawk grep gtar gunzip gzip kill link ln login ls lsblk mkdir mknod mktemp more mv nice ps pwd raw readlink rm rmdir rpm sed sh sleep sort stty sync tar taskset touch true uname unlink zcat
結構差異がありますね。カスタムランタイムを使ってシェルスクリプトを実行しているようなケースでは注意が必要そうです。
ls /sbin | sort
最後にls /sbin | sort
の実行結果です。Amazon Linux2の場合
alternatives build-locale-archive capsh chkconfig chroot getcap getpcaps glibc_post_upgrade.x86_64 iconvconfig iconvconfig.x86_64 install-info ldconfig sasldblistusers2 saslpasswd2 sefcontext_compile setcap sln update-alternatives zdump zic
Amazon Linuxの場合
addpart agetty blkdiscard blkid blockdev cfdisk chcpu chkconfig clock ctrlaltdel delpart depmod faillock fdisk findfs fsck fsck.cramfs fsfreeze fstrim fuser hwclock insmod install-info ldconfig losetup lsmod mkfs mkfs.cramfs mkhomedir_helper mkswap modinfo modprobe nologin pam_console_apply pam_tally2 partx pivot_root pwhistory_helper rmmod runuser sfdisk sln swapoff swapon switch_root sysctl unix_update weak-modules wipefs
こちらも結構差異があるので、注意が必要そうですね。
まとめ
カスタムランタイムに関するアップデートのご紹介でした。/binや/sbinの配下が結構変わっていたりと、Lambdaの実装次第では単純に移行できないケースがあるかもしれません。Amazon Linux2だとデフォルトで利用できないOSコマンドを使ってLambdaを実装しているケースなどは、実行ファイルを自前で用意してレイヤーに組み込む等の工夫が必要になりますので、Amazon Linux2に移行する影響を評価しつつ、計画的に移行を進めていきましょう。