Back End/AWS
[AWS] Java 프로젝트에서 .ebextensions 사용하기
DevPing9_
2022. 9. 17. 17:09
Overview
필자가 삽질하며 .ebextensions 를 활용하여 AWS Beanstalk 을 설정하는 법을 정리한 글입니다.
언제 써야 할까?
한 번 세팅하고 계속 유지되어야 하는 설정들은 AMI 로 만들어 Beanstalk 에서 사용하면 되지만
변경이 자주 발생하거나 어플리케이션이 deploy 되기전에 적용되어야 하는 환경 설정들은 ebextension 을 사용하여 적용하면 좋다.
어플리케이션에 ebextension 으로 작성하고 그 이후에 실행하지 않게 끔 해놓은 어플리케이션도 있는데, 기록을 남겨둠으로써 해당 작업을 어떻게 처리하였는지 IDE 수준에서 빠르게 확인할 수 있고 문서화하지 않아도 되어 경제적이다.
다만, 그런 파일들은 .ebextension-deprecated 와 같이 네이밍을 다르게 하여 다음 인수자가 알아보기 쉽게 하면 더 좋을 것 같다.
어떻게 쓰는가?
Elastic Beanstalk 이 .ebextensions 폴더를 인식하게 하려면?
아래와 같이 .jar 나 .war 파일이 압축해제 되었을 때, 루트 경로에 .ebextension 폴더가 있게 패키징을 하여야 한다.
myapp.war
ㄴ .ebextensions
ㄴ 01-setup-networks.config
ㄴ 02-setup-tomcat.config
ㄴ 03-locate-errorPage.config
pom.xml 로 패키징 설정하기
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>
{빌드되기전 ebextension 을 포함한 디렉토리 경로}
</directory>
<targetPath>.ebextensions</targetPath>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
실행되어야 할 ebextension 커맨드 작성하기
{}.config 로 파일을 작성하여 아래와 같은 예시로 작성한다.
자세한 스펙은 공식문서를 확인하자
알아두면 좋은 지식들
728x90