AWS Lambda関数の分散トレーシング

セットアップ

6 min

手動計装されていないLambdaアプリケーション

前提条件

Observability ワークショップインスタンス

Observabilityワークショップは、多くの場合、Splunkが提供する事前設定済みのUbuntu EC2インスタンス上で実施されます。

ワークショップのインストラクターから、割り当てられたワークショップインスタンスの認証情報が提供されます。

インスタンスには以下の環境変数が既に設定されているはずです


また、Multipass を使用してローカルの Observability ワークショップインスタンスをデプロイすることもできます。

AWS Command Line Interface (awscli)

AWS Command Line Interface、または awscli は、AWSリソースと対話するために使用されるAPIです。このワークショップでは、特定のスクリプトがデプロイするリソースと対話するために使用されます。

Splunkが提供するワークショップインスタンスには、既に awscli がインストールされているはずです。

Terraform

Terraformは、リソースを構成ファイルで定義することで、デプロイ、管理、破棄するためのInfrastructure as Code(IaC)プラットフォームです。TerraformはHCLを使用してこれらのリソースを定義し、さまざまなプラットフォームやテクノロジのための複数のプロバイダーをサポートしています。

このワークショップでは、コマンドラインでTerraformを使用して、以下のリソースをデプロイします

  1. AWS API Gateway
  2. Lambda関数
  3. Kinesis Stream
  4. CloudWatchロググループ
  5. S3バケット
    • およびその他のサポートリソース

Splunkが提供するワークショップインスタンスには、既に terraform がインストールされているはずです。

ワークショップディレクトリ (o11y-lambda-workshop)

ワークショップディレクトリ o11y-lambda-workshop は、今日使用する例のLambdaベースのアプリケーションの自動計装と手動計装の両方を完了するための、すべての設定ファイルとスクリプトを含むリポジトリです。

bash
git clone https://github.com/gkono-splunk/o11y-lambda-workshop.git

AWS & Terraform 変数

AWS

AWSのCLIでは、サービスによってデプロイされたリソースにアクセスし管理するための認証情報が必要です。このワークショップでは、TerraformとPythonスクリプトの両方がタスクを実行するためにこれらの変数を必要とします。

Terraform

Terraformでは、機密情報や動的データを.tf設定ファイルにハードコーディングさせない、またはそれらの値をリソース定義全体で再利用できるようにするため、変数の受け渡しをサポートしています。

このワークショップでは、OpenTelemetry Lambda layerの適切な値でLambda関数をデプロイするため、Splunk Observability Cloudの取り込み値のため、そして環境とリソースを独自で即座に認識できるようにするための変数をTerraformで必要とします。

Terraform変数(variable)は以下の方法で定義されます

このワークショップでは、variables.tfterraform.tfvars ファイルの組み合わせを使用して変数を設定します。

ファイル権限

他のすべてのファイルはそのままでよいですが、automanual の両方にあるsend_message.pyスクリプトは、ワークショップの一部として実行する必要があります。そのため、期待通りに実行するには、適切な権限が必要です。以下の手順に従って設定してください。

これで前提条件が整いましたので、ワークショップを始めることができます!

Last Modified ·