AWS Lambda で DynamoDB Accelerator (DAX) を使用するにはどうすればよいですか?

所要時間2分
0

Amazon DynamoDB Accelerator (DAX) クラスターを AWS Lambda 関数で使用したいと考えています。どうすればよいですか?

解決方法

DAX クラスターを作成したら、 DAX クラスターで起動した VPC ID、サブネット、セキュリティグループを書き留めます。この情報は参照用に保管してください。次に、以下の手順に従って DAX クラスターで Lambda 関数を使用します。

DAX クラスターの VPC にアクセスできる Lambda 関数を作成する

1.    Lambda コンソールを開きます。次に、[関数] ページを開きます。

2.    [関数の作成] を選択し、関数名を入力します。

3.    [基本情報] で [ランタイム] と [アーキテクチャ] を選択します。

4.    [詳細設定] を展開します。次に、[VPC を有効にする] の左側にあるチェックボックスをオンにします。

5.    VPC ドロップダウンリストで、前述の VPC を選択します。これは DAX クラスターが起動された VPC です。

6.    [サブネット] ドロップダウンリストで、前述のサブネットを選択します。あてはまるものをすべて選択してください。

7.    [セキュリティグループ] ドロップダウンリストで、前述の VPC セキュリティグループを選択します。コンソールには、そのセキュリティグループのインバウンドルールとアウトバウンドルールが表示されます。

重要: Lambda 関数が DAX クラスターに接続するには、セキュリティグループのインバウンドルールプロトコルとして TCP が表示される必要があります。また、[ポート] の下に 8111 または 9111 が表示されている必要があります。8111 は暗号化されていないクラスター用であり、9111 は暗号化されたクラスター用です。

8.    [関数を作成] を選択します。

DAX クラスターの VPC にアクセスするように既存の Lambda 関数を設定します

1.    Lambda コンソールを開きます。次に、[関数] ページを開きます。

2.    DAX クラスターで使用する関数を選択します。

3.    リボンから [設定] を選択し、次に [VPC] を選択します。[編集] を選択します。

4.    前のセクション「DAX クラスターの VPC にアクセスできる Lambda 関数を作成する」のステップ 4 ~ 6 に従います。

5.    [保存] を選択します。

Lambda 関数から DAX クラスターへの接続をテストします

重要: amazondax は Lambda ではデフォルトでは使用できないため、最初にデプロイパッケージを準備する必要があります。amazon-dax-client をインストールするには、Amazon DynamoDB Accelerator (DAX) の「すべてのバージョン」セクションを参照してください。

amazon-dax-client をインストールしたら、「.zip ファイルアーカイブを使用して Python Lambda 関数をデプロイする」の手順に従ってデプロイパッケージを作成します。次の Python コードを使用してパッケージを作成します。

import amazondax
import boto3

def lambda_handler(event, context):
    daxclient = amazondax.AmazonDaxClient(endpoint_url='<endpoint-from-your-cluster>')
    print("Connected!!")

デプロイパッケージで、 endpoint_url を DAX クラスターにあるものに変更します。これを行うには、以下を実行します。

1.    [DynamoDB コンソール] を開きます。

2.    ナビゲーションペインの [ DAX] で、[クラスター] を選択します。

3.    以前に作成した DAX クラスターを選択し、[概要] を選択します。

4.    [一般情報] で [クラスターエンドポイント] を探します。 そこに記載されている URL をコピーします。

5.    Python コード内の を コピーした URL に置き換えます。

6.    デプロイパッケージを .zip ファイルとして、または S3 URL を使用してアップロードします。その後、[テスト] を選択します。

7.   接続が正常に構成されると、実行結果に**「接続済み!!」と表示されます。**


関連情報

VPC アクセスの設定 (コンソール)

Lambda の DynamoDB Accelerator (DAX) を使用して、コストを削減しながらパフォーマンスを向上させる

DynamoDB Accelerator (DAX) クライアントによる開発

AWS公式
AWS公式更新しました 2年前
コメントはありません