Zum Inhalt springen

Quack auf WebAssembly

CloudFormation-Stack

Wir stellen ein Beispiel-Template zum Initialisieren eines CloudFormation-Stacks bereit, basierend auf einem vorbereiteten öffentlichen AMI auf Ubuntu-Basis, das:

  • über DuckDB Quack installiert und lädt, ein zufälliges Token erzeugt und quack_serve auf dem Port 0.0.0.0:1294 ausführt.
  • über nginx einen Proxy zwischen 0.0.0.0:1294 und dem eingehenden Port :443 einrichtet
  • ein gültiges TLS-Zertifikat über Let’s Encrypt bezieht

Zusammen ermöglicht das, den lokalen Port 0.0.0.0:1294 über die öffentliche EC2-Instanz-IP per HTTPS bereitzustellen.

Das Template ist erreichbar unter https://duckdb-quack-ami.s3.us-east-1.amazonaws.com/quack.yaml und wird (derzeit) von Images für acht Regionen gestützt:

  • us-east-1
  • us-east-2
  • us-west-1
  • us-west-2
  • eu-central-1
  • eu-west-1
  • ap-northeast-1
  • ap-southeast-1

Einzige Eingaben sind der Instanztyp (Standard t3.micro) und der Name des Stacks (muss in derselben Organisation/Region eindeutig sein).

Das Template wird gepflegt unter https://github.com/duckdb/duckdb-quack-infra

Deployment über die Web-UI

  1. Besuchen Sie 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
  2. Melden Sie sich an, wählen Sie einen Namen, optional eine Instanzklasse, und klicken Sie auf Launch Stack.

Das verursacht Kosten. Prüfen Sie anschließend die Stack-Seite und löschen Sie Stacks, die Sie nicht mehr benötigen.

Deployment über die aws-CLI

Um eine Quack-Demo mit dem Namen my-quack-demo in der Region us-east-2 bereitzustellen, führen Sie aus:

Terminal window
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

Warten Sie etwa 2 Minuten, bis das Deployment abgeschlossen ist (dieser Befehl blockiert):

Terminal window
aws cloudformation wait stack-create-complete \
--stack-name my-quack-demo \
--region us-east-2

Die automatisch erzeugten Ausgaben abfragen:

Terminal window
aws cloudformation describe-stacks \
--stack-name my-quack-demo \
--region us-east-2 \
--query 'Stacks[0].Outputs' \
--output table

Nun können Sie den entsprechenden Link öffnen, der die Verbindung zum gerade erzeugten Quack-Server über DuckDB-Wasm kodiert.

Zerstören

Terminal window
aws cloudformation delete-stack \
--stack-name my-quack-demo \
--region us-east-2

Web-UI

Den Status Ihres CloudFormation-Stacks in der AWS-Weboberfläche sehen Sie in der CloudFormation-Konsole.