OS依存のライブラリを利用している場合は要注意!!LambdaランタイムのAMIが更新されます

Node.js 10.x以外のLambdaランタイムがAMI 2018.03に更新されます。OS依存のライブラリを使用している場合は互換性の問題が発生する可能性があるので注意しましょう!!
2019.05.16

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

はじめに

サーバーレス開発部@大阪の岩田です。

先日AWSからLambdaランタイムが更新されるというアナウンスがありました。

Upcoming updates to the AWS Lambda and AWS Lambda@Edge execution environment

この更新によりパフォーマンスやセキュリティレベルの向上が期待できる一方、OSパッケージやシステムライブラリに依存するライブラリ(Pythonを例に挙げるとNumpy、Scipy、Pillow等)を独自にビルド&デプロイしている場合は互換性の問題が生じる可能性があります。新環境への移行が実施されるまでの期間にしっかりテストを行って移行に備えましょう!!

なお、先日リリースされたNode.js 10.xはランタイムがAmazon Linux 2なので、本アップデートの対象外です。

今までの環境とこれからの環境

2019/5/16現在でNode.js 10.x以外のLambdaランタイムは以下のような環境になっています。

  • AMI – amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2
  • Linux kernel – 4.14.106-92.87.amzn2.x86_64

AWS Lambda Runtimes

今後はAMIがAMI 2018.03に更新されるとのことです。

今後の予定

今後の予定は以下のようになっています。

2019/5/27修正 AWSより移行期間延長の案内があったため、修正しました

  • 2019/5/14 テスト期間開始
    • 後述するレイヤーを利用することで、新環境でLambda関数が実行可能になります。自分の管理しているLambda関数に影響が無いかテストしましょう!!
  • 2019/5/21 新規作成/更新されたLambda関数が新環境へ移行
    • 新規作成する関数は新環境上に構築されます。また、既存のLambda関数を更新した場合は自動的に新環境に移行されます。
  • 2019/6/11 既存Lambda関数の新環境への移行開始
    • 後述する遅延更新用のレイヤーが設定されていない場合は既存のLambda関数が新環境に移行されます。
  • 2019/6/11 新規作成されたLambda関数が新環境へ移行
    • 新規作成された関数は新環境上に構築されます。
  • 2019/6/18 遅延更新期間の終了、遅延更新対象Lambda関数の新環境への移行開始
    • 遅延更新用のレイヤーを利用しているLambda関数が新環境に移行されます。
  • 2019/6/24 移行期間の終了
    • 全てのLambda関数が新環境で実行されるようになります。
  • 2019/6/25 更新されたLambda関数が新環境へ移行
    • 新規作成された関数は新環境上に構築されます。また、遅延更新用のレイヤーを利用しない既存のLambda関数を更新した場合は自動的に新環境に移行されます。
  • 2019/7/16 既存Lambda関数の新環境への移行開始
    • 後述する遅延更新用のレイヤーが設定されていない場合は既存のLambda関数が新環境に移行されます。
  • 2019/7/23 遅延更新期間の終了、遅延更新対象Lambda関数の新環境への移行開始
    • 遅延更新用のレイヤーを利用しているLambda関数が新環境に移行されます。
  • 2019/7/29 移行期間の終了
    • 全てのLambda関数が新環境で実行されるようになります。

今すぐ新環境でテストするには?!

新環境を利用したいLambda関数のレイヤーにarn:aws:lambda:::awslayer:AmazonLinux1803を紐付けましょう。このレイヤー自体は特に中身がありませんが、AWSに対する特殊なフラグとして振舞います。Lambdaのサービス基盤はこのレイヤーが紐付けられているLambda関数を新環境にプロビジョニングします。

またSAM CLI 0.16.0 を利用すると、新環境と同等のDockerイメージを用いてローカル環境でテストを行うことも可能です

新環境への移行を先延ばしするには?!

移行を先延ばししたいLambda関数のレイヤーにarn:aws:lambda:::awslayer:AmazonLinux1703を紐付けましょう。これで環境移行を2019/6/182019/7/23まで先延ばしできます。

やってみる

早速新しいランタイムを試してみます。 まずNode.js 8.10でLambda関数を作成し、以下のコードを記述します。

const execSync = require('child_process').execSync;

