LocalStackでRedshiftのAPIを試す
Amazon Redshift をローカル起動できると聞いて実験したけど、あくまでAPIの動作確認だけで、DBクライアントを使った接続などは出来ない模様。
Welcome to LocalStack Docs | Docs
Redshift | Docs
docker-compose で起動
code:compose.yml
services:
localstack:
image: localstack/localstack:latest
environment:
- SERVICES=s3,redshift
- PERSISTENCE=1
- DEBUG=1
ports:
- "4566:4566"
- "8080:8080"
volumes:
- localstack_data:/var/lib/localstack
- /var/run/docker.sock:/var/run/docker.sock
volumes:
localstack_data:
awscliのローカル版 awscli-local をインストール
code:shell
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
$ pip install awscli-local
Redshiftデータベースを作成
code:shell
awslocal redshift create-cluster \
--cluster-identifier c1 \
--db-name db1 \
--master-username user \
--master-user-password pass \
--node-type n1
Redshiftデータベースが作成されたか確認
code:json
{
"Cluster": {
"ClusterIdentifier": "c1",
"NodeType": "n1",
"ClusterStatus": "creating",
"MasterUsername": "user",
"DBName": "db1",
"Endpoint": {
"Address": "c1.539fd7894011.us-east-1.redshift.amazonaws.com",
"Port": 5439
},
"ClusterCreateTime": "2025-09-28T06:31:36.601574+00:00",
"AutomatedSnapshotRetentionPeriod": 1,
"ClusterSecurityGroups": [
{
"ClusterSecurityGroupName": "Default",
"Status": "active"
}
],
"VpcSecurityGroups": [],
"ClusterParameterGroups": [
{
"ParameterGroupName": "default.redshift-1.0",
"ParameterApplyStatus": "in-sync"
}
],
"AvailabilityZone": "us-east-1a",
"PreferredMaintenanceWindow": "Mon:03:00-Mon:03:30",
"PendingModifiedValues": {},
"ClusterVersion": "1.0",
"AllowVersionUpgrade": true,
"NumberOfNodes": 1,
"PubliclyAccessible": false,
"Encrypted": false,
"Tags": [],
"EnhancedVpcRouting": false,
"IamRoles": [],
"TotalStorageCapacityInMegaBytes": 0
}
}
あくまでAPIの動作確認だけで、DBクライアントを使った接続などは出来ない模様。