직접 VPC 이그레스를 사용하여 Cloud Run 함수에서 Redis 인스턴스에 연결할 수 있습니다.
설정
이미 Google Cloud CLI를 설치하고 Redis 인스턴스를 만들었다면 아래 단계를 건너뛸 수 있습니다.
- gcloud CLI를 설치하고 초기화합니다. - gcloud init
- 빠른 시작 가이드에 따라 Redis 인스턴스를 만듭니다. Redis 인스턴스의 영역, IP 주소, 포트를 기록합니다. 
VPC 네트워크 이그레스 구성 준비
Redis 인스턴스에 연결하려면 Cloud Run 함수에서 Redis 인스턴스의 승인된 VPC 네트워크에 액세스할 수 있어야 합니다.
이 네트워크의 이름을 찾으려면 다음 명령어를 실행합니다.
gcloud redis instances describe INSTANCE_ID --region REGION --format "value(authorizedNetwork)"
네트워크 이름을 기록해 둡니다.
샘플 함수
이 샘플 함수는 Cloud Run 함수에서 Redis 인스턴스에 연결을 설정합니다.
원하는 프로그래밍 언어의 저장소를 클론하고 샘플 코드가 포함된 폴더로 이동합니다.
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/functions/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/functions/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/functions/memorystore/redis
샘플 코드는 함수가 트리거될 때마다 Redis 카운터를 증가시킵니다.
Go
이 함수는 github.com/gomodule/redigo/redis 클라이언트를 사용합니다.
Node.js
이 함수는 redis 모듈을 사용합니다.
Python
이 함수는 redis-py 패키지를 사용합니다.
Cloud Run 함수에 샘플 배포
함수 배포 단계는 다음과 같습니다.
- Dockerfile을 소스 디렉터리에 복사합니다.- cp cloud_run_deployment/Dockerfile .
- 다음 명령어를 실행하여 Cloud Build를 사용하여 컨테이너 이미지를 빌드합니다. - gcloud builds submit --tag gcr.io/PROJECT_ID/visit-count 
- 다음 명령어를 실행하여 Cloud Run에 컨테이너를 배포합니다. - gcloud run deploy \ --image gcr.io/PROJECT_ID/visit-count \ --allow-unauthenticated \ --region REGION \ --network NETWORK \ --subnet SUBNET \ --set-env-vars REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT- 각 항목의 의미는 다음과 같습니다. 
함수 배포가 완료되면 함수 URL을 검색합니다.
gcloud run services describe visit-count \ --region=REGION
URL에 GET 요청을 전송하여 함수를 트리거할 때마다 카운터 증가를 확인할 수 있습니다.