exports.handler = async (event) => {
    
    const cmd = "rpm -qa| sort";
    const result =  execSync(cmd).toString();
    console.log(result);
    
    const response = {
        statusCode: 200,
        body: JSON.stringify('Hello from Lambda!'),
    };
    return response;
};

適当にテストイベントを設定して実行すると、rpmパッケージの一覧がコンソールに表示&Cloudwatch Logsに出力されます。

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.23.52.0.1-55.65.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.20.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.53.1-16.86.amzn1.x86_64
cyrus-sasl-lib-2.1.23-13.16.amzn1.x86_64
dash-0.5.5.1-4.5.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.28.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
dracut-004-409.31.amzn1.noarch
elfutils-0.163-3.18.amzn1.x86_64
elfutils-libelf-0.163-3.18.amzn1.x86_64
elfutils-libs-0.163-3.18.amzn1.x86_64
ethtool-3.15-2.27.amzn1.x86_64
expat-2.1.0-10.21.amzn1.x86_64
file-5.34-3.37.amzn1.x86_64
file-libs-5.34-3.37.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-15.14.amzn1.x86_64
gawk-3.1.7-10.10.amzn1.x86_64
gdb-7.6.1-64.33.amzn1.x86_64
gdbm-1.8.0-36.6.amzn1.x86_64
ghostscript-8.70-24.26.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.18.amzn1.x86_64
glibc-2.17-260.175.amzn1.x86_64
glibc-common-2.17-260.175.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-2.17.amzn1.x86_64
groff-base-1.22.2-8.11.amzn1.x86_64
grubby-7.0.15-5.7.amzn1.x86_64
gzip-1.5-8.18.amzn1.x86_64
hwdata-0.233-14.1.18.amzn1.noarch
ImageMagick-6.7.8.9-15.21.amzn1.x86_64
info-5.1-4.10.amzn1.x86_64
initscripts-9.03.49-1.35.amzn1.x86_64
iproute-4.4.0-3.23.amzn1.x86_64
iptables-1.4.18-1.22.amzn1.x86_64
iputils-20121221-7.13.amzn1.x86_64
jasper-libs-1.900.1-21.9.amzn1.x86_64
java-1.7.0-openjdk-1.7.0.211-2.6.17.1.79.amzn1.x86_64
java-1.8.0-openjdk-1.8.0.181-8.b13.39.39.amzn1.x86_64
java-1.8.0-openjdk-headless-1.8.0.181-8.b13.39.39.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
kbd-1.15-11.4.amzn1.x86_64
kbd-misc-1.15-11.4.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-34.44.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-33.28.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.42.12-4.40.amzn1.x86_64
libcurl-7.53.1-16.86.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
libgcc48-4.8.3-9.111.amzn1.x86_64
libgcrypt-1.5.3-12.19.amzn1.x86_64
libgomp-4.8.3-9.111.amzn1.x86_64
libgpg-error-1.11-1.12.amzn1.x86_64
libICE-1.0.6-1.4.amzn1.x86_64
libicu-50.1.2-11.12.amzn1.x86_64
libidn-1.18-2.8.amzn1.x86_64
libidn2-0.16-1.2.amzn1.x86_64
libjpeg-turbo-1.2.90-5.14.amzn1.x86_64
libmount-2.23.2-33.28.amzn1.x86_64
libnghttp2-1.21.1-1.4.amzn1.x86_64
libnih-1.0.1-7.8.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
libssh2-1.4.2-2.13.amzn1.x86_64
libstdc++48-4.8.3-9.111.amzn1.x86_64
libtasn1-2.3-6.6.amzn1.x86_64
libtiff-4.0.3-27.29.amzn1.x86_64
libtool-ltdl-2.4.2-20.4.8.3.31.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-33.28.amzn1.x86_64
libuv-0.10.34-1.el6.x86_64
libverto-0.2.5-4.9.amzn1.x86_64
libwmf-lite-0.2.8.4-41.11.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
libxslt-1.1.28-5.12.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-dri1-drivers-7.11-8.7.amzn1.x86_64
mesa-dri-drivers-10.1.2-2.35.amzn1.x86_64
mesa-dri-filesystem-10.1.2-2.35.amzn1.x86_64
mesa-libGL-10.1.2-2.35.amzn1.x86_64
mingetty-1.08-5.9.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
net-tools-1.60-110.10.amzn1.x86_64
nodejs-0.10.48-3.el6.x86_64
nspr-4.19.0-1.43.amzn1.x86_64
nss-3.36.0-5.82.amzn1.x86_64
nss-pem-1.0.3-4.3.amzn1.x86_64
nss-softokn-3.36.0-5.42.amzn1.x86_64
nss-softokn-freebl-3.36.0-5.42.amzn1.x86_64
nss-sysinit-3.36.0-5.82.amzn1.x86_64
nss-tools-3.36.0-5.82.amzn1.x86_64
nss-util-3.36.0-1.54.amzn1.x86_64
openldap-2.4.40-12.30.amzn1.x86_64
openssl-1.0.1k-15.99.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-10.10.amzn1.x86_64
pcre-8.21-7.8.amzn1.x86_64
perl-5.16.3-286.38.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-2.5.amzn1.noarch
perl-HTTP-Tiny-0.033-3.6.amzn1.noarch
perl-libs-5.16.3-286.38.amzn1.x86_64
perl-macros-5.16.3-286.38.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-286.38.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-Thread-Queue-3.02-2.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-30.14.amzn1.x86_64
psmisc-22.20-8.12.amzn1.x86_64
pth-2.0.7-9.3.7.amzn1.x86_64
python27-2.7.12-2.120.amzn1.x86_64
python27-iniparse-0.3.1-2.1.9.amzn1.noarch
python27-libs-2.7.12-2.120.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
python34-3.4.3-1.33.amzn1.x86_64
python34-libs-3.4.3-1.33.amzn1.x86_64
readline-6.2-9.14.amzn1.x86_64
rpm-4.11.3-21.75.amzn1.x86_64
rpm-build-4.11.3-21.75.amzn1.x86_64
rpm-build-libs-4.11.3-21.75.amzn1.x86_64
rpm-libs-4.11.3-21.75.amzn1.x86_64
rpm-python27-4.11.3-21.75.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-6.13.amzn1.x86_64
sysctl-defaults-1.0-1.1.amzn1.noarch
system-release-2017.03-0.1.noarch
sysvinit-2.87-6.dsf.15.amzn1.x86_64
tar-1.26-31.22.amzn1.x86_64
ttmkfdir-3.0.9-32.1.5.amzn1.x86_64
tzdata-2018c-1.70.amzn1.noarch
tzdata-java-2018c-1.70.amzn1.noarch
udev-173-4.13.amzn1.x86_64
unzip-6.0-4.10.amzn1.x86_64
upstart-0.6.5-13.3.13.amzn1.x86_64
urw-fonts-2.4-10.7.amzn1.noarch
util-linux-2.23.2-33.28.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.1.2-12alpha.12.amzn1.x86_64
xz-libs-5.1.2-12alpha.12.amzn1.x86_64
yum-3.4.3-150.70.amzn1.noarch
yum-metadata-parser-1.1.4-10.20.amzn1.x86_64
yum-plugin-priorities-1.1.31-46.30.amzn1.noarch
zlib-1.2.8-7.18.amzn1.x86_64

