Launch an instance on your Outpost - AWS Outposts

Launch an instance on your Outpost

After your Outpost is installed and the compute and storage capacity is available for use, you can get started by creating resources. Resources available to you differ based on the form factor of your Outpost.

Outpost racks

Launch Amazon EC2 instances and create Amazon EBS volumes on your Outpost using an Outpost subnet. You can also create snapshots of Amazon EBS volumes on your Outpost. For more information applicable to Linux, see Local Amazon EBS snapshots on AWS Outposts in the Amazon EC2 User Guide for Linux Instances. For more information applicable to Windows, see Local Amazon EBS snapshots on AWS Outposts in the Amazon EC2 User Guide for Windows Instances.

Outpost servers

Launch Amazon EC2 instances that use instance store. You can also use EBS direct APIs to back up instances to Amazon EBS in the AWS Region. For more information applicable to Linux, see EBS direct APIs in the Amazon EC2 User Guide for Linux Instances. For more information applicable to Windows, see EBS direct APIs in the Amazon EC2 User Guide for Windows Instances.

For more information, see AWS resources on Outposts.

Prerequisite

You must have an Outpost installed at your site. For more information, see Create an Outpost and order Outpost capacity.

Step 1: Create a subnet

You can add Outpost subnets to any VPC in the AWS Region for the Outpost. When you do so, the VPC also spans the Outpost. For more information, see Network components.

Note

If you are launching an instance in an Outpost subnet that has been shared with you, skip to Step 2: Launch an instance on the Outpost. For more information about sharing subnets, see Sharing a subnet in the Amazon Virtual Private Cloud User Guide.

To create an outpost subnet

  1. Open the AWS Outposts console at https://console.aws.amazon.com/outposts/.

  2. On the navigation pane, choose Outposts.

  3. Select the Outpost, and then choose Actions, Create subnet.

  4. Select the VPC and specify an IP address range for the subnet.

  5. Choose Create.

Step 2: Launch an instance on the Outpost

You can launch EC2 instances in the Outpost subnet that you created, or in an Outpost subnet that has been shared with you. Security groups control inbound and outbound VPC traffic for instances in an Outpost subnet, just as they do for instances in an Availability Zone subnet. Local network interfaces do not use security groups. For more information, see Security groups and local network interfaces. To connect to an EC2 instance in an Outpost subnet, you can specify a key pair when you launch the instance, just as you do for instances in an Availability Zone subnet.

Considerations for servers

If your Outpost is a server form factor and your application requires storage, use an AMI with enough instance store in the root volume to meet the needs of your application. For more information, see Instance store volumes in the Amazon EC2 User Guide for Linux Instances. For Windows, see Instance store volumes in the Amazon EC2 User Guide for Windows Instances.

Consider the following information about instance store:

  • You must use an instance type with a single instance store volume. Instances types with multiple instance store volumes are not supported.

  • If want to add additional volumes of instance store, add them at launch. You can add instance store only when you launch an instance. For more information, see Step 4: Add Storage in the Amazon EC2 User Guide for Linux Instances. For Windows, see Step 4: Add Storage in the Amazon EC2 User Guide for Windows Instances.

Considerations for racks

If your Outpost is a rack, you can use placement groups and customer-owned IP (CoIP) address pools. If your Outpost has been configured to use CoIP address pool, you must map an Elastic IP address to any instance you launch before you configure local connectivity. For more information, see Step 3: Allocate and associate a customer-owned IP address with the instance.

You can launch an instance as follows:

AWS Outposts console

To launch an instance in your Outpost subnet

  1. Open the AWS Outposts console at https://console.aws.amazon.com/outposts/.

  2. On the navigation pane, choose Outposts.

  3. Select the Outpost, and then choose Actions, View details.

  4. On the Outpost summary page, choose Launch instance. You are redirected to the Amazon EC2 console.

  5. Follow the steps in the Amazon EC2 Launch Instance Wizard to launch the instance in your Outpost subnet. If want to add additional volumes of instance store, use step 4 in the wizard. You can only add instance store during instance launch.

    For more information applicable to Linux, see Launching an instance using the Launch Instance Wizard in the Amazon EC2 User Guide for Linux Instances. For more information applicable to Windows, see Launching an instance using the Launch Instance Wizard in the Amazon EC2 User Guide for Windows Instances.

