使用Terraform创建ElasticCache,并使用EC2进行连接测试

在使用的产品中有一个场景,想要使用缓存,所以引入了ElasticCache(Redis),只是作为备忘记录。

前提 tí)

    • AWS CLI設定済み

 

    Terraform設定済み

公式文件

    • Terraform

 

    EC2からElasticCacheに接続

使用Terraform启动ElasticCache

用Terraform创建弹性缓存集群。

provider "aws" {
  profile    = "default"
  region     = "ap-northeast-1"
}

resource "aws_elasticache_cluster" "redis-test" {
  cluster_id           = "your-redis-cache-name"
  engine               = "redis"
  node_type            = "cache.t2.micro"
  num_cache_nodes      = 1
  parameter_group_name = "default.redis5.0"
  engine_version       = "5.0.5"
  port                 = 6379
  security_group_ids   = ["your-sg-name"]
}

请把各个名称替换成对应的名称。安全组需要指定与使用ElasticCache的资源相同的安全组ID。由于这里是从EC2使用,所以要指定EC2正在使用的安全组ID。

下一步将使用此模板创建资源。

    作られるリソースを確認
$ terraform plan 
    実際にリソースを作成
$ terraform apply

执行命令后,您将被询问是否要创建实际资源,您可以输入”是”(yes)或”否”(no)。几分钟后,将创建所需资源。

确认EC2能否与Redis通信。

下一步,我们将使用SSH连接到EC2,并尝试访问Redis。

设置安全组

为了访问Redis,需要开放端口。

Screen Shot 2019-11-26 at 21.10.22 copy.png

安装RedisCLI到EC2

    Redis CLIをインストールするためにパッケージをダウンロードします。確認のプロンプトが表示されるので”y”を入力します。
$ sudo yum install gcc
    redis-cli ユーティリティをダウンロードし、コンパイルします。
$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make

登录至Redis CLI

    下記コマンドをElasticCacheのノードのエンドポイントに置き換えて実行します。
$ ~/redis-stable/src/redis-cli -c -h mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com -p 6379
    正しく設定できていればRedis CLIに入れるはずです。
redis mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 6379>