Skip to content

Commit

Permalink
feat(ec2): add c6a instances (#19113)
Browse files Browse the repository at this point in the history
<img width="1239" alt="image" src="https://user-images.githubusercontent.com/31543/155358925-63394802-28db-4d49-bcd6-ad5182ad49c7.png">


https://aws.amazon.com/about-aws/whats-new/2022/02/amazon-ec2-c6a-instances/

> Amazon EC2 C6a instances are powered by 3rd generation AMD EPYC processors, deliver up to 15% better price performance compared to C5a instances, and offer 10% lower cost than comparable x86-based EC2 instances. C6a instances feature a 2:1 ratio of memory to vCPU, just like C5a instances and support increased sizes up to 192 vCPUs per instance, which is double that of C5a instances. These instances feature more than twice the network bandwidth of C5a instances, and are designed for compute-intensive workloads such as batch processing, distributed analytics, high performance computing (HPC), ad serving, highly-scalable multiplayer gaming, and video encoding.


Submitted CFN user guide PR: awsdocs/aws-cloudformation-user-guide#1169 

----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
  • Loading branch information
robertd authored Feb 28, 2022
1 parent 464e561 commit 427cdfd
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 20 deletions.
14 changes: 7 additions & 7 deletions packages/@aws-cdk/aws-ec2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -663,7 +663,7 @@ vpc.addVpnConnection('Dynamic', {
```

By default, routes will be propagated on the route tables associated with the private subnets. If no
private subnets exists, isolated subnets are used. If no isolated subnets exists, public subnets are
private subnets exist, isolated subnets are used. If no isolated subnets exist, public subnets are
used. Use the `Vpc` property `vpnRoutePropagation` to customize this behavior.

VPN connections expose [metrics (cloudwatch.Metric)](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-cloudwatch/README.md) across all tunnels in the account/region and per connection:
Expand Down Expand Up @@ -810,7 +810,7 @@ The endpoint must use at least one [authentication method](https://docs.aws.amaz
If user-based authentication is used, the [self-service portal URL](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/self-service-portal.html)
is made available via a CloudFormation output.

By default, a new security group is created and logging is enabled. Moreover, a rule to
By default, a new security group is created, and logging is enabled. Moreover, a rule to
authorize all users to the VPC CIDR is created.

To customize authorization rules, set the `authorizeAllUsersToVpcCidr` prop to `false`
Expand Down Expand Up @@ -898,7 +898,7 @@ new ec2.Instance(this, 'Instance4', {

CloudFormation Init allows you to configure your instances by writing files to them, installing software
packages, starting services and running arbitrary commands. By default, if any of the instance setup
commands throw an error, the deployment will fail and roll back to the previously known good state.
commands throw an error; the deployment will fail and roll back to the previously known good state.
The following documentation also applies to `AutoScalingGroup`s.

For the full set of capabilities of this system, see the documentation for
Expand Down Expand Up @@ -1201,7 +1201,7 @@ Aspects.of(this).add(aspect);

VPC Flow Logs is a feature that enables you to capture information about the IP traffic going to and from network interfaces in your VPC. Flow log data can be published to Amazon CloudWatch Logs and Amazon S3. After you've created a flow log, you can retrieve and view its data in the chosen destination. (<https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html>).

By default a flow log will be created with CloudWatch Logs as the destination.
By default, a flow log will be created with CloudWatch Logs as the destination.

You can create a flow log like this:

Expand Down Expand Up @@ -1235,7 +1235,7 @@ vpc.addFlowLog('FlowLogCloudWatch', {
});
```

By default the CDK will create the necessary resources for the destination. For the CloudWatch Logs destination
By default, the CDK will create the necessary resources for the destination. For the CloudWatch Logs destination
it will create a CloudWatch Logs Log Group as well as the IAM role with the necessary permissions to publish to
the log group. In the case of an S3 destination, it will create the S3 bucket.

Expand Down Expand Up @@ -1311,9 +1311,9 @@ from separate parts forming archive. The most common parts are scripts executed
kinds, too.

The advantage of multipart archive is in flexibility when it's needed to add additional parts or to use specialized parts to
fine tune instance startup. Some services (like AWS Batch) supports only `MultipartUserData`.
fine tune instance startup. Some services (like AWS Batch) support only `MultipartUserData`.

The parts can be executed at different moment of instance start-up and can serve a different purposes. This is controlled by `contentType` property.
The parts can be executed at different moment of instance start-up and can serve a different purpose. This is controlled by `contentType` property.
For common scripts, `text/x-shellscript; charset="utf-8"` can be used as content type.

In order to create archive the `MultipartUserData` has to be instantiated. Than, user can add parts to multipart archive using `addPart`. The `MultipartBody` contains methods supporting creation of body parts.
Expand Down
36 changes: 23 additions & 13 deletions packages/@aws-cdk/aws-ec2/lib/instance-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -298,16 +298,6 @@ export enum InstanceClass {
*/
C5 = 'c5',

/**
* Compute optimized instances, 6th generation
*/
COMPUTE6_INTEL = 'c6i',

/**
* Compute optimized instances, 6th generation
*/
C6I = 'c6i',

/**
* Compute optimized instances with local NVME drive, 5th generation
*/
Expand All @@ -319,7 +309,7 @@ export enum InstanceClass {
C5D = 'c5d',

/**
* Compute optimized instances based on AMD EPYC, 5th generation.
* Compute optimized instances based on AMD EPYC, 5th generation
*/
COMPUTE5_AMD = 'c5a',

Expand All @@ -329,12 +319,12 @@ export enum InstanceClass {
C5A = 'c5a',

/**
* Compute optimized instances with local NVME drive based on AMD EPYC, 5th generation.
* Compute optimized instances with local NVME drive based on AMD EPYC, 5th generation
*/
COMPUTE5_AMD_NVME_DRIVE = 'c5ad',

/**
* Compute optimized instances with local NVME drive based on AMD EPYC, 5th generation.
* Compute optimized instances with local NVME drive based on AMD EPYC, 5th generation
*/
C5AD = 'c5ad',

Expand All @@ -348,6 +338,26 @@ export enum InstanceClass {
*/
C5N = 'c5n',

/**
* Compute optimized instances, 6th generation
*/
COMPUTE6_INTEL = 'c6i',

/**
* Compute optimized instances, 6th generation
*/
C6I = 'c6i',

/**
* Compute optimized instances based on AMD EPYC (codename Milan), 6th generation
*/
COMPUTE6_AMD = 'c6a',

/**
* Compute optimized instances based on AMD EPYC (codename Milan), 6th generation
*/
C6A = 'c6a',

/**
* Compute optimized instances for high performance computing, 6th generation with Graviton2 processors
*/
Expand Down

0 comments on commit 427cdfd

Please sign in to comment.