IAM 사용자로 잡은
계정(access key, secret key)를 application.properties에 직접 넣으면
보안상 문제가 생겨서 보호해야한다.
보호하는 방법은 다양하게 있는 것 같은데
나는 OS에 저장해서 사용하는 방법을 선택했다.
내 ec2는 ubuntu 이고
ubuntu에 먼저 환경변수에 저장한 뒤에
application.properties에 환경변수명을 잡고
배포하면 된다.
putty로 ec2에 접속해
다음 명령어를 통해
OS 환경변수 설정허자
echo 'export access_key=액세스키값' >> ~/.bashrc
echo 'export secret_key=시크릿키값' >> ~/.bashrc
source ~/.bashrc
echo $access_key // 나오면 잘된거임
echo $secret_key // 나오면 잘된거임
spring boot의
application properties에
만들어놓은 OS 환경변수를
넣어줘야한다.
application yml은 그냥 써도 되는데
properties는 오류가 떠서 기본값을 설정해줘야함!
cloud.aws.s3.bucket=버켓이름
cloud.aws.region.static=위치정보
cloud.aws.region.auto=false
cloud.aws.stack.auto=false
cloud.aws.credentials.access-key=${access_key:test} //요기
cloud.aws.credentials.secret-key=${secret_key:test} //요기
${secret_key} << 요건 OS 환경변수 설정 변수값이다.
yml은 저것만 넣어도 되는데
properties는 알 수 없는 값이라고mvn build가 안된다.
그래서 기본값을 뒤에 :test 넣어주었다.
test라는 값은 별 의미없이 오류나서 넣은거다.
참고할사람은 다음 사이트 보고 수정해도됨https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config
Core Features
In the absence of an Executor bean in the context, Spring Boot auto-configures an AsyncTaskExecutor. When virtual threads are enabled (using Java 21+ and spring.threads.virtual.enabled set to true) this will be a SimpleAsyncTaskExecutor that uses virtual t
docs.spring.io
요렇게 설정하면
gitignore따로 안해줘도
그냥 올려도 됨
'서버' 카테고리의 다른 글
aws ec2) application.properties 에서 accesskey 보호하는 방법 (0) | 2024.02.21 |
---|---|
aws ec2) 이미지 업로드를 위해 s3와 연동 (0) | 2024.02.19 |
aws ec2) 파일질라로 접속하기 (1) | 2024.02.18 |
aws ec2) filezilla로 배포 중 permission denied 현상 (0) | 2024.02.13 |
aws ec2) 포트열어서 톰캣 실행 확인하기 (0) | 2024.02.13 |