App Engine 애플리케이션은 Redis 인스턴스와 동일한 승인 네트워크에 있어야 액세스할 수 있습니다.
설정
이미 Google Cloud CLI를 설치하고 Redis 인스턴스를 만들었다면 아래 단계를 건너뛸 수 있습니다.
gcloud CLI를 설치하고 초기화합니다.
gcloud init
빠른 시작 가이드에 따라 Redis 인스턴스를 만듭니다. Redis 인스턴스의 영역, IP 주소, 포트를 기록합니다.
샘플 애플리케이션
이 샘플 HTTP 서버 애플리케이션은 App Engine 가변형 환경 인스턴스에서 Redis 인스턴스로 연결을 설정합니다.
원하는 프로그래밍 언어의 저장소를 클론하고 샘플 코드가 포함된 폴더로 이동합니다.
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
자바
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
이 샘플 애플리케이션은 /
엔드포인트에 액세스할 때마다 Redis 카운터를 증가시킵니다.
Go
이 애플리케이션은 github.com/gomodule/redigo/redis
클라이언트를 사용합니다. 다음 명령어를 실행하여 설치합니다.
go get github.com/gomodule/redigo/redis
자바
이 애플리케이션은 Jetty 3.1 서블릿 기반입니다.
Jedis 라이브러리를 사용합니다.
AppServletContextListener
클래스는 장기 Redis 연결 풀을 만드는 데 사용됩니다.
VisitCounterServlet
클래스는 Redis 카운터를 증가시키는 웹 서블릿입니다.
Node.js
이 애플리케이션은 redis
모듈을 사용합니다.
Python
이 애플리케이션은 웹 서빙에 Flask를 사용하고 Redis 인스턴스와 통신하기 위해 redis-py
패키지를 사용합니다.
애플리케이션 배포 준비
Redis 인스턴스에 액세스하려면 App Engine 인스턴스를 Redis 인스턴스와 동일한 승인된 네트워크에 배포해야 하며 Redis 인스턴스의 연결 세부정보를 제공해야 합니다. 다음 명령어를 실행하여 Redis 인스턴스의 승인된 네트워크, IP 주소, 포트를 찾을 수 있습니다.
gcloud redis instances describe [INSTANCE_ID] --region [REGION]
앱 구성을 업데이트하여 Redis 인스턴스의 IP 주소, 포트, 네트워크를 지정합니다.
Go
gae_flex_deployment/app.yaml
파일을 업데이트합니다.자세한 내용은 app.yaml로 앱 구성을 참조하세요.
자바
gae_flex_deployment/app.yaml
파일을 업데이트하여 Redis 인스턴스의 네트워크를 지정합니다.그리고 Redis 인스턴스의 IP 주소와 포트로
src/main/resources/application.properties
파일을 업데이트합니다.앱 구성에 대한 자세한 내용은 app.yaml로 앱 구성을 참조하세요.
Node.js
gae_flex_deployment/app.yaml
파일을 업데이트합니다.자세한 내용은 app.yaml로 앱 구성을 참조하세요.
Python
gae_flex_deployment/app.yaml
파일을 업데이트합니다.자세한 내용은 app.yaml로 앱 구성을 참조하세요.
App Engine 가변형 환경에 애플리케이션 배포
애플리케이션을 배포하려면 다음 안내를 따르세요.
필요한 구성 파일을 소스 디렉터리에 복사합니다.
Go
app.yaml
파일을 소스 디렉터리에 복사합니다.cp gae_flex_deployment/app.yaml .
자바
app.yaml
파일을 소스 디렉터리에 복사합니다.mkdir -p src/main/appengine cp gae_flex_deployment/app.yaml src/main/appengine/
Node.js
app.yaml
파일을 소스 디렉터리에 복사합니다.cp gae_flex_deployment/app.yaml .
Python
app.yaml
파일을 소스 디렉터리에 복사합니다.cp gae_flex_deployment/app.yaml .
배포 명령을 실행합니다.
Go
gcloud app deploy
이 작업은 몇 분 정도 소요될 수 있습니다.
자바
mvn appengine:deploy
이 작업은 몇 분 정도 소요될 수 있습니다.
Node.js
gcloud app deploy
이 작업은 몇 분 정도 소요될 수 있습니다.
Python
gcloud app deploy
이 작업은 몇 분 정도 소요될 수 있습니다.
배포가 완료되면 다음 URL에서 앱을 방문하고 [PROJECT_ID]
를 Google Cloud 프로젝트 ID로 바꿉니다.
https://[PROJECT_ID].appspot.com
앱을 방문할 때마다 Redis 인스턴스의 수가 증가합니다.