December 10, 2020 – Post updated for the extension of the T4g free-trial until March 31, 2021. During the free-trial period, customers who run a t4g.micro instance will automatically get 750 free hours per month deducted from their bill during each month. T4g free-trial will be available in addition to the existing AWS Free-Tier on t2.micro/t3.micro. Customers who have exhausted their t2.micro (or t3.micro, depending on the region) free-tier usage can still benefit from T4g free-trial. More info in the Amazon EC2 FAQs.
Two years ago Amazon Elastic Compute Cloud (Amazon EC2) T3 instances were first made available, offering a very cost effective way to run general purpose workloads. While current T3 instances offer sufficient compute performance for many use cases, many customers have told us that they have additional workloads that would benefit from increased peak performance and lower cost.
Today, we are launching T4g instances, a new generation of low cost burstable instance type powered by AWS Graviton2, a processor custom built by AWS using 64-bit Arm Neoverse cores. Using T4g instances you can enjoy a performance benefit of up to 40% at a 20% lower cost in comparison to T3 instances, providing the best price/performance for a broader spectrum of workloads.
T4g instances are designed for applications that don’t use CPU at full power most of the time, using the same credit model as T3 instances with unlimited mode enabled by default. Examples of production workloads that require high CPU performance only during times of heavy data processing are web/application servers, small/medium data stores, and many microservices. Compared to previous generations, the performance of T4g instances makes it possible to migrate additional workloads such as caching servers, search engine indexing, and e-commerce platforms.
T4g instances are available in 7 sizes providing up to 5 Gbps of network and up to 2.7 Gbps of Amazon Elastic Block Store (EBS) performance:
Name | vCPUs | Baseline Performance/vCPU | CPU Credits Earned/Hour | Memory |
t4g.nano | 2 | 5% | 6 | 0.5 GiB |
t4g.micro | 2 | 10% | 12 | 1 GiB |
t4g.small | 2 | 20% | 24 | 2 GiB |
t4g.medium | 2 | 20% | 24 | 4 GiB |
t4g.large | 2 | 30% | 36 | 8 GiB |
t4g.xlarge | 4 | 40% | 96 | 16 GiB |
t4g.2xlarge | 8 | 40% | 192 | 32 GiB |
Free Trial
To make it easier to develop, test, and run your applications on T4g instances, all AWS customers are automatically enrolled in a free trial on the t4g.micro size. Starting September 2020 until March 31st 2021, you can run a t4g.micro instance and automatically get 750 free hours per month deducted from your bill, including any CPU credits during the free 750 hours of usage. The 750 hours are calculated in aggregate across all regions. For details on terms and conditions of the free trial, please refer to the EC2 FAQs.
During the free trial, have a look at this getting started guide on using the Arm-based AWS Graviton processors. There, you can find suggestions on how to build and optimize your applications, using different programming languages and operating systems, and on managing container-based workloads. Some of the tips are specific for the Graviton processor, but most of the content works generally for anyone using Arm to run their code.
Using T4g Instances
You can start an EC2 instance in different ways, for example using the EC2 console, the AWS Command Line Interface (CLI), AWS SDKs, or AWS CloudFormation. For my first T4g instance, I use the AWS CLI:
1 2 3 4 5 |
$ aws ec2 run-instances \ --instance-type t4g.micro \ --image-id ami-09a67037138f86e67 \ --security-groups MySecurityGroup \ --key-name my-key-pair |
The Amazon Machine Image (AMI) I am using is based on Amazon Linux 2. Other platforms are available, such as Ubuntu 18.04 or newer, Red Hat Enterprise Linux 8.0 and newer, and SUSE Enterprise Server 15 and newer. You can find additional AMIs in the AWS Marketplace, for example Fedora, Debian, NetBSD, CentOS, and NGINX Plus. For containerized applications, Amazon Elastic Container Service (Amazon ECS) and Amazon Elastic Kubernetes Service (EKS) optimized AMIs are available as well.
The security group I selected gives me SSH access to the instance. I connect to the instance and do a general update:
1 |
$ sudo yum update -y |
Since the kernel has been updated, I reboot the instance.
I’d like to set up this instance as a development environment. I can use it to build new applications, or to recompile my existing apps to the 64-bit Arm architecture. To install most development tools, such as Git, GCC, and Make, I use this group of packages:
1 |
$ sudo yum groupinstall -y "Development Tools" |
AWS is working with several open source communities to drive improvements to the performance of software stacks running on AWS Graviton2. For example, you can see our contributions to PHP for Arm64 in this post.
Using the latest versions helps you obtain maximum performance from your Graviton2-based instances. The amazon-linux-extras
command enables new versions for some of my favorite programming environments:
1 |
$ sudo amazon-linux-extras enable golang1.11 corretto8 php7.4 python3.8 ruby2.6 |
The output of the amazon-linux-extras
command tells me which packages to install with yum
:
1 2 3 4 |
$ yum clean metadata $ sudo yum install -y golang java-1.8.0-amazon-corretto \ php-cli php-pdo php-fpm php-json php-mysqlnd \ python38 ruby ruby-irb rubygem-rake rubygem-json rubygems |
Let’s check the versions of the tools that I just installed:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ go version go version go1.13.14 linux/arm64 $ java -version openjdk version "1.8.0_265" OpenJDK Runtime Environment Corretto-8.265.01.1 (build 1.8.0_265-b01) OpenJDK 64-Bit Server VM Corretto-8.265.01.1 (build 25.265-b01, mixed mode) $ php -v PHP 7.4.9 (cli) (built: Aug 21 2020 21:45:13) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies $ python3.8 -V Python 3.8.5 $ ruby -v ruby 2.6.3p62 (2019-04-16 revision 67580) [aarch64-linux] |
It looks like I am ready to go! Many more packages are available with yum
, such as MariaDB and PostgreSQL. If you’re interested in databases, you might also want to try the preview of Amazon RDS powered by AWS Graviton2 processors.
Available Now
T4g instances are available today in US East (N. Virginia, Ohio), US West (Oregon), Asia Pacific (Tokyo, Mumbai), Europe (Frankfurt, Ireland).
You now have a broad choice of Graviton2-based instances to better optimize your workloads for cost and performance: low cost burstable general-purpose (T4g), general purpose (M6g), compute optimized (C6g) and memory optimized (R6g) instances. Local NVMe-based SSD storage options are also available.
You can use the free trial to develop new applications, or migrate your existing workloads to the AWS Graviton2 processor. Let me know how that goes!