2021年11月02日

[AWS] Lambda 関数の「状態」の確認手順

2021年10月、Amazonからメールが届く。タイトルは、

[要対応] AWS Lambda 関数の「状態」の拡張について| [Action Required] AWS Lambda Extending State to All Functions

Lambda関数の作成、更新、または呼び出しが確認されたため、このタイトルのメールが送られてきたらしい。メールを読んでもリンク先が英語だったのでよく理解できず。
そんなとき、解説してくれているサイトを発見。

【アップデート】AWS Lambda 関数の「状態」の拡張
https://www.sunnycloud.jp/column/20211018-01-2/

2021年12月6日以降、すべてのLamda関数に適用される話だそうで、自分に関係しそうな所を要約すると、こんな感じ。

・現在Lambda関数を使っていても、呼び出しが数週間無いと「Inactive状態」になる
・Inactive状態でLambda関数を呼び出すと、Pending > Active と状態が移る
・状態の確認には、CLI(コマンドラインツール)かSDKが必要

iOS版100マス計算にてLambdaを使っているので対象で、毎日呼び出されているのでInactive状態になることはないだろうし、影響はないとは思うけど、念の為、Lamda関数の状態を確認してみることにした。

管理画面からLamda関数の状態を確認できないかとログインしてみる。

スクリーンショット 20211101_1.png

管理画面から状態はわからない。
説明にある通り、CLIツールを使ってみることにした。
あと、Node.js 10 はサポート対象外になったので更新しないといけないけど、それは後回し。



はじめに、CLIをPCにインストールするところから。

macOS での AWS CLI バージョン 2 のインストール、更新、アンインストール:
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-mac.html

AWS CLI バージョン2をインストール。
---------------------------------------------
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
---------------------------------------------

これでインストールできたので、インストールの確認。
---------------------------------------------
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.3.2 Python/3.8.8 Darwin/20.4.0 exe/x86_64 prompt/off
---------------------------------------------

念のため、アンインストールの手順も抜粋(今回はインストールだけ)。
---------------------------------------------
$ which aws
$ ls -l /usr/local/bin/aws
$ sudo rm /usr/local/bin/aws
$ sudo rm /usr/local/bin/aws_completer
$ sudo rm -rf /usr/local/aws-cli
---------------------------------------------

こんなに簡単にCLIが使えるようになるとは思わなかった。
いざ、CLIを使ってみようと思ったけど、その前に設定が必要だった。

設定コマンド:
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds

CLIのコマンド(aws configure)を使うときに、IAMのアクセスキーとシークレットキーが必要とのこと。
管理画面からIAMを確認してみる。

スクリーンショット 20211101_2.png

そもそもアクセスキーが存在しなかったので、「アクセスキーの作成」ボタンを押してアクセスキーを作成。
そこから、アクセスキーとシークレットキーを取得。

いざCLIを使ってみる。
---------------------------------------------
$ aws configure
AWS Access Key ID [None]: [アクセスキー]
AWS Secret Access Key [None]: [シークレットキー]
Default region name [None]: ap-northeast-1 ※使用しているリージョン
Default output format [None]: text
---------------------------------------------

これで準備が整ったので、Lambda関数の状態を確認してみる。

Lambda関数の状態確認:
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/functions-states.html

---------------------------------------------
$ aws lambda get-function-configuration --function-name [Lambda関数名]

※※※※※※※※ 100マス計算の記録更新のAPPからの受信用 arn:aws:lambda:ap-northeast-1:※※※※※※※:function:[Lambda関数名] [Lambda関数名] ※※※※※※ 20XX-0X-XXTXX:XX:XX.XXX+0000 Successful 128 Zip ※※※※※※※※※※:aws:iam::※※※※※※※※※:role/※※※※※※※※※※ nodejs10.x Active X $LATEST
ARCHITECTURES ※※※※
TRACINGCONFIG ※※※※
VPCCONFIG
---------------------------------------------
↑大事なところは※※※やXXXで隠した。

出力結果を見ると、「Active」があるのでちゃんと動作してるっぽい。
これでいいのかなー。

あとは、Node.js10 を最新版に上げて、2021年12月6日以降も無事に動作することを祈るのみ。
変化する状況に対応していくって、大変だー。
posted by be-style at 00:20| Comment(0) | Web