For the complete documentation index, see llms.txt. This page is also available as Markdown.

launch-instance

Provision and launch a Rumi service instance into an existing Rumi network. The instance is attached to the network's service-worker security group and registered in the network's Route 53 hosted zone. Optionally, the network's jump server can be configured to reverse-proxy external traffic into the new instance via nginx.

Syntax

rumi cloud aws launch-instance \
  --profile <profile> \
  --network <network> \
  --key-pair <keypair> \
  --type <instance-type> \
  --name <name> \
  [options]

Options

Option
Short
Description
Default

--profile

-p

AWS profile to use

Required

--region

-r

AWS region

us-east-1

--network

-n

Name of the Rumi network to launch the instance into

Required

--key-pair

-k

The network's EC2 key pair

Required

--type

-t

EC2 instance type (e.g. t3.medium, m5.large)

Required

--name

-a

Short name of the instance

Required

--publicIP

-i

Assign a public IP to the instance

false

--zone

-z

Hosted zone to register the instance's DNS entry under

rumi.local

--nameInZone

-b

DNS name for the instance within the hosted zone

--name with - replaced by .

--additionalNamesInZone

-l

Comma-separated additional DNS names to register in the hosted zone, all pointing at this instance

null (none)

--vsize

-v

Size, in GiB, of the additional (non-boot) Rumi data volume

32

--service-port

-s

Port the service listens on on the instance. When provided, the jump server's nginx is configured to reverse-proxy to <instance>:<service-port>, and the jump security group is automatically opened for the proxy listen port.

0 (no proxy)

--proxy-server

-x

The nginx server_name to match on the jump server for this service. Only meaningful when --service-port is set.

_ (matches any host)

--proxy-port

-w

The port nginx listens on on the jump server for this service. Only meaningful when --service-port is set.

Same as --service-port

--additionalProxies

-q

Per-additional-name proxy specs aligned positionally with --additionalNamesInZone. Each entry is servicePort[/proxyServer[/proxyPort]] or empty for no proxy on that name. e.g. 8080,,8443/internal.example.com/443.

null (no additional-name proxies)

Reverse proxy via the jump server

When --service-port is provided, the CLI wires up the network's jump server to reverse-proxy traffic into the newly launched instance:

  1. The jump security group is opened for each distinct proxy listen port (idempotent — duplicates are tolerated).

  2. The post-launch script on the jump server appends an nginx server {} block that proxy_passes to the private DNS name of the instance on --service-port.

  3. nginx is restarted. The service is now reachable at <jump-server>:<proxy-port> (or via --proxy-server host-matching).

In this example: myapp.rumi.local serves on 80→8080, api.rumi.local on 443→9000, admin.rumi.local gets DNS only (no proxy), and metrics.rumi.local on 8443→8443 with server_name internal.example.com.

See Also

Last updated