Terraform を使用して Memorystore for Redis インスタンスを作成する

Memorystore for Redis インスタンスを作成して接続し、削除する方法を学習します。

このクイックスタートでは、Terraform 用の Google Cloud Platform プロバイダを使用します。

始める前に

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Memorystore for Redis API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Memorystore for Redis API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  10. まだインストールしていない場合は、Google Cloud SDK をインストールします。

    プロンプトが表示されたら、選択または作成したプロジェクトを選択します。

  11. Google Cloud SDK がすでにインストールされている場合は、更新します。

    gcloud components update
  12. Memorystore for Redis API を有効にします。
    Memorystore for Redis
  13. Memorystore リソースを追加できる Terraform ファイルを用意します。Google Cloud で Terraform を設定する手順については、Google Cloud プロバイダ スタートガイドをご覧ください。

必要なロール

Memorystore for Redis インスタンスの作成に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Memorystore for Redis インスタンスを作成する

このセクションでは、us-central1 リージョンに配置され、ベーシック ティアの 2 GB の Memorystore for Redis インスタンスを作成します。階層の詳細については、Redis の階層の機能をご覧ください。

  1. Terraform 構成ファイルに以下のリソースを追加します。

    resource "google_redis_instance" "my_memorystore_redis_instance" {
      name           = "myinstance"
      tier           = "BASIC"
      memory_size_gb = 2
      region         = "us-central1"
      redis_version  = "REDIS_6_X"
    }
    
  2. 次の出力値を Terraform 構成ファイルに追加して、インスタンスの IP アドレスを出力します。このアドレスは、インスタンスに接続するために必要です。

    output "host" {
     description = "The IP address of the instance."
     value = "${google_redis_instance.my_memorystore_redis_instance.host}"
    }
    
  3. terraform init コマンドを実行します。

  4. terraform plan コマンドを実行して、作成されるインスタンスを確認します。

  5. インスタンスを作成するには、terraform apply コマンドを実行します。

Compute Engine VM から Memorystore for Redis インスタンスに接続する

Memorystore for Redis インスタンスには、インスタンスの承認済みネットワークを使用する任意の Compute Engine VM からサポートされている RFC 1918 IP アドレス]をクリックします。

  1. インスタンスと同じ承認済みネットワークを使用する Compute Engine VM がない場合は、作成して SSH を使用して VM に接続します。これを行うには、Compute Engine で Linux VM インスタンスを作成するの手順に沿って操作します。

  2. apt-get を使用して telnet をインストールします。

    sudo apt-get install telnet
    
  3. ターミナルから、インスタンスの IP アドレスに telnet で接続します。VARIABLES は適切な値に置き換えます。

    telnet INSTANCE_IP_ADDRESS 6379
    

    インスタンスに接続できる場合、コマンドは次の結果を返します。

    Trying INSTANCE_IP_ADDRESS…
    Connected to INSTANCE_IP_ADDRESS
    
  4. telnet セッションで、次のようにいくつかの Redis コマンドを入力します。

    次のように入力します。

    PING
    

    結果:

    PONG
    

    入力

    SET HELLO WORLD
    

    結果:

    +OK
    

    次のように入力します。

    GET HELLO
    

    結果:

    $5
    WORLD
    

クリーンアップ

このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の操作を行います。

  1. Terraform 構成ファイルから google_redis_instance リソースを削除します。
  2. リソースを削除するには、terraform initterraform planterraform apply コマンドを実行します。
  3. (省略可)このクイックスタート用に Compute Engine VM を作成した場合は、それを削除します。

次のステップ