본문 바로가기
개발/AWS

컨테이너 환경에서 aws dynamo DB 구동

by 앗가 2022. 7. 25.
728x90
반응형

맥에서 dynamoDB를 컨테이너 환경에서 실행한다. aws cli도 컨테이너에서 테스트해볼 생각이었다. 

1. dynamoDB 컨테이너 띄우기

docker pull amazon/dynamodb-local
docker run -d -p 8000:8000 amazon/dynamodb-local

이러면 다이나모는 끝.

2. dynamoDB 접속할 ubuntu 도커 컨테이너 구성

우선 dynamoDB에 접속할 클라이언트 Dockerfile을 다음처럼 작성했다... 최적화같은거 안 하고 일단 테스트를 하기 위해 이렇게 진행했다. 

FROM ubuntu:20.04

RUN apt update
RUN apt install -y sudo curl unzip less
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
RUN unzip awscliv2.zip
RUN sudo ./aws/install

이후 다음처럼 도커파일 빌드

docker build --tag awsdynamo:1.0 --platform linux/x86_64 .

이후 런

docker run -it -d --name aws-test awsdynamo:1.0

접속하고 aws 치면 이상 없이 동작.

docker exec -it aws-test bash

다시 dynamoDB의 네트워크 ip확인. 뒤에 dynamoDB의 컨테이너 ID를 입력한다.

docker inspect -f "{{ .NetworkSettings.IPAddress }}" DYNAMO_CONTAINER_ID

그러면 IP를 추출할 수 있다. aws를 실행할 쉘로 돌아와서 다음을 입력.

aws configure

이후 키와 비밀번호 설정. region name은 local, output format은 json으로 설정. 이제 db 테이블 조회. 아까 확인한 IP를 DYNAMO_CONTAINER_IP에 넣어준다. 

aws dynamodb list-tables --endpoint-url http://DYNAMODB_CONTAINER_IP:8000

그러면 테이블이 출력된다.

728x90

댓글