Terraform を使用して Memorystore for Redis クラスタ インスタンスを作成する
このクイックスタートでは、新しい Terraform ファイルを開始することを前提としており、 Google Cloud プロバイダを設定するための Terraform リソースが含まれています。ただし、 Google Cloud プロバイダで Terraform ファイルを認証する手順は省略されています。
Google Cloud プロバイダで Terraform を認証する手順については、 Google Cloud プロバイダ スタートガイドをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- まだインストールしていない場合は、Google Cloud SDK をインストールします。
プロンプトが表示されたら、上記で作成または選択したプロジェクトを選択します。
Google Cloud SDK をインストール済みの場合は更新します。
gcloud components update
-
Memorystore for Redis Cluster API を有効にする。
Memorystore for Redis Cluster Google Cloud プロバイダの構成。
Memorystore インスタンスの構成。このガイドでは、
us-central1
リージョンに 3 つのredis-highmem-medium
ノードがある 39 GB のクラスタです。Private Service Connect のサービス接続ポリシー。
インスタンスのサブネット。
インスタンスのネットワーク。
Terraform 構成ファイルに次のリソースを追加します。
provider "google" { project = "PROJECT_ID" } resource "google_redis_cluster" "cluster-ha" { name = "CLUSTER_ID" shard_count = 3 psc_configs { network = google_compute_network.producer_net.id } region = "us-central1" replica_count = 1 depends_on = [ google_network_connectivity_service_connection_policy.default ] } resource "google_network_connectivity_service_connection_policy" "default" { name = "POLICY_NAME" location = "us-central1" service_class = "gcp-memorystore-redis" description = "my basic service connection policy" network = google_compute_network.producer_net.id psc_config { subnetworks = [google_compute_subnetwork.producer_subnet.id] } } resource "google_compute_subnetwork" "producer_subnet" { name = "SUBNET_ID" ip_cidr_range = "10.0.0.248/29" region = "us-central1" network = google_compute_network.producer_net.id } resource "google_compute_network" "producer_net" { name = "NETWORK_ID" auto_create_subnetworks = false }
次のように置き換えます。
- PROJECT_ID は、インスタンスのプロジェクト ID です。
- CLUSTER_ID は、作成する Memorystore for Redis Cluster インスタンスの ID です。ID は 1 ~ 63 文字にする必要があり、小文字、数字、ハイフンのみ使用できます。先頭は英小文字に、末尾は英小文字または数字にする必要があります。
- POLICY_NAME は、プロジェクトの Private Service Connect サービス接続ポリシーに選択した名前です。サービス接続ポリシーの詳細については、ネットワーキングをご覧ください。
- SUBNET_ID は、この例で作成されたサブネットの選択した ID であり、Memorystore クラスタで使用されます。
- NETWORK_ID は、この例で作成されたネットワークの選択した ID であり、Memorystore クラスタで使用されます。
terraform init
を実行します。terraform plan
を実行します。terraform apply
を実行します。インスタンスと同じ承認済みネットワークを使用する Compute Engine VM がまだない場合は、作成してから Linux VM を使用したクイックスタートに沿って接続します。
apt-get
を使用してtelnet
をインストールします。sudo apt-get install telnet
ターミナルで次のように入力して、インスタンスの IP アドレスに telnet で接続します。VARIABLES は、適切な値に置き換えてください。
telnet CLUSTER_DISCOVERY_ENDPOINT_IP_ADDRESS CLUSTER_DISCOVERY_ENDPOINT_PORT_NUMBER
telnet セッションで、次のようにいくつかの Redis コマンドを入力します。
次のように入力します。
PING
結果:
PONG
- Terraform 構成ファイルから
google_redis_instance
リソースを削除します。 - Terraform
init
、plan
、apply
を実行して Redis リソースを破棄します。 - このクイックスタート用に作成した Compute Engine VM を削除します。
Memorystore 用に Terraform を構成する
このセクションでは、Memorystore for Redis Cluster インスタンスの作成に必要な 5 つの Terraform リソースの例を示します。
これらの Terraform リソースを追加する手順は次のとおりです。
Terraform 構成ファイルをデプロイする
Compute Engine VM からインスタンスに接続する
次に、新しく作成した Memorystore for Redis Cluster インスタンスに接続します。
インスタンスの承認済みネットワークを使用する任意の Compute Engine VM からインスタンスに接続できます。
クリーンアップ
このクイックスタートで使用したリソースに対して Google Cloud アカウントに課金されないようにするには、次の手順で Redis インスタンスを削除します。
複数の VPC ネットワークを設定するように Terraform を構成する
このページの各セクションでは、Memorystore for Redis Cluster インスタンスを作成し、Virtual Private Cloud(VPC)ネットワークで接続を設定する例を示します。Terraform を使用して複数の VPC ネットワークで接続を設定する手順と例については、google_redis_cluster_user_created_connections ページをご覧ください。
次のステップ
- インスタンスの作成について学習する。
- 高可用性とレプリカについて学習する。
- Memorystore for Redis Cluster のベスト プラクティスの詳細を確認する。