説明
ノードベースのElastiCacheクラスターは、サブネットグループを使ってVPCのサブネットを選びます。明示しない場合はデフォルトVPCが使われることがあり、省略しただけでVPC外に配置されるわけではありません。
想定される影響
意図せずデフォルトネットワークを使うと、キャッシュへのアクセス範囲やアプリケーションの接続が設計と異なる場合があります。
対処方法
subnet_group_nameに意図したVPCのサブネットグループを指定し、セキュリティグループで必要なアプリケーションのアクセスだけを許可してください。
例
以下はサブネットグループの選択を示すMemcachedの設定例です。変数には実際に使用するグループ名を指定してください。
変更前
hcl
resource "aws_elasticache_cluster" "example" {
cluster_id = "cluster-example"
engine = "memcached"
node_type = "cache.m4.large"
num_cache_nodes = 2
parameter_group_name = aws_elasticache_parameter_group.default.id
port = 11211
}
変更後
hcl
resource "aws_elasticache_cluster" "example" {
cluster_id = "cluster-example"
engine = "memcached"
node_type = "cache.m4.large"
num_cache_nodes = 2
parameter_group_name = aws_elasticache_parameter_group.default.id
port = 11211
subnet_group_name = var.subnet_group_name
}