AWS Machine Image Setup Instructions
This guide will walk you through setting up an instance of the HTML/PDF to ZPL API Server in your private AWS cloud.
Step 1: Login to AWS console
Login to your AWS console, navigate to EC2 Instances, and click on Launch Instance.
Step 2: Configure the EC2 Instance
-
Name: Assign a name of your choice for the new EC2 instance.
-
AMI: Select the AMI shared with your account. Navigate to My AMIs, choose Shared with me, and select the
zpl-api
AMI. Contact support if the AMI is not present. -
Instance Type: Choose your instance type based on performance needs. The instance type
t3.medium
or larger is recommended. -
Key Pair (Login): Select an existing key pair, or choose Proceed without a key pair.
Note that logins are usually not required. You will only need a key pair if you plan on modifying any advanced settings.

- Network Settings:
Configure according to your infrastructure. Do not assign a public IP address.
Firewall & Security group settings: The API server is available via TCP port8000
. Create a new security group and adjust the firewall settings in a later step.

- Storage: The storage settings are automatically defaulted. It is not necessary to change these settings.
1x 40 GiB gp3 Root Volume

- Launch Instance:: Click on the Launch Instance button. The API server is now initializing and will be available within a few minutes.
Step 3: Adjust Security Group (Firewall Settings)
Adjust the newly created security group to allow connections on TCP port 8000
:
- Open the new instance, navigate to the Security tab, and click on the newly created Security Group.

- Click on Edit inbound rules.

- Add a rule to allow TCP connections on port 8000, according to your networking setup. For example, to allow connections from any IP address in the 10.0.0.0 - 10.255.255.255 range, add a source
10.0.0.0/8
.

Testing of the API Server
With the server up, you can test it by running a request from a bastion host:
# Replace IP_ADDRESS below with your server's IP
curl -X POST \
-H "Content-Type: application/json" \
-d '{ "width":"4", "height":"6", "html":"Hello World" }' \
http://IP_ADDRESS:8000/htmltozpl
