Walkthrough
From a laptop with AWS CLI profile sandbox and Terraform. Region
ap-southeast-2.
On this page
Prerequisites
- AWS CLI + Session Manager plugin
- Terraform
- Docker is not required on the laptop; tasks pull public GHCR images
Clone
git clone git@github.com:jajera/seiscomp-ecs-lab.git
cd seiscomp-ecs-lab
export AWS_PROFILE=sandbox AWS_DEFAULT_REGION=ap-southeast-2 AWS_PAGER=""
Create
./scripts/ecs-up.sh
That script:
- Reads your public IP for GUI RDP
/32 terraform applywithdeploy_services=false(VPC, NAT, endpoints, RDS, EFS, IAM, Cloud Map)terraform applywithdeploy_services=true(Fargate tasks, internal FDSNWS ALB, GUI in a public subnet with an Elastic IP)
Fargate and the GUI instance pull ghcr.io/platformfuzz/seiscomp-*. There is no
laptop gsm build.
Prove
./scripts/ecs-prove.sh
That waits until Fargate runningCount matches desiredCount. Inventory import
on scmaster can take a few minutes. Then Prove
and Desktop.
Connect from Windows (no AWS CLI)
Remote Desktop to the GUI Elastic IP.
- Open Remote Desktop Connection (
mstsc). - Computer: Terraform output
gui_public_ip(TCP 3389). - User:
sysop. - Session type: Xorg.
- Accept the self-signed certificate warning.
Password (from a machine that does have AWS CLI):
aws ssm get-parameter --name /seiscomp-ecs-lab/sysop-rdp-password \
--with-decryption --query Parameter.Value --output text
If your public IP changed, re-apply with the new /32 as operator_cidr so the
GUI security group allows 3389.
Internal FDSNWS is only reachable from inside the VPC (GUI or a task): the ALB DNS on port 8080.
GUI shell (optional, AWS CLI):
IID=$(terraform -chdir=aws/ecs output -raw gui_instance_id)
aws ssm start-session --target "$IID"