Provision AWS resources with ACK
What's been set up for you
- The ACK EKS-managed capability is enabled on the cluster, with the DynamoDB controller selected. The capability assumes an IAM Capability Role scoped to a single DynamoDB table named
${EKS_CLUSTER_AUTO_NAME}-carts-fastpath. - An IAM role for the
cartsServiceAccount is pre-provisioned (${EKS_CLUSTER_AUTO_NAME}-carts-dynamo) so the application Pod can read and write the table via EKS Pod Identity. - The base retail application is running with
cartspointing at the in-clustercarts-dynamodbPod.
By default, the carts component in the sample application uses a DynamoDB local instance running as a Pod called carts-dynamodb. In this lab we'll provision a real Amazon DynamoDB table using a Kubernetes manifest, then point the carts Deployment at the cloud-managed table.
Unlike the self-managed ACK lab, there's no helm install ack-dynamodb-controller step here. The DynamoDB controller is delivered by the ACK EKS capability — a fully managed control-plane component that lives in AWS-owned infrastructure and assumes an IAM Capability Role to act on AWS resources for the cluster.
Throughout this lab, we will:
- Verify the ACK capability is
ACTIVEand the DynamoDB CRDs are present in the cluster. - Provision a DynamoDB table by applying a Kubernetes
Tablecustom resource. - Migrate the
cartsDeployment from the in-cluster DynamoDB Pod to the new AWS-managed table by patching its ConfigMap and ServiceAccount.