1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

App Engineスタンダード環境でMemorystore for Redisを使う(Laravel)

Last updated at Posted at 2020-08-13

Redisの使い方とローカル環境に関しては割愛。

Laravelにpredisを追加

composer require predis/predis

redisを設定

GCPの管理画面からインスタンスを作成。
リージョンはGAEと同一にする。
image.png

作成後、IPアドレスとポートをメモっておく。

サーバーレス VPC アクセスを作成

GCPの管理画面からコネクタを作成。
リージョンはGAEと同一にする。IP範囲は10.8.0.0でいいらしい。
image.png

作成されたら、コネクタの名前をメモっておく。

app.yamlに追加

REDIS_HOSTとREDIS_PORTは「redisを設定」でメモった値を設定。
vpc_access_connectorのプロジェクト名、リージョン、コネクタ名はそれぞれの環境で変更

app.yaml
runtime: php73

....
....

  REDIS_CLIENT: predis
  REDIS_HOST: 10.xx.xx.xx
#  REDIS_PASSWORD: null
  REDIS_PORT: 6379

vpc_access_connector:
  name: 'projects/my-project/locations/asia-northeast1/connectors/my-connectors'

app deployして終了

しかし、下記エラー

ERROR: (gcloud.beta.app.deploy) PERMISSION_DENIED: Operation is not allowed. The "vpcaccess.connectors.use" permission is required.

cloud buildを使っているならもう一つやることが。

IAMと管理を開き、cloudbuildに対して以下の権限を与える。

  • App Engine 管理者
  • Cloud Build サービス アカウント
  • Compute 管理者
  • サーバーレス VPC アクセス ユーザー
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?