次にLambdaのレイヤーにarn:aws:lambda:::awslayer:AmazonLinux1803を追加して、テストイベントを再実行してみます。 新しいLambda実行環境を使うためにレイヤーを紐付け 結果です。

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.20.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-7.91.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.28.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
elfutils-libelf-0.168-8.19.amzn1.x86_64
expat-2.1.0-10.21.amzn1.x86_64
file-5.34-3.37.amzn1.x86_64
file-libs-5.34-3.37.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-15.14.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.18.amzn1.x86_64
glibc-2.17-260.175.amzn1.x86_64
glibc-common-2.17-260.175.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
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-34.44.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-33.28.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-7.91.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.1.2-11.12.amzn1.x86_64
libidn2-0.16-1.2.amzn1.x86_64
libjpeg-turbo-1.2.90-5.14.amzn1.x86_64
libmount-2.23.2-33.28.amzn1.x86_64
libnghttp2-1.21.1-1.4.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
libssh2-1.4.2-2.13.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-27.29.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-33.28.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.12.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.19.0-1.43.amzn1.x86_64
nss-3.36.0-5.82.amzn1.x86_64
nss-pem-1.0.3-4.3.amzn1.x86_64
nss-softokn-3.36.0-5.42.amzn1.x86_64
nss-softokn-freebl-3.36.0-5.42.amzn1.x86_64
nss-sysinit-3.36.0-5.82.amzn1.x86_64
nss-tools-3.36.0-5.82.amzn1.x86_64
nss-util-3.36.0-1.54.amzn1.x86_64
openldap-2.4.40-16.31.amzn1.x86_64
openssl-1.0.2k-16.150.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-10.10.amzn1.x86_64
pcre-8.21-7.8.amzn1.x86_64
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.16-1.125.amzn1.x86_64
python27-iniparse-0.3.1-2.1.9.amzn1.noarch
python27-libs-2.7.16-1.125.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.8-1.11.amzn1.x86_64
python36-libs-3.6.8-1.11.amzn1.x86_64
python36-pip-9.0.3-1.26.amzn1.noarch
python36-setuptools-36.2.7-1.33.amzn1.noarch
readline-6.2-9.14.amzn1.x86_64
rpm-4.11.3-21.75.amzn1.x86_64
rpm-build-libs-4.11.3-21.75.amzn1.x86_64
rpm-libs-4.11.3-21.75.amzn1.x86_64
rpm-python27-4.11.3-21.75.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-2018c-1.70.amzn1.noarch
tzdata-java-2018c-1.70.amzn1.noarch
unzip-6.0-4.10.amzn1.x86_64
urw-fonts-2.4-10.7.amzn1.noarch
util-linux-2.23.2-33.28.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.1.2-12alpha.12.amzn1.x86_64
xz-libs-5.1.2-12alpha.12.amzn1.x86_64
yum-3.4.3-150.70.amzn1.noarch
yum-metadata-parser-1.1.4-10.20.amzn1.x86_64
yum-plugin-priorities-1.1.31-46.30.amzn1.noarch
zlib-1.2.8-7.18.amzn1.x86_64

