Skip to content

Commit 4a997db

Browse files
Updating m8i instances (#45)
* Updated policies.md * updated postgres.yaml * Updating m8i instances * terraform-docs: automated action * Fixing capacity reservation section --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent fe45e36 commit 4a997db

File tree

31 files changed

+72
-379
lines changed

31 files changed

+72
-379
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
## AWS VM module
1212

13-
Configuration in this directory creates an AWS VM (EC2 Instance). The instance is created on an 4th generation Intel® Xeon® Scalable Processor (Sapphire Rapids) by default.
13+
As of today, M8i instances are available on AWS which provide high-performance compute with the latest Intel processors and enhanced memory bandwidth. Configuration in this directory creates an AWS VM (EC2 Instance). The instance is created on an 6th generation Intel® Xeon® Scalable Processor (Granite Rapids) by default.
1414

1515
## Performance Data
16-
16+
### Below performance data is for Sapphire Rapids and Granite Rapids will be coming soon..
1717

1818
<center>
1919

@@ -217,7 +217,7 @@ No modules.
217217
| <a name="input_iam_role_tags"></a> [iam\_role\_tags](#input\_iam\_role\_tags) | A map of additional tags to add to the IAM role/profile created | `map(string)` | `{}` | no |
218218
| <a name="input_iam_role_use_name_prefix"></a> [iam\_role\_use\_name\_prefix](#input\_iam\_role\_use\_name\_prefix) | Determines whether the IAM role name (`iam_role_name` or `name`) is used as a prefix | `bool` | `true` | no |
219219
| <a name="input_instance_initiated_shutdown_behavior"></a> [instance\_initiated\_shutdown\_behavior](#input\_instance\_initiated\_shutdown\_behavior) | Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instance | `string` | `null` | no |
220-
| <a name="input_instance_type"></a> [instance\_type](#input\_instance\_type) | Instance SKU, see comments above for guidance | `string` | `"m7i.large"` | no |
220+
| <a name="input_instance_type"></a> [instance\_type](#input\_instance\_type) | Instance SKU, see comments above for guidance | `string` | `"m8i.large"` | no |
221221
| <a name="input_ipv6_address_count"></a> [ipv6\_address\_count](#input\_ipv6\_address\_count) | A number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet | `number` | `null` | no |
222222
| <a name="input_ipv6_addresses"></a> [ipv6\_addresses](#input\_ipv6\_addresses) | Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface | `list(string)` | `null` | no |
223223
| <a name="input_key_name"></a> [key\_name](#input\_key\_name) | Key name of the Key Pair to use for the instance; which can be managed using the `aws_key_pair` resource | `string` | `null` | no |

examples/amazon-ec2-rhel-default-vpc/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## Terraform Intel AWS VM - Red Hat RHEL VM in Default VPC
1010

11-
This example creates an AWS Red Hat Enterprise Linux (RHEL) EC2 instance on a 4th Generation Intel® Xeon® Scalable Processor (Sapphire Rapids) in the default VPC. It is configured to create the EC2 instance in US-East-1 region. The region is provided in variables.tf in this example folder.
11+
This example creates an AWS Red Hat Enterprise Linux (RHEL) EC2 instance on a 6th Generation Intel® Xeon® Scalable Processor (Granite Rapids) in the default VPC. It is configured to create the EC2 instance in US-East-1 region. The region is provided in variables.tf in this example folder.
1212

1313
This example also creates an EC2 key pair. It associates the public key with the EC2 instance. The private key is created in the local system where terraform apply is done. It also creates a new scurity group to open up the SSH port 22 to a specific IP CIDR block. This example requires RHEL SSM Parameter name for the ami_ssm_parameter in the variables file. More information can be found on [Red Hat Enterprise Linux Images Available on Amazon Web Services Documentation](<https://access.redhat.com/solutions/15356>)
1414

examples/amazon-ec2-rhel-default-vpc/main.tf

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Provision EC2 Instance on Icelake on Amazon Linux OS in default vpc. It is configured to create the EC2 in
1+
# Provision EC2 Instance on Granite Rapids on Amazon Linux OS in default vpc. It is configured to create the EC2 in
22
# US-East-1 region. The region is provided in variables.tf in this example folder.
33

44
# This example also create an EC2 key pair. Associate the public key with the EC2 instance. Create the private key
@@ -47,10 +47,11 @@ resource "aws_network_interface_sg_attachment" "sg_attachment" {
4747
module "ec2-vm" {
4848
source = "intel/aws-vm/intel"
4949
key_name = aws_key_pair.TF_key.key_name
50-
ami = "ami-0c41531b8d18cc72b"
50+
#ami = "ami-0c41531b8d18cc72b"
51+
ami = "vmi-intel-base-ubuntu22-aws-spr-2025-05-23-20-24"
5152
tags = {
5253
Name = "my-test-vm-${random_id.rid.dec}"
53-
Owner = "OwnerName-${random_id.rid.dec}",
54+
Owner = "Owner-${random_id.rid.dec}"
5455
Duration = "2"
5556
}
5657
}

examples/amazon-linux-ec2-capacity-reservation-default-vpc/README.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
## Terraform Intel AWS VM - Linux VM with Capacity Reservation in Default VPC
1010

11-
This example provisions a capacity reservation in AWS availability zone us-east-1d. This capacity reservation is used for instance type m7i.large for Linux/UNIX in this availability zone. Instance eligibility for this capacity reservation will be targetted.
11+
This example provisions a capacity reservation in AWS availability zone us-east-1d. This capacity reservation is used for instance type m8i.large for Linux/UNIX in this availability zone. Instance eligibility for this capacity reservation will be targetted.
1212

13-
Following the capacity reservation, it provisions an EC2 Instance on a 4th Generation Intel® Xeon® Scalable Processor (Sapphire Rapids) on Linux OS in the default vpc using the targetted capacity reservation created in the above step. It creates the EC2 instance in US-East-1 region. The region is provided in variables.tf in this example folder.
13+
Following the capacity reservation, it provisions an EC2 Instance on a 6th Generation Intel® Xeon® Scalable Processor (Granite Rapids) on Linux OS in the default vpc using the targetted capacity reservation created in the above step. It creates the EC2 instance in US-East-1 region. The region is provided in variables.tf in this example folder.
1414

1515
This example also creates an EC2 key pair. It associates the public key with the EC2 instance. The private key is created in the local system where terraform apply is done. It also creates a new scurity group to open up the SSH port 22 to a specific IP CIDR block.
1616

@@ -35,14 +35,15 @@ variable "region" {
3535
```
3636
main.tf
3737
```hcl
38+
3839
# Create capacity reservation for EC2
39-
resource "aws_ec2_capacity_reservation" "thiscapacity" {
40-
instance_type = "m7i.large"
41-
instance_platform = "Linux/UNIX"
42-
availability_zone = "us-east-1d"
43-
instance_match_criteria = "targeted"
44-
instance_count = 1
45-
}
40+
# resource "aws_ec2_capacity_reservation" "thiscapacity" {
41+
# instance_type = "m8i.large"
42+
# instance_platform = "Linux/UNIX"
43+
# availability_zone = "us-east-1d"
44+
# instance_match_criteria = "targeted"
45+
# instance_count = 1
46+
# }
4647
4748
resource "random_id" "rid" {
4849
byte_length = 5

examples/amazon-linux-ec2-capacity-reservation-default-vpc/main.tf

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
# Provision a capacity reservation in AWS availability zone us-east-1d. This capacity reservation will be for
2-
# instance type m7i.large for Linux/UNIX in this availability zone. Instance eligibility for this capacity
2+
# instance type m8i.large for Linux/UNIX in this availability zone. Instance eligibility for this capacity
33
# reservation will be targeted.
44

5-
# Provision EC2 Instance on Sapphire Rapids on Amazon Linux OS in default vpc using the targeted capacity reservation
5+
# Provision EC2 Instance on Granite Rapids on Amazon Linux OS in default vpc using the targeted capacity reservation
66
# created in the above step. The EC2 is configured to create the EC2 in US-East-1 region. The region is provided
77
# in variables.tf in this example folder.
88

99
# This example also create an EC2 key pair. Associate the public key with the EC2 instance. Create the private key
1010
# in the local system where terraform apply is done. Create a new scurity group to open up the SSH port
1111
# 22 to a specific IP CIDR block
1212

13-
######### PLEASE NOTE TO CHANGE THE IP CIDR BLOCK TO ALLOW SSH FROM YOUR OWN ALLOWED IP ADDRESS FOR SSH #########
13+
######### PLEASE NOTE TO CHANGE THE IP CIDR BLOCK TO ALLOW SSH FROM YOUR OWN ALLOWED IP ADDRESS FOR SSH #########
1414

1515
# Create capacity reservation for EC2
1616
resource "aws_ec2_capacity_reservation" "thiscapacity" {
17-
instance_type = "m7i.large"
17+
instance_type = "m8i.large"
1818
instance_platform = "Linux/UNIX"
1919
availability_zone = "us-east-1d"
2020
instance_match_criteria = "targeted"
@@ -36,6 +36,17 @@ resource "aws_key_pair" "TF_key" {
3636
public_key = tls_private_key.rsa.public_key_openssh
3737
}
3838

39+
# The section below is used when leveraging reserved instance capacity that you have purchased from AWS
40+
# Create capacity reservation for EC2
41+
# resource "aws_ec2_capacity_reservation" "thiscapacity" {
42+
# instance_type = "m8i.large"
43+
# instance_platform = "Linux/UNIX"
44+
# availability_zone = "us-east-1d"
45+
# instance_match_criteria = "targeted"
46+
# instance_count = 1
47+
# }
48+
49+
3950
resource "local_file" "TF_private_key" {
4051
content = tls_private_key.rsa.private_key_pem
4152
filename = "tfkey.private"
@@ -47,8 +58,7 @@ resource "aws_security_group" "ssh_security_group" {
4758
from_port = 22
4859
to_port = 22
4960
protocol = "tcp"
50-
51-
## CHANGE THE IP CIDR BLOCK BELOW TO ALL YOUR OWN SSH PORT ##
61+
## CHANGE THE IP CIDR BLOCK BELOW TO ALLOW SSH FROM YOUR OWN ALLOWED IP ADDRESS ##
5262
cidr_blocks = ["a.b.c.d/x"]
5363
}
5464
}
@@ -66,9 +76,10 @@ module "ec2-vm" {
6676
capacity_reservation_id = aws_ec2_capacity_reservation.thiscapacity.id
6777
}
6878
}
79+
6980
tags = {
7081
Name = "my-test-vm-${random_id.rid.dec}"
71-
Owner = "OwnerName-${random_id.rid.dec}",
82+
Owner = "OwnerName-${random_id.rid.dec}"
7283
Duration = "2"
7384
}
7485
}

examples/amazon-linux-ec2-default-vpc-ico-by-densify/densify_recommendations.auto.tfvars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ densify_recommendations = {
22

33
"mobile-app-user2" = {
44
currentType = "m4.xlarge"
5-
recommendedType = "m6i.xlarge"
5+
recommendedType = "m8i.xlarge"
66
approvalType = "all"
77
predictedUptime = "80.61"
88
recommendationType = "Modernize"

examples/amazon-linux-ec2-default-vpc-ico-by-densify/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Provision EC2 Instance on Icelake on Amazon Linux OS in default vpc. It is configured to create the EC2 in
1+
# Provision EC2 Instance on Granite Rapids on Amazon Linux OS in default vpc. It is configured to create the EC2 in
22
# US-East-1 region. The region is provided in variables.tf in this example folder.
33

44
# This example also create an EC2 key pair. Associate the public key with the EC2 instance. Create the private key

examples/amazon-linux-ec2-default-vpc-ico-by-densify/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ variable "name" {
1616
variable "densify_fallback" {
1717
type = map(string)
1818
default = {
19-
recommendedType = "m6i.large"
19+
recommendedType = "m8i.large"
2020
currentType = "m5.2xlarge"
2121
approvalType = "all"
2222
savingsEstimate = "0"

examples/amazon-linux-ec2-default-vpc/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## Terraform Intel AWS VM - Linux VM in Default VPC
1010

11-
This example creates an AWS EC2 instance on 4th Generation Intel® Xeon® Scalable Processor (Sapphire Rapids) on Linux Operating System in the default VPC. It is configured to create the EC2 instance in US-East-1 region. The region is provided in variables.tf in this example folder.
11+
This example creates an AWS EC2 instance on 6th Generation Intel® Xeon® Scalable Processor (Granite Rapids) on Linux Operating System in the default VPC. It is configured to create the EC2 instance in US-East-1 region. The region is provided in variables.tf in this example folder.
1212

1313
This example also creates an EC2 key pair. It associates the public key with the EC2 instance. The private key is created in the local system where terraform apply is done. It also creates a new scurity group to open up the SSH port 22 to a specific IP CIDR block.
1414

examples/amazon-linux-ec2-default-vpc/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Provision EC2 Instance on Icelake on Amazon Linux OS in default vpc. It is configured to create the EC2 in
1+
# Provision EC2 Instance on Granite Rapids on Amazon Linux OS in default vpc. It is configured to create the EC2 in
22
# US-East-1 region. The region is provided in variables.tf in this example folder.
33

44
# This example also create an EC2 key pair. Associate the public key with the EC2 instance. Create the private key

0 commit comments

Comments
 (0)