AWS CLI

To launch an instance in your Outpost subnet

  • Use run-instances to launch an instance in your Outpost subnet. For more information about launching an instance, see run-instances in the AWS CLI Command Reference.

    Example

    aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type c5.large --key-name MyKeyPair --security-group-ids sg-1a2b3c4d --subnet-id subnet-6e7f829e

Working with placement groups

Outpost racks support placement groups. Use placement groups to influence how the EC2 service should attempt to place groups of interdependent instances you launch on underlying hardware. You can use different strategies to meet the needs of different workloads. On Outposts, you can use cluster, partition, or spread strategies just as you would in the Region. However, the Outpost equipment at your Outpost site must include multiple racks to take advantage of a spread strategy.

For more information about working with placement groups, see Placement groups in the Amazon EC2 User Guide for Linux Instances. For Windows, see Placement groups in the Amazon EC2 User Guide for Windows Instances.

Step 3: Allocate and associate a customer-owned IP address with the instance

Take one of the following actions:

  • If you have an Outpost server, skip this step and configure local connectivity.

  • If you have an Outpost rack, you can allocate an customer-owned IP address and assign it to the instance as follows:

Amazon EC2 console

To allocate and associate an Elastic IP address with the instance

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, choose Elastic IPs.

  3. Choose Allocate new address.

  4. For Network Border Group, select the location from which the IP address is advertised.

  5. For Public IPv4 address pool, choose Customer owned IPv4 address pool.

  6. For Customer owned IPv4 address pool, select the pool that you configured.

  7. Choose Allocate, and close the confirmation screen.

  8. In the navigation pane, choose Elastic IPs.

  9. Select an Elastic IP address, and choose Actions, Associate address.

  10. Select the instance from Instance, and then choose Associate.

AWS CLI