旧環境と新環境のdiffです。

6c6
< binutils-2.23.52.0.1-55.65.amzn1.x86_64
---
> binutils-2.25.1-31.base.66.amzn1.x86_64
19c19
< curl-7.53.1-16.86.amzn1.x86_64
---
> curl-7.61.1-7.91.amzn1.x86_64
21d20
< dash-0.5.5.1-4.5.amzn1.x86_64
28,33c27
< diffutils-3.3-4.15.amzn1.x86_64
< dracut-004-409.31.amzn1.noarch
< elfutils-0.163-3.18.amzn1.x86_64
< elfutils-libelf-0.163-3.18.amzn1.x86_64
< elfutils-libs-0.163-3.18.amzn1.x86_64
< ethtool-3.15-2.27.amzn1.x86_64
---
> elfutils-libelf-0.168-8.19.amzn1.x86_64
43d36
< gdb-7.6.1-64.33.amzn1.x86_64
45d37
< ghostscript-8.70-24.26.amzn1.x86_64
56,60c48,50
< grep-2.20-2.17.amzn1.x86_64
< groff-base-1.22.2-8.11.amzn1.x86_64
< grubby-7.0.15-5.7.amzn1.x86_64
< gzip-1.5-8.18.amzn1.x86_64
< hwdata-0.233-14.1.18.amzn1.noarch
---
> grep-2.20-3.18.amzn1.x86_64
> gzip-1.5-9.19.amzn1.x86_64
> hwdata-0.233-14.1.19.amzn1.noarch
63,66d52
< initscripts-9.03.49-1.35.amzn1.x86_64
< iproute-4.4.0-3.23.amzn1.x86_64
< iptables-1.4.18-1.22.amzn1.x86_64
< iputils-20121221-7.13.amzn1.x86_64
68,70c54,55
< java-1.7.0-openjdk-1.7.0.211-2.6.17.1.79.amzn1.x86_64
< java-1.8.0-openjdk-1.8.0.181-8.b13.39.39.amzn1.x86_64
< java-1.8.0-openjdk-headless-1.8.0.181-8.b13.39.39.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
74,75d58
< kbd-1.15-11.4.amzn1.x86_64
< kbd-misc-1.15-11.4.amzn1.noarch
87,88c70,71
< libcom_err-1.42.12-4.40.amzn1.x86_64
< libcurl-7.53.1-16.86.amzn1.x86_64
---
> libcom_err-1.43.5-2.43.amzn1.x86_64
> libcurl-7.61.1-7.91.amzn1.x86_64
92c75
< libgcc48-4.8.3-9.111.amzn1.x86_64
---
> libgcc72-7.2.1-2.59.amzn1.x86_64
94c77,79
< libgomp-4.8.3-9.111.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
98d82
< libidn-1.18-2.8.amzn1.x86_64
103d86
< libnih-1.0.1-7.8.amzn1.x86_64
112c95
< libstdc++48-4.8.3-9.111.amzn1.x86_64
---
> libstdc++72-7.2.1-2.59.amzn1.x86_64
115c98
< libtool-ltdl-2.4.2-20.4.8.3.31.amzn1.x86_64
---
> libtool-ltdl-2.4.2-20.4.8.5.32.amzn1.x86_64
121d103
< libuv-0.10.34-1.el6.x86_64
123c105
< libwmf-lite-0.2.8.4-41.11.amzn1.x86_64
---
> libwmf-lite-0.2.8.4-41.13.amzn1.x86_64
135a118
> libxshmfence-1.2-1.4.amzn1.x86_64
143,147c126,129
< mesa-dri1-drivers-7.11-8.7.amzn1.x86_64
< mesa-dri-drivers-10.1.2-2.35.amzn1.x86_64
< mesa-dri-filesystem-10.1.2-2.35.amzn1.x86_64
< mesa-libGL-10.1.2-2.35.amzn1.x86_64
< mingetty-1.08-5.9.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
151,152d132
< net-tools-1.60-110.10.amzn1.x86_64
< nodejs-0.10.48-3.el6.x86_64
161,162c141,142
< openldap-2.4.40-12.30.amzn1.x86_64
< openssl-1.0.1k-15.99.amzn1.x86_64
---
> openldap-2.4.40-16.31.amzn1.x86_64
> openssl-1.0.2k-16.150.amzn1.x86_64
168,195d147
< perl-5.16.3-286.38.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-2.5.amzn1.noarch
< perl-HTTP-Tiny-0.033-3.6.amzn1.noarch
< perl-libs-5.16.3-286.38.amzn1.x86_64
< perl-macros-5.16.3-286.38.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-286.38.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-Thread-Queue-3.02-2.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
200c152
< procps-3.2.8-30.14.amzn1.x86_64
---
> procps-3.2.8-45.16.amzn1.x86_64
203c155
< python27-2.7.12-2.120.amzn1.x86_64
---
> python27-2.7.16-1.125.amzn1.x86_64
205c157
< python27-libs-2.7.12-2.120.amzn1.x86_64
---
> python27-libs-2.7.16-1.125.amzn1.x86_64
211,212c163,166
< python34-3.4.3-1.33.amzn1.x86_64
< python34-libs-3.4.3-1.33.amzn1.x86_64
---
> python36-3.6.8-1.11.amzn1.x86_64
> python36-libs-3.6.8-1.11.amzn1.x86_64
> python36-pip-9.0.3-1.26.amzn1.noarch
> python36-setuptools-36.2.7-1.33.amzn1.noarch
215d168
< rpm-build-4.11.3-21.75.amzn1.x86_64
223c176
< sqlite-3.7.17-6.13.amzn1.x86_64
---
> sqlite-3.7.17-8.14.amzn1.x86_64
225,226c178
< system-release-2017.03-0.1.noarch
< sysvinit-2.87-6.dsf.15.amzn1.x86_64
---
> system-release-2018.03-0.0.noarch
231d182
< udev-173-4.13.amzn1.x86_64
233d183
< upstart-0.6.5-13.3.13.amzn1.x86_64

新環境へ移行したことでbinutilscurlのバージョンが上がっていることが分かります!!

まとめ

勝手な想像ですが、今回の更新でLambdaのランタイムが全面的にFirekracker環境に移行されるのかな〜?とか、全面的にFirekracker環境に移行されたらVPC Lambdaの改善もリリースされるかな〜?とか考えています。 影響範囲の確認やテストの実施は面倒ですが、パフォーマンスやセキュリティレベルの向上という恩恵を受けられるのは嬉しいことです。しっかりとテストを行って、今後もより良いサーバーレスライフを送りたいと思います。