メインコンテンツまでスキップ

Introduction

私たちのアーキテクチャのcartsコンポーネントは、ストレージバックエンドとしてAmazon DynamoDBを使用しています。これは、Amazon EKSとの非リレーショナルデータベース統合でよく見られるユースケースです。現在、carts APIは、EKSクラスタ内でコンテナとして実行されているAmazon DynamoDBの軽量バージョンを使用してデプロイされています。

以下のコマンドを実行して、これを確認できます:

~$kubectl -n carts get pod
NAME                              READY   STATUS    RESTARTS        AGE
carts-5d7fc9d8f-xm4hs             1/1     Running   0               14m
carts-dynamodb-698674dcc6-hw2bg   1/1     Running   0               14m

上記の出力では、Pod carts-dynamodb-698674dcc6-hw2bgが軽量DynamoDBサービスです。cartsアプリケーションがこれを使用していることを、その環境を調査することで確認できます:

~$kubectl -n carts exec deployment/carts -- env | grep RETAIL_CART_PERSISTENCE_DYNAMODB_ENDPOINT
RETAIL_CART_PERSISTENCE_DYNAMODB_ENDPOINT=http://carts-dynamodb:8000

このアプローチはテストには役立ちますが、私たちはアプリケーションをフルマネージドのAmazon DynamoDBサービスに移行して、そのスケールと信頼性を最大限に活用したいと考えています。次のセクションでは、アプリケーションをAmazon DynamoDBを使用するように再構成し、AWS サービスへの安全なアクセスを提供するためにEKS Pod Identityを実装します。