스프링부트와 Google App Engine구글 앱엔진을 사용하려면 먼저 구글 클라우드 SDK 를 설치합니다.
구글 클라우드 SDK 설치는 여기를 참고하세요.
스프링 부트를 Google AppEngine 으로 deploy하기
스프링 부트에서 Google App Engine 으로 deploy를 위해서는 app.yaml 파일과 pom.xml 파일에 appengine-maven-plugin 추가만 해주면 됩니다.
app.yaml 파일은 다음과 같이 생성합니다.
app.yaml 설정 정보는 여기를 확인하세요.
위의 app.yaml 스크린샷에서는 runtime 환경은 java 이고, appEngine은 가변형 환경입니다.
service 는 앱엔진에 올라간 서비스명을 의미합니다.
default 는 기본 서비스명입니다.
resources 는 앱엔진 머신 스펙을 의미합니다. cpu는 1개, memory 는 1.5gb를 의미합니다.
manual_scaling 은 가변환경에서 인스턴스의 갯수를 설정합니다.
pom.xml 파일에는 다음과 같이 설정합니다.
<plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>appengine-maven-plugin</artifactId> <version>1.3.2</version> </plugin>
커맨드라인에
mvn appengine:deploy
를 실행하면 deploy가 됩니다.스프링 부트 스케쥴링 기능을 Google AppEngine 크론 작업으로 대체하기
스프링 부트에서 스케쥴링은 크론 작업이라는 구글 클라우드 앱엔진 내의 서비스로 별도로 수행됩니다.
관련해서는 이미 포스팅한 Dolphin 1 문서를 참조하세요.
스프링 부트 + MySQL을 Google Cloud Platform(GCP) - SQL 활용하기
MySQL 을 사용한다면 GCP에서 서비스하는 SQL 을 사용할 수 있습니다.
SQL 사용절차
GCP 콘솔에 접속 후 사이드바 메뉴에서 SQL 을 클릭합니다.
인스턴스 생성 버튼을 클릭합니다.
생성하려는 DB 엔진을 선택합니다. GCP는 MySQL과 PostgreSQL 두가지를 제공합니다.
MySQL 선택을 클릭합니다.
인스턴스 ID 를 입력하고 루트 비밀번호를 입력합니다.
이제 생성버튼을 클릭하면 SQL 인스턴스가 생성됩니다.
스프링 부트에서 AppEngine MySQL 사용하기
pom.xml 파일에서 mysql connector 라이브러리와 google cloud sql socket 라이브러리 의존성을 추가합니다.
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>com.google.cloud.sql</groupId> <artifactId>mysql-socket-factory</artifactId> <version>1.0.3</version> </dependency>
application.yaml 파일에서 datasource 접근 설정을 추가합니다.
spring.datasource.url 부분이 DB 연결 URL 부분입니다.
여기서 cloudSqlInstance= "INSTANCE_CONNECTION_NAME" 부분은 GCP SQL 인스턴스 세부정보에 인스턴스 연결 이름 부분입니다.
패턴은 프로젝트ID:지역:인스턴스ID 입니다.(ex: project-4199:asia-northeast1:my-instance)
이제 GCP SQL로 접근할 수 있습니다.
댓글
댓글 쓰기