728x90

프로젝트에서 이미지를 S3에 업로드하는 기능 구현을 담당하게 되었다. S3에 접근하기 위한 AWS의 AccessKey와 SecretAccessKey를 설정해주어야 했는데, public 프로젝트였기 때문에 yml에 담아서 깃허브에 올릴 수 없었다.

애플리케이션 코드로 저장하지 않고 안전하게 AWS Key를 관리하는 방법에 대해 알아보다가 EC2 환경에서 AWS Key를 관리하는 방법에 대해 알게되어 적용했던 과정을 정리한다. 이 밖에도 다양한 환경에서 적용할 만한 다양한 방법을 정리해두신 고마운 블로그가 있어 링크를 남겨놓으니 참고하길 바란다.(링크)

 

EC2ContainerCredentialsProviderWrapper.class

이 클래스는 애플리케이션이 배포된 서버가 EC2 및 컨테이너 환경일 때 동작한다. EC2 및 컨테이너에 S3 관련 역할을 부여하면 credentials 인증을 처리해주고 EC2 환경에서 AWS 서비스들을 이용할 수 있게 된다.

 

EC2에 Credential 정보 등록

1. .aws 폴더를 생성한다.

$ mkdir /.aws

2. credentials 파일 생성 후 인증 정보 등록

$ vim credentials
[default]
aws_access_key_id = [Your Access Key]
aws_secret_access_key = [Your Secret Access Key]

 

728x90
Cold Bean