|
Amazon Web Services
ExpeDat and SyncDat software can be installed on AWS EC2
instances just like any other Linux or Windows system.
This article offers setup advice to help you get up and running on EC2 in just a few minutes.
Choosing an Instance Type
Very high throughput can be achieved with any instance type, even a micro instance.
Data should be stored on an EBS (Elastic Block Storage) filesystem or local instance-store. Amazon does not support direct file access to S3 buckets. Workarounds like "FUSE", which create the illusion of an S3 filesystem, create severe performance bottlenecks and are not recommended.
The I/O rating of an instance is more important than the number of compute units (ECUs). If you find that network throughput is less than expected, try switching to an instance with an I/O rating of at least "High".
To achieve consistently high performance, provision your storage as an EBS-Optimized volume.
An EC2 instance may experience severe performance limitations for several hours after changing an instance type, or mounting a new EBS volume.
CPU utilization can become a factor when handling large numbers of files or when inline compression is used. Use the EC2 instance monitoring tools to observe CPU utilization during heavy use. If 100% utilization is being reported, you may need an instance with more compute units (ECUs). The number of compute units per core will have a greater effect on performance than the number of cores.
Always use the EC2 instance monitoring tools to determine CPU utilization. Tools run within the virtual machine may not be accurate.
Performance will also be influenced by all of the factors which normally affect a computer system. See the ExpeDat performance documentation for details.
Firewall
When installing servedat on EC2, you will need to open UDP port 8080 in the firewall. This can be done by modifying the "Security Group" after the initial setup.
- In the EC2 management console, click "Security Groups".
- Check the group assigned to your EC2 instance.
- In the frame below, select the "Inbound" tab.
- In the "Create a new rule" menu, select "Custom UDP rule".
- Enter a port range of "8080" (assuming you are using the default ExpeDat or SyncDat server port).
- Click "Add Rule".
- Click "Apply Rule Changes"
For general information about firewalls, see Tech Note 0002.
Linux System Authentication
The default Linux AMI does not assign a password to user accounts. If you wish system users to authenticate to servedat, you must create a password for each.
While logged on as an administrative user, use the command "sudo passwd username". For example, to create a password for the default user account:
sudo passwd ec2-user
For general information about system user authentication, see the servedat "System Authentication" manual page.
Linux UDP Buffers
The linux kernel limits UDP buffers to sizes which are not appropriate for modern high-speed networks.
If you install the servedat server, it will automatically correct the buffer sizes each time the service starts.
To permanently correct the UDP buffer limit, add the following lines to /etc/sysctl.conf:
net.core.wmem_max=1048576
net.core.rmem_max=1048576
See Tech Note 0024 for details. Note that "/sbin/sysctl" is not in the path for the default "ec2-user" account, so you will need to explicitly type the full path of that command.
Network Speeds
Amazon does not guarantee any particular level of network speed, but the following guidelines generally apply:
- EC2 instances rated for "High" I/O will provide more consistent performance.
- EBS volumes which are configured as "EBS-Optimized" will provide more consistent performance.
- The fastest speeds are between instances within the same AWS region.
- Second fastest speeds are between instances in different AWS regions.
- Speeds to the Internet are the slowest and most variable.
Performance will also be influenced by all of the factors which normally affect a computer system. See the ExpeDat performance documentation for details.
License Binding
EC2 instances generally do not have persistent internal IP addresses or other host identifiers. For AWS EC2 deployments, MTP/IP may instead be bound to the Instance Identifier, in the form i-xxxxxxxx.
The Instance Identifier is persistent across reboots and stop/start cycles. If you terminate an instance or wish to migrate an MTP/IP license to a different instance, see the Migration instructions in Tech Note 0007.
|