説明
Redshiftのプロビジョニング済みクラスターでは、サブネットグループによって配置先のVPCとサブネットが決まります。セキュリティグループを指定しないとデフォルトのVPCセキュリティグループが使われる場合があるため、実際の接続許可を確認する必要があります。
想定される影響
ネットワーク選択をデフォルトに任せると、データへのアクセス経路や許可する接続元が運用上の意図と異なるおそれがあります。
対処方法
cluster_subnet_group_nameと同じVPCのvpc_security_group_idsを指定してください。パブリックアクセス設定、ルーティング、許可ルールも確認してください。
例
以下はネットワークを明示的に選ぶ部分の例です。VPCへの配置だけで非公開アクセスが保証されるわけではありません。パスワードは例示用のため、実際のデプロイでは別途管理してください。
変更前
hcl
resource "aws_redshift_cluster" "example" {
cluster_identifier = "tf-redshift-cluster"
database_name = "mydb"
master_username = "foo"
master_password = "Mustbe8characters"
node_type = "dc2.large"
cluster_type = "single-node"
}
変更後
hcl
resource "aws_redshift_cluster" "example" {
cluster_identifier = "tf-redshift-cluster"
database_name = "mydb"
master_username = "foo"
master_password = "Mustbe8characters"
node_type = "dc2.large"
cluster_type = "single-node"
vpc_security_group_ids = [aws_security_group.redshift.id]
cluster_subnet_group_name = aws_redshift_subnet_group.redshift_subnet_group.id
}