To allocate and associate an Elastic IP address with the instance

  1. Use describe-coip-pools to retrieve information about your specified customer-owned address pools. For more information, see describe-coip-pools in the AWS CLI Command Reference.

    Note the PoolId return value.

    Example

    aws ec2 describe-coip-pools

    Output

    { "CoipPools":[ { "Poolid": "ipv4pool-coip-0abcdef0123456789", "Poolcidrs": [ "192.168.0.0/16" ], LocalGatewayRouteTableId": "lgw-rtb-0abcdef0123456789" } ] }
  2. Use allocate-address to allocate an Elastic IP address. For more information, see allocate-address in the AWS CLI Command Reference.

    Use the customer-owned-ipv4-pool option with the PoolId returned in the previous step.

    Example

    aws ec2 allocate-address--address 192.0.2.128 --customer-owned-ipv4-pool ipv4pool-coip-0abcdef0123456789

    Output

    { "CustomerOwnedIp": "192.0.2.128", "AllocationId": "eipalloc-02463d08ceEXAMPLE", "CustomerOwnedIpv4Pool": "ipv4pool-coip-0abcdef0123456789", }
  3. Use associate-address to associate the Elastic IP address with the Outpost instance. For more information, see associate-address in the AWS CLI Command Reference.

    Example

    aws ec2 associate-address --allocation-id eipalloc-02463d08ceEXAMPLE --network-interface-id eni-1a2b3c4d

    Output

    { "AssociationId": "eipassoc-02463d08ceEXAMPLE", }

If you want to use a shared customer-owned IP address pool, the pool must be shared before you start the configuration. For information about how to share a customer-owned IPv4 addresses, see Sharing Your Resources in the AWS RAM User Guide.

Step 4: Configure local connectivity

Connectivity configurations differ based on the form factor of the Outpost. Use the procedure that matches the form factor at your Outpost site.

Configure connectivity as follows.

Racks

You must explicitly associate a VPC with the local gateway route table to provide connectivity between the VPC and your local network. When you create a route, you can specify IP addresses, internet gateways, local gateways, virtual private gateways, and peering connections as destinations.

To configure routing for racks

  1. Associate the VPC with the local gateway route table as follows:

    1. On the navigation pane, choose Local gateway route tables.

    2. Select the route table, and then choose Actions, Associate VPC.

    3. For VPC, select the VPC to associate with the local gateway route table.

    4. Choose Associate VPC.

  2. For the instance in your Outpost subnets to communicate with the local network, you must add a route with the local gateway as the next hop target to your Outpost's VPC subnet route table.

    1. Open the Amazon VPC console at https://console.aws.amazon.com/vpc/.

    2. In the navigation pane, choose Route Tables.

    3. Select the route table associated with the subnet, and then choose Actions, Edit routes.

    4. Choose Add route.

    5. For Destination, enter the CIDR for the local network.

    6. For Target, select the ID of the local gateway.

    7. Choose Save routes.

Servers

You must configure the local network interface on the instance with an IP address on the local network. Typically, you do this with DHCP. For information, see the documentation for your operating system. Search for information about configuring additional network interfaces and secondary IP addresses.

To describe a network interface using the console

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, choose Network Interfaces.

  3. To view the details page for a network interface, select the ID of the network interface. Alternatively, to view information without leaving the network interfaces page, select the check box for the network interface.

For more information, applicable to Linux, see Work with network interfaces in the Amazon EC2 User Guide for Linux Instances. For more information, applicable to Windows, see Work with network interfaces in the Amazon EC2 User Guide for Windows Instances.

Step 5: Test the connectivity

You can test connectivity by using the appropriate use cases, as follows:

  • Test the connectivity from your local network to the Outpost. From a computer in your local network, take one of the following actions depending on the form factor of the Outpost you want to test.

    • For racks, run the ping command to the Outpost instance's customer-owned IP address.

    • For servers, run the ping command to the Outpost instance's local network interface IP address.

    ping 172.16.0.128 Pinging 172.16.0.128 Reply from 172.16.0.128: bytes=32 time=<1ms TTL=128 Reply from 172.16.0.128: bytes=32 time=<1ms TTL=128 Reply from 172.16.0.128: bytes=32 time=<1ms TTL=128 Ping statistics for 172.16.0.128 Packets: Sent = 3, Received = 3, Lost = 0 (0% lost) Approximate round trip time in milliseconds Minimum = 0ms, Maximum = 0ms, Average = 0ms
  • Test the connectivity from an Outpost instance to your local network.

    Depending on your operating system, use ssh or rdp to connect to the private IP address of your Outpost instance. For information about connecting to a Linux instance, see Connect to your Linux instance in the Amazon EC2 User Guide for Linux Instances. For information about connecting to a Windows instance, see Connect to your Windows instance in the Amazon EC2 User Guide for Windows Instances.

    After the Outpost instance is running, run the ping command to an IP address of a computer in your local network. In the following example, the IP address is 172.16.0.130.

    ping 172.16.0.130 Pinging 172.16.0.130 Reply from 172.16.0.130: bytes=32 time=<1ms TTL=128 Reply from 172.16.0.130: bytes=32 time=<1ms TTL=128 Reply from 172.16.0.130: bytes=32 time=<1ms TTL=128 Ping statistics for 172.16.0.130 Packets: Sent = 3, Received = 3, Lost = 0 (0% lost) Approximate round trip time in milliseconds Minimum = 0ms, Maximum = 0ms, Average = 0ms
  • Test connectivity between the AWS Region and the Outpost. Use run-instance to launch an instance in the subnet in the AWS Region. For more information, see run-instances in the AWS CLI Command Reference.

    Example

    aws ec2 run-instances \ --image-id ami-abcdefghi1234567898 \ --instance-type c5.large \ --key-name MyKeyPair \ --security-group-ids sg-1a2b3c4d123456787 \ --subnet-id subnet-6e7f829e123445678

    After the instance is running, perform the following operations:

    1. Get the AWS Region instance private IP address, for example 10.0.0.5. This information is available in the Amazon EC2 console on the instance detail page.

    2. Depending on your operating system, use ssh or rdp to connect to the private IP address of your Outpost instance.

    3. Run the ping command from your Outpost instance to the AWS Region instance IP address. In the following example, the IP address is 10.0.0.5.

      ping 10.0.0.5 Pinging 10.0.0.5 Reply from 10.0.0.5: bytes=32 time=<1ms TTL=128 Reply from 10.0.0.5: bytes=32 time=<1ms TTL=128 Reply from 10.0.0.5: bytes=32 time=<1ms TTL=128 Ping statistics for 10.0.0.5 Packets: Sent = 3, Received = 3, Lost = 0 (0% lost) Approximate round trip time in milliseconds Minimum = 0ms, Maximum = 0ms, Average = 0ms