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
--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:
The jump security group is opened for each distinct proxy listen port (idempotent — duplicates are tolerated).
The post-launch script on the jump server appends an nginx
server {}block thatproxy_passes to the private DNS name of the instance on--service-port.nginx is restarted. The service is now reachable at
<jump-server>:<proxy-port>(or via--proxy-serverhost-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