aws x-ray(トレースログ表示)で、api gateway + lambda + dynamodbの動きを見てみた。サービスによってx-ray導入のハードルが、えらく違うな~。
AWSのディベロッパー試験問題(udemy)をやっていると、やたらとx-rayの問題が出てくるので触ってみた。
1, api gatewayは簡単で、ステージ – ログ/トレース の画面で、「X-Rayトレースの有効化」のチェックをONにするだけ
2, lambdaはロール権限が必要で、AWSXrayWriteOnlyAccessポリシーを付与してから、アクティブトレースをチェックすればOK
3, dynamoDBは、lambdaのコーディング修正が必要な上、aws-xray-sdkをローカルでインストールしてzipで上げ直さないとダメなので超面倒!
こういう時は、lambdaレイヤー(共通ライブラリ)にパッケージをアップロードすると、共通で使えて良い(lambda関数毎に使うlambdaレイヤーを指定しないとダメだけど)
https://docs.aws.amazon.com/ja_jp/xray/latest/devguide/xray-sdk-nodejs-awssdkclients.html
1 2 |
var AWSXRay = require('aws-xray-sdk'); var ddb = AWSXRay.captureAWSClient(new AWS.DynamoDB()); |