Quack on WebAssembly
Quack on WebAssembly (WebAssembly에서의 Quack)
CloudFormation 스택
큐약 베이킹된(사전 구성된) public AMI(Ubuntu 기반)로 CloudFormation 스택을 초기화하는 예시 템플릿을 제공해요. 이 템플릿은 다음을 수행해요:
- DuckDB를 통해 Quack을 설치·로드하고, 무작위 토큰을 생성하고,
0.0.0.0:1294포트에서quack_serve를 실행한다. - nginx를 통해
0.0.0.0:1294와 들어오는:443포트 사이 프록시를 설정한다 - Let's Encrypt로 유효한 TLS 인증서를 얻는다
이 모든 것이 로컬 0.0.0.0:1294 포트를 HTTPS를 통해 public EC2 인스턴스 IP로 노출하게 해줘요.
출처: 문서
본문
템플릿은 https://duckdb-quack-ami.s3.us-east-1.amazonaws.com/quack.yaml에서 접근할 수 있고, (현재) 8개 리전의 이미지로 지원돼요:
us-east-1us-east-2us-west-1us-west-2eu-central-1eu-west-1ap-northeast-1ap-southeast-1
입력은 인스턴스 타입(기본 t3.micro)과 스택 이름(같은 org/리전에서 고유해야 함)뿐이에요.
템플릿은 https://github.com/duckdb/duckdb-quack-infra에서 유지 관리돼요.
Web UI로 배포
- https://console.aws.amazon.com/cloudformation/home#/stacks/quickcreate?templateURL=https://duckdb-quack-ami.s3.us-east-1.amazonaws.com/quack.yaml&stackName=my-duckdb-quack-demo 방문
- 로그인하고, 이름을 선택하고, 가능하면 인스턴스 클래스를 선택한 다음 Launch Stack 클릭.
이는 과금이 발생해요. 이후 스택 페이지를 확인하고 더 이상 관련 없는 스택은 삭제해야 해요.
aws CLI로 배포
us-east-2 리전에 my-quack-demo라는 이름으로 Quack 데모를 배포하려면:
aws cloudformation create-stack \
--stack-name my-quack-demo \
--template-url https://duckdb-quack-ami.s3.us-east-1.amazonaws.com/quack.yaml \
--region us-east-2
배포가 완료될 때까지 약 2분 기다려요 (이 명령은 블로킹입니다):
aws cloudformation wait stack-create-complete \
--stack-name my-quack-demo \
--region us-east-2
자동 생성된 출력을 확인해요:
aws cloudformation describe-stacks \
--stack-name my-quack-demo \
--region us-east-2 \
--query 'Stacks[0].Outputs' \
--output table
이제 관련 링크를 방문할 수 있어요. 그 링크는 방금 만든 quack 서버에 DuckDB-Wasm으로 연결하는 것을 인코딩해요.
삭제 (Destroy)
aws cloudformation delete-stack \
--stack-name my-quack-demo \
--region us-east-2
Web UI
AWS 웹 사용자 인터페이스에서 CloudFormation 스택의 상태를 보려면 CloudFormation 콘솔을 방문해요.
더 알아보기 (Learn more)
Quack 프로토콜의 전체 참조는 [Reference]({% link docs/current/quack/reference.md %}) 문서를 참고해요.