Getting started¶
This page takes you from the AWS Marketplace listing to a working gateway: subscribe, launch the instance, connect, and send your first chat completion to the built-in mock model.
You need: an AWS account with permission to subscribe to AWS Marketplace products, launch EC2 instances and use AWS Systems Manager. To call the gateway from your workstation, you also need the AWS CLI with the Session Manager plugin.
1. Subscribe¶
Open the LiteLLM Proxy listing in AWS Marketplace, choose View purchase options, review the terms and subscribe. When the subscription is confirmed, choose Launch your software.
2. Launch the instance¶
On the EC2 launch page:
- Keep the instance type at t3.medium, or choose one with at least 4 GiB of memory.
- Under Configure storage, use an encrypted gp3 root volume of at least 20 GiB.
- Under Network settings, allow no inbound traffic. The gateway listens only on the instance itself, and Session Manager does not need an open port. If you also want SSH, allow port 22 from your administrative address range only. Keep outbound HTTPS open so the gateway can reach your model providers.
- Under Advanced details, choose an IAM instance profile that includes
the AWS managed policy
AmazonSSMManagedInstanceCore, and require IMDSv2. - Choose Launch instance.
3. Connect¶
In the EC2 console, select the instance, choose Connect, then Session Manager, then Connect. Or, from your workstation:
Switch to the ubuntu user:
4. Wait for first boot¶
On first boot the instance creates its certificate, master key and configuration, then starts the gateway. Wait for it to finish:
Both services report active when the gateway is up. It can take a little
longer before it answers requests.
5. Run the walkthrough¶
The image includes a script that checks the service and listener, the health endpoints, that a wrong key is refused, and an authenticated chat completion against the mock model:
It ends with SUSHI_CUSTOMER_DEMO_PASSED.
6. Send a chat completion¶
On the instance, call the mock model with the master key. The key is read from the root-only file and is not printed:
sudo bash -c 'curl -sS --cacert /var/lib/litellm-proxy/tls/cert.pem \
-H "Authorization: Bearer $(cat /var/lib/litellm-proxy/master.key)" \
-H "Content-Type: application/json" \
-d "{\"model\":\"smoke-mock\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}]}" \
https://127.0.0.1:4000/v1/chat/completions'
The reply is a standard chat.completion object whose message content is
sushi-litellm-proxy-smoke-ok.
Connect from your workstation¶
-
Copy the certificate to your workstation, so your client can trust it. It is public, but readable only by root and the service:
-
Read the master key once, for your own secret store:
-
On your workstation, start a port-forwarding session. Replace
<instance-id>and use the instance's region: -
Leave it running and point your OpenAI-compatible client at:
| Setting | Value |
|---|---|
| Base URL | https://localhost:4000/v1 |
| API key | the master key |
| CA certificate | the cert.pem you copied in step 1 |
| Model | smoke-mock, or a model name you add in Configuration |
For example, with curl:
curl -sS --cacert cert.pem \
-H "Authorization: Bearer <master-key>" \
-H "Content-Type: application/json" \
-d '{"model":"smoke-mock","messages":[{"role":"user","content":"hello"}]}' \
https://localhost:4000/v1/chat/completions
Trust the certificate, do not turn verification off
The certificate is self-signed for localhost and 127.0.0.1. Give your
client the copied cert.pem instead of disabling TLS verification.
Keep the master key out of tickets, chat and screen recordings.
Next, read Configuration to add your model providers.
Last updated October 13, 2026 · Suggest an improvement