説明
Amazon Redshift クラスターの既定ポートは 5439 です。よく知られた番号はサービス識別の手掛かりになりますが、それ自体が公開アクセスや認証の迂回を意味するわけではありません。別の番号でも、セキュリティグループによる制御とデータベース認証が必要です。
想定される影響
- 広すぎるネットワーク許可は、不要な接続や認証への攻撃を招く可能性があります。
- ポート変更に頼ると、実際のアクセス制御の不足を見逃すおそれがあります。
対処方法
公開アクセス設定、ルーティング、セキュリティグループを確認して必要なクライアントだけを許可し、認証と暗号化を維持してください。別のポートを選ぶ場合はノードタイプの対応範囲を確認し、接続情報とネットワークルールも更新してください。
例
単一ノード DC2 クラスターのポート設定を比較します。パスワードは例示用であり、実際のデプロイでは別途管理してください。ネットワーク構成も省略しています。
変更前
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"
publicly_accessible = false
}
変更後
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"
publicly_accessible = false
port = 1150
}
最初は既定の 5439 を使い、変更後は 1150 を明示します。どちらも公開アクセスを無効にしていますが、実際の接続許可は VPC の経路とセキュリティグループを併せて確認してください。