AppEngine標準環境アプリケーションおよびAppEngineFlexアプリケーション2020からRedisインスタンスに接続する
1.CloudSDKをダウンロードしてインストールします。
2. Cloud SDKがすでにインストールされている場合は、次のコマンドを実行して更新します。
gcloud components update
3.新しいプロジェクトを作成します:
gcloud projects create [YOUR_PROJECT_ID] --set-as-default
4.プロジェクトが作成されたことを確認します:
gcloud projects describe [YOUR_PROJECT_ID]
5.作成したプロジェクトを設定します:
gcloud config set core/project PROJECT_ID
6.プロジェクトでAppEngineアプリを初期化し、そのリージョンを選択します:
gcloud app create --project=[YOUR_PROJECT_ID]
7.プロンプトが表示されたら、App Engineアプリケーションを配置するリージョンを選択します。リージョンを覚えておいてください。同じリージョンに、RedisインスタンスとVPCコネクタが作成されます。 europe-west2
にある私のAppEngineアプリケーション
8.プロジェクトで請求が有効になっていることを確認します。アプリケーションをAppEngineにデプロイするには、課金アカウントをプロジェクトにリンクする必要があります。
9.次の前提条件をインストールします。
a。Gitをダウンロードしてインストールする
b。次のコマンドを実行して、Python3.7用のAppEngine拡張機能を含むgcloudコンポーネントをインストールします。
gcloud components install app-engine-python
c。Python開発のために環境を準備する
10.Redisインスタンスのメモリストアを作成します。次のコマンドを入力して、「europe-west2」リージョンに2 GiB BasicTierRedisインスタンスを作成します
gcloud redis instances create myinstance --size=2 --region=europe-west2 /
--redis-version=redis_4_0
11.インスタンスが作成されたら、describeコマンドを入力して、インスタンスのIPアドレスとポートを取得します。ホストとポートの値を使用してインスタンスに接続します。また、Redisインスタンスの承認済みネットワークを見つけます
gcloud redis instances describe myinstance --region=europe-west2
12.サーバーレスVPCアクセスの構成:アプリおよびRedisインスタンスと同じリージョンにコネクタを作成し、コネクタがRedisインスタンスの承認されたVPCネットワークに接続されていることを確認してください。コネクタの名前を覚えておいてください。
13.プロジェクトでサーバーレスVPCアクセスAPIが有効になっていることを確認します。
gcloud services enable vpcaccess.googleapis.com
14.次のコマンドでコネクタを作成します:
gcloud compute networks vpc-access connectors create connector --network default --region europe-west2 --range 10.10.0.0/28
15.コネクタを使用する前に、コネクタがREADY状態にあることを確認します。出力には、次の行状態が含まれている必要があります:READY
。
16.Pythonのリポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
17.アプリケーションをデプロイするための準備AppEngine Standard 。アプリの構成を更新して、サーバーレスVPCアクセスコネクタと、RedisインスタンスのIPアドレスとポートを指定します。
cd gae_standard_deployment/
cat app.yaml
runtime: python37
entrypoint: gunicorn -b :$PORT main:app
# Update with Redis instance details
env_variables:
REDISHOST: '<REDIS_IP>'
REDISPORT: '6379'
# Update with Serverless VPC Access connector details
vpc_access_connector:
name: 'projects/<PROJECT_ID>/locations/<REGION>/connectors/<CONNECTOR_NAME>'
18.アプリケーションをAppEngine標準環境にデプロイする
cd ..
cp gae_standard_deployment/app.yaml .
19.デプロイコマンドを実行します
gcloud beta app deploy
20.デプロイが完了したら、次のURLでアプリにアクセスし、[PROJECT_ID]をGoogleCloudプロジェクトIDに置き換えます。
Visitor number: 4
成功!
21.アプリケーションをデプロイするための準備AppEngine Flex 。アプリの構成を更新して、RedisインスタンスのIPアドレスとポートを指定します。
cd gae_flex_deployment/
cat app.yaml
cpgae_flex_deployment/app.yaml。
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 3
# Update with Redis instance IP and port
env_variables:
REDISHOST: '<REDIS_IP>'
REDISPORT: '6379'
# Update with Redis instance network name
network:
name: default
22.アプリケーションをAppEngine標準環境にデプロイする
cd ..
cp gae_flex_deployment/app.yaml .
23.デプロイコマンドを実行します
gcloud beta app deploy
24.デプロイが完了したら、次のURLでアプリにアクセスし、[PROJECT_ID]をGoogleCloudプロジェクトIDに置き換えます。
Visitor number: 4
成功!