본문 바로가기

카테고리 없음

Golang + DynamoDB 세팅

MacOS 환경에서 세팅하는 방법입니다.

Homebrew 3.5.10
go version go1.19 darwin/arm64
aws-cli/2.7.27 Python/3.9.11 Darwin/21.6.0 exe/x86_64 prompt/off

// 현재 설정입니다. 참고만 해주세요! 

GoLang 설치

MacOS 환경에서는 다음과 같이 간편하게 golang을 설치할 수 있습니다.

brew install go

혹은 다음과 같은 절차로 다운로드 받을 수 있습니다.

  • https://golang.org 에서 go linux용 파일을 다운받는다.
  • 터미널을 열고 다운받은 파일이 있는 폴더에서 아래 명령을 실행한다.
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.16.3.linux-amd64.tar.gz
  • vim ~/.profile 명령을 실행하여 아래 문장을 맨 아래 추가하고 source ~/.profile 를 실행한다.
vim ~/.profile
export PATH=$PATH:/usr/local/go/bin // 추가할 문장
source ~/.profile
  • go version 으로 설치를 확인한다.

DynamoDB 세팅하기

우선 DynamoDB를 사용하기 위해서는 당연히 AWS 계정이 있어야합니다.

AWS 계정이 있다는 가정하에, 다음 사이트를 참고하면서 세팅을 진행하시면 좋을 것 같습니다.

Go용 AWS SDK에는 Go 1.5 이상이 필요합니다.

AWS SDK 설치는 다음과 같이 진행할 수 있습니다.

우선 go project 내에 들어왔다는 가정하에 진행하겠습니다.

// 고프로젝트 진입
cd ~/go/src/goProject

// AWS SDK 설치
go get -u github.com/aws/aws-sdk-go/... 

사실 여기까지하면 반 이상은 끝났습니다. 이제 aws-cli를 사용하기 위해 몇 가지 세팅을 해주면 됩니다.

다음 쉘 명령어를 사용하여 $HOME 경로에 .aws 폴더를 만들고 credentialsconfig 파일을 만들어줍니다.

cd ~
mkdir .aws; cd ~/.aws; touch credentials config 

credentials와 config에는 이름에 맞는 설정이 들어갑니다.

인증정보와 설정(저는 아직까지 Region만 설정해둔 상태입니다)

이와 관련해서는 링크로 대신하겠습니다.

 

What is the AWS SDK for Go - AWS SDK for Go (version 1)

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com


IAM 콘솔에서 사용자 및 사용자 그룹 추가하기

이제 로컬에서 설정해주는 부분은 끝났고, AWS 콘솔에서 테이블과 설정을 확인하며 진행해주시면 됩니다.

우선은 AWS 콘솔 에서, 유저를 생성해주기 위해서 IAM 콘솔로 이동합니다.

IAM 콘솔에서 사용자 그룹을 생성하고, 사용자를 만들어 사용자 그룹에 넣어줍니다.


사용자 추가 과정 1 : 사용자 이름과 비밀번호 설정. 액세스 키와 암호를 둘 다 사용했습니다.

 


사용자 추가과정 2: 그룹을 생성하는 동시에 사용자를 해당 그룹에 추가합니다.


사용자 추가과정 3: 그룹에 알맞는 권한을 추가한다.

DynamoDB를 사용하기 위해서는 S3FullAccess를 제외한 두 가지는 반드시 있어야합니다!

위의 과정을 지나고 IAM 태그를 생략하고 나면 사용자 추가에 성공하고 액세스 키 ID비밀 액세스 키를 받을 수 있습니다.

반드시 .csv 파일을 다운로드 받고 이메일로도 전송받는 것을 추천합니다.


이제 모든 설정이 끝났고, 위에 첨부한 개발자 문서를 따라 테이블 생성을 진행하시면 됩니다.

~/.aws/credentialsaws_access_key_idaws_secret_access_key를 넣어두시면

해당 인증정보를 이용해 권한을 확인하고 Dynamo DB를 이용할 수 있게 됩니다.

Dynamo콘솔에서 테이블을 직접 만들수도 있고, 코드를 실행시켜 만들수도 있습니다.

모든 코드 예시는 Github 링크를 첨부하여 대신하겠습니다.

 

GitHub - awsdocs/aws-doc-sdk-examples: Welcome to the AWS Code Examples Repository. This repo contains code examples used in th

Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.rst file below...

github.com