diff --git a/openvidu-deployment/community/singlenode/aws/cf-openvidu-singlenode.yaml b/openvidu-deployment/community/singlenode/aws/cf-openvidu-singlenode.yaml index b3e6b4fae..fd74e719f 100644 --- a/openvidu-deployment/community/singlenode/aws/cf-openvidu-singlenode.yaml +++ b/openvidu-deployment/community/singlenode/aws/cf-openvidu-singlenode.yaml @@ -81,42 +81,27 @@ Parameters: Type: String Default: c6a.xlarge AllowedValues: - - t2.large - - t2.xlarge - - t2.2xlarge + - t3.nano + - t3.micro + - t3.small - t3.medium - t3.large - t3.xlarge - t3.2xlarge - - m4.large - - m4.xlarge - - m4.2xlarge - - m4.4xlarge - - m4.10xlarge - - m4.16xlarge - - m5.large - - m5.xlarge - - m5.2xlarge - - m5.4xlarge - - m5.8xlarge - - m5.12xlarge - - m5.16xlarge - - m5.24xlarge - - m6i.large - - m6i.xlarge - - m6i.2xlarge - - m6i.4xlarge - - m6i.8xlarge - - m6i.12xlarge - - m6i.16xlarge - - m6i.24xlarge - - m6i.32xlarge - - m6i.metal - - c4.large - - c4.xlarge - - c4.2xlarge - - c4.4xlarge - - c4.8xlarge + - t3a.nano + - t3a.micro + - t3a.small + - t3a.medium + - t3a.large + - t3a.xlarge + - t3a.2xlarge + - t4g.nano + - t4g.micro + - t4g.small + - t4g.medium + - t4g.large + - t4g.xlarge + - t4g.2xlarge - c5.large - c5.xlarge - c5.2xlarge @@ -125,6 +110,39 @@ Parameters: - c5.12xlarge - c5.18xlarge - c5.24xlarge + - c5.metal + - c5a.large + - c5a.xlarge + - c5a.2xlarge + - c5a.4xlarge + - c5a.8xlarge + - c5a.12xlarge + - c5a.16xlarge + - c5a.24xlarge + - c5ad.large + - c5ad.xlarge + - c5ad.2xlarge + - c5ad.4xlarge + - c5ad.8xlarge + - c5ad.12xlarge + - c5ad.16xlarge + - c5ad.24xlarge + - c5d.large + - c5d.xlarge + - c5d.2xlarge + - c5d.4xlarge + - c5d.9xlarge + - c5d.12xlarge + - c5d.18xlarge + - c5d.24xlarge + - c5d.metal + - c5n.large + - c5n.xlarge + - c5n.2xlarge + - c5n.4xlarge + - c5n.9xlarge + - c5n.18xlarge + - c5n.metal - c6a.large - c6a.xlarge - c6a.2xlarge @@ -136,6 +154,32 @@ Parameters: - c6a.32xlarge - c6a.48xlarge - c6a.metal + - c6g.medium + - c6g.large + - c6g.xlarge + - c6g.2xlarge + - c6g.4xlarge + - c6g.8xlarge + - c6g.12xlarge + - c6g.16xlarge + - c6g.metal + - c6gd.medium + - c6gd.large + - c6gd.xlarge + - c6gd.2xlarge + - c6gd.4xlarge + - c6gd.8xlarge + - c6gd.12xlarge + - c6gd.16xlarge + - c6gd.metal + - c6gn.medium + - c6gn.large + - c6gn.xlarge + - c6gn.2xlarge + - c6gn.4xlarge + - c6gn.8xlarge + - c6gn.12xlarge + - c6gn.16xlarge - c6i.large - c6i.xlarge - c6i.2xlarge @@ -146,6 +190,26 @@ Parameters: - c6i.24xlarge - c6i.32xlarge - c6i.metal + - c6id.large + - c6id.xlarge + - c6id.2xlarge + - c6id.4xlarge + - c6id.8xlarge + - c6id.12xlarge + - c6id.16xlarge + - c6id.24xlarge + - c6id.32xlarge + - c6id.metal + - c6in.large + - c6in.xlarge + - c6in.2xlarge + - c6in.4xlarge + - c6in.8xlarge + - c6in.12xlarge + - c6in.16xlarge + - c6in.24xlarge + - c6in.32xlarge + - c6in.metal - c7a.medium - c7a.large - c7a.xlarge @@ -158,6 +222,40 @@ Parameters: - c7a.32xlarge - c7a.48xlarge - c7a.metal-48xl + - c7g.medium + - c7g.large + - c7g.xlarge + - c7g.2xlarge + - c7g.4xlarge + - c7g.8xlarge + - c7g.12xlarge + - c7g.16xlarge + - c7g.metal + - c7gd.medium + - c7gd.large + - c7gd.xlarge + - c7gd.2xlarge + - c7gd.4xlarge + - c7gd.8xlarge + - c7gd.12xlarge + - c7gd.16xlarge + - c7gd.metal + - c7gn.medium + - c7gn.large + - c7gn.xlarge + - c7gn.2xlarge + - c7gn.4xlarge + - c7gn.8xlarge + - c7gn.12xlarge + - c7gn.16xlarge + - c7gn.metal + - c7i-flex.large + - c7i-flex.xlarge + - c7i-flex.2xlarge + - c7i-flex.4xlarge + - c7i-flex.8xlarge + - c7i-flex.12xlarge + - c7i-flex.16xlarge - c7i.large - c7i.xlarge - c7i.2xlarge @@ -169,20 +267,77 @@ Parameters: - c7i.48xlarge - c7i.metal-24xl - c7i.metal-48xl - - c5n.large - - c5n.xlarge - - c5n.2xlarge - - c5n.4xlarge - - c5n.9xlarge - - c5n.18xlarge - - m5n.large - - m5n.xlarge - - m5n.2xlarge - - m5n.4xlarge - - m5n.8xlarge - - m5n.12xlarge - - m5n.16xlarge - - m5n.24xlarge + - c8g.medium + - c8g.large + - c8g.xlarge + - c8g.2xlarge + - c8g.4xlarge + - c8g.8xlarge + - c8g.12xlarge + - c8g.16xlarge + - c8g.24xlarge + - c8g.48xlarge + - c8g.metal-24xl + - c8g.metal-48xl + - m6a.large + - m6a.xlarge + - m6a.2xlarge + - m6a.4xlarge + - m6a.8xlarge + - m6a.12xlarge + - m6a.16xlarge + - m6a.24xlarge + - m6a.32xlarge + - m6a.48xlarge + - m6a.metal + - m6g.medium + - m6g.large + - m6g.xlarge + - m6g.2xlarge + - m6g.4xlarge + - m6g.8xlarge + - m6g.12xlarge + - m6g.16xlarge + - m6g.metal + - m6gd.medium + - m6gd.large + - m6gd.xlarge + - m6gd.2xlarge + - m6gd.4xlarge + - m6gd.8xlarge + - m6gd.12xlarge + - m6gd.16xlarge + - m6gd.metal + - m6i.large + - m6i.xlarge + - m6i.2xlarge + - m6i.4xlarge + - m6i.8xlarge + - m6i.12xlarge + - m6i.16xlarge + - m6i.24xlarge + - m6i.32xlarge + - m6i.metal + - m6id.large + - m6id.xlarge + - m6id.2xlarge + - m6id.4xlarge + - m6id.8xlarge + - m6id.12xlarge + - m6id.16xlarge + - m6id.24xlarge + - m6id.32xlarge + - m6id.metal + - m6idn.large + - m6idn.xlarge + - m6idn.2xlarge + - m6idn.4xlarge + - m6idn.8xlarge + - m6idn.12xlarge + - m6idn.16xlarge + - m6idn.24xlarge + - m6idn.32xlarge + - m6idn.metal - m6in.large - m6in.xlarge - m6in.2xlarge @@ -192,14 +347,67 @@ Parameters: - m6in.16xlarge - m6in.24xlarge - m6in.32xlarge - - r5n.large - - r5n.xlarge - - r5n.2xlarge - - r5n.4xlarge - - r5n.8xlarge - - r5n.12xlarge - - r5n.16xlarge - - r5n.24xlarge + - m6in.metal + - m7a.medium + - m7a.large + - m7a.xlarge + - m7a.2xlarge + - m7a.4xlarge + - m7a.8xlarge + - m7a.12xlarge + - m7a.16xlarge + - m7a.24xlarge + - m7a.32xlarge + - m7a.48xlarge + - m7a.metal-48xl + - m7g.medium + - m7g.large + - m7g.xlarge + - m7g.2xlarge + - m7g.4xlarge + - m7g.8xlarge + - m7g.12xlarge + - m7g.16xlarge + - m7g.metal + - m7gd.medium + - m7gd.large + - m7gd.xlarge + - m7gd.2xlarge + - m7gd.4xlarge + - m7gd.8xlarge + - m7gd.12xlarge + - m7gd.16xlarge + - m7gd.metal + - m7i-flex.large + - m7i-flex.xlarge + - m7i-flex.2xlarge + - m7i-flex.4xlarge + - m7i-flex.8xlarge + - m7i-flex.12xlarge + - m7i-flex.16xlarge + - m7i.large + - m7i.xlarge + - m7i.2xlarge + - m7i.4xlarge + - m7i.8xlarge + - m7i.12xlarge + - m7i.16xlarge + - m7i.24xlarge + - m7i.48xlarge + - m7i.metal-24xl + - m7i.metal-48xl + - m8g.medium + - m8g.large + - m8g.xlarge + - m8g.2xlarge + - m8g.4xlarge + - m8g.8xlarge + - m8g.12xlarge + - m8g.16xlarge + - m8g.24xlarge + - m8g.48xlarge + - m8g.metal-24xl + - m8g.metal-48xl ConstraintDescription: "Must be a valid EC2 instance type" KeyName: @@ -208,10 +416,11 @@ Parameters: AllowedPattern: ^.+$ ConstraintDescription: must be the name of an existing EC2 KeyPair. - AmiId: - Type: AWS::SSM::Parameter::Value - Default: /aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id - Description: AMI ID for the EC2 instances + OperatingSystem: + Description: VSCode Server EC2 operating system + Type: String + Default: "Ubuntu-24" + AllowedValues: ['Ubuntu-22', 'Ubuntu-24'] S3AppDataBucketName: Type: String @@ -238,7 +447,7 @@ Metadata: Parameters: - InstanceType - KeyName - - AmiId + - OperatingSystem - Label: default: S3 bucket for application data and recordings Parameters: @@ -258,6 +467,31 @@ Conditions: PublicElasticIPPresent: !Not [ !Equals [!Ref PublicElasticIP, ""] ] PublicElasticIPAbsent: !Equals [!Ref PublicElasticIP, ""] CreateRecordingsBucket: !Equals [!Ref S3AppDataBucketName, ""] + IsGraviton: !Or + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 't4g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'c6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'c7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'c7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'c8g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm6gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm8g'] + +Mappings: + ArmImage: + # aws ssm get-parameters-by-path --path "/aws/service/canonical/ubuntu/" --recursive --query "Parameters[*].Name" > canonical-ami.txt + Ubuntu-22: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/jammy/stable/current/arm64/hvm/ebs-gp2/ami-id}}' + Ubuntu-24: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/noble/stable/current/arm64/hvm/ebs-gp3/ami-id}}' + AmdImage: + Ubuntu-22: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id}}' + Ubuntu-24: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/noble/stable/current/amd64/hvm/ebs-gp3/ami-id}}' + Resources: @@ -827,7 +1061,10 @@ Resources: owner: "root" group: "root" Properties: - ImageId: !Ref AmiId + ImageId: !If + - IsGraviton + - !FindInMap [ArmImage, !Ref OperatingSystem, ImageId] + - !FindInMap [AmdImage, !Ref OperatingSystem, ImageId] LaunchTemplate: # Enable IMDSv2 by default LaunchTemplateId: !Ref IMDSv2LaunchTemplate diff --git a/openvidu-deployment/pro/elastic/aws/cf-openvidu-elastic.yaml b/openvidu-deployment/pro/elastic/aws/cf-openvidu-elastic.yaml index b8f896b19..3843c538d 100644 --- a/openvidu-deployment/pro/elastic/aws/cf-openvidu-elastic.yaml +++ b/openvidu-deployment/pro/elastic/aws/cf-openvidu-elastic.yaml @@ -95,42 +95,27 @@ Parameters: Type: String Default: c6a.xlarge AllowedValues: - - t2.large - - t2.xlarge - - t2.2xlarge + - t3.nano + - t3.micro + - t3.small - t3.medium - t3.large - t3.xlarge - t3.2xlarge - - m4.large - - m4.xlarge - - m4.2xlarge - - m4.4xlarge - - m4.10xlarge - - m4.16xlarge - - m5.large - - m5.xlarge - - m5.2xlarge - - m5.4xlarge - - m5.8xlarge - - m5.12xlarge - - m5.16xlarge - - m5.24xlarge - - m6i.large - - m6i.xlarge - - m6i.2xlarge - - m6i.4xlarge - - m6i.8xlarge - - m6i.12xlarge - - m6i.16xlarge - - m6i.24xlarge - - m6i.32xlarge - - m6i.metal - - c4.large - - c4.xlarge - - c4.2xlarge - - c4.4xlarge - - c4.8xlarge + - t3a.nano + - t3a.micro + - t3a.small + - t3a.medium + - t3a.large + - t3a.xlarge + - t3a.2xlarge + - t4g.nano + - t4g.micro + - t4g.small + - t4g.medium + - t4g.large + - t4g.xlarge + - t4g.2xlarge - c5.large - c5.xlarge - c5.2xlarge @@ -139,6 +124,39 @@ Parameters: - c5.12xlarge - c5.18xlarge - c5.24xlarge + - c5.metal + - c5a.large + - c5a.xlarge + - c5a.2xlarge + - c5a.4xlarge + - c5a.8xlarge + - c5a.12xlarge + - c5a.16xlarge + - c5a.24xlarge + - c5ad.large + - c5ad.xlarge + - c5ad.2xlarge + - c5ad.4xlarge + - c5ad.8xlarge + - c5ad.12xlarge + - c5ad.16xlarge + - c5ad.24xlarge + - c5d.large + - c5d.xlarge + - c5d.2xlarge + - c5d.4xlarge + - c5d.9xlarge + - c5d.12xlarge + - c5d.18xlarge + - c5d.24xlarge + - c5d.metal + - c5n.large + - c5n.xlarge + - c5n.2xlarge + - c5n.4xlarge + - c5n.9xlarge + - c5n.18xlarge + - c5n.metal - c6a.large - c6a.xlarge - c6a.2xlarge @@ -150,6 +168,32 @@ Parameters: - c6a.32xlarge - c6a.48xlarge - c6a.metal + - c6g.medium + - c6g.large + - c6g.xlarge + - c6g.2xlarge + - c6g.4xlarge + - c6g.8xlarge + - c6g.12xlarge + - c6g.16xlarge + - c6g.metal + - c6gd.medium + - c6gd.large + - c6gd.xlarge + - c6gd.2xlarge + - c6gd.4xlarge + - c6gd.8xlarge + - c6gd.12xlarge + - c6gd.16xlarge + - c6gd.metal + - c6gn.medium + - c6gn.large + - c6gn.xlarge + - c6gn.2xlarge + - c6gn.4xlarge + - c6gn.8xlarge + - c6gn.12xlarge + - c6gn.16xlarge - c6i.large - c6i.xlarge - c6i.2xlarge @@ -160,6 +204,26 @@ Parameters: - c6i.24xlarge - c6i.32xlarge - c6i.metal + - c6id.large + - c6id.xlarge + - c6id.2xlarge + - c6id.4xlarge + - c6id.8xlarge + - c6id.12xlarge + - c6id.16xlarge + - c6id.24xlarge + - c6id.32xlarge + - c6id.metal + - c6in.large + - c6in.xlarge + - c6in.2xlarge + - c6in.4xlarge + - c6in.8xlarge + - c6in.12xlarge + - c6in.16xlarge + - c6in.24xlarge + - c6in.32xlarge + - c6in.metal - c7a.medium - c7a.large - c7a.xlarge @@ -172,6 +236,40 @@ Parameters: - c7a.32xlarge - c7a.48xlarge - c7a.metal-48xl + - c7g.medium + - c7g.large + - c7g.xlarge + - c7g.2xlarge + - c7g.4xlarge + - c7g.8xlarge + - c7g.12xlarge + - c7g.16xlarge + - c7g.metal + - c7gd.medium + - c7gd.large + - c7gd.xlarge + - c7gd.2xlarge + - c7gd.4xlarge + - c7gd.8xlarge + - c7gd.12xlarge + - c7gd.16xlarge + - c7gd.metal + - c7gn.medium + - c7gn.large + - c7gn.xlarge + - c7gn.2xlarge + - c7gn.4xlarge + - c7gn.8xlarge + - c7gn.12xlarge + - c7gn.16xlarge + - c7gn.metal + - c7i-flex.large + - c7i-flex.xlarge + - c7i-flex.2xlarge + - c7i-flex.4xlarge + - c7i-flex.8xlarge + - c7i-flex.12xlarge + - c7i-flex.16xlarge - c7i.large - c7i.xlarge - c7i.2xlarge @@ -183,20 +281,77 @@ Parameters: - c7i.48xlarge - c7i.metal-24xl - c7i.metal-48xl - - c5n.large - - c5n.xlarge - - c5n.2xlarge - - c5n.4xlarge - - c5n.9xlarge - - c5n.18xlarge - - m5n.large - - m5n.xlarge - - m5n.2xlarge - - m5n.4xlarge - - m5n.8xlarge - - m5n.12xlarge - - m5n.16xlarge - - m5n.24xlarge + - c8g.medium + - c8g.large + - c8g.xlarge + - c8g.2xlarge + - c8g.4xlarge + - c8g.8xlarge + - c8g.12xlarge + - c8g.16xlarge + - c8g.24xlarge + - c8g.48xlarge + - c8g.metal-24xl + - c8g.metal-48xl + - m6a.large + - m6a.xlarge + - m6a.2xlarge + - m6a.4xlarge + - m6a.8xlarge + - m6a.12xlarge + - m6a.16xlarge + - m6a.24xlarge + - m6a.32xlarge + - m6a.48xlarge + - m6a.metal + - m6g.medium + - m6g.large + - m6g.xlarge + - m6g.2xlarge + - m6g.4xlarge + - m6g.8xlarge + - m6g.12xlarge + - m6g.16xlarge + - m6g.metal + - m6gd.medium + - m6gd.large + - m6gd.xlarge + - m6gd.2xlarge + - m6gd.4xlarge + - m6gd.8xlarge + - m6gd.12xlarge + - m6gd.16xlarge + - m6gd.metal + - m6i.large + - m6i.xlarge + - m6i.2xlarge + - m6i.4xlarge + - m6i.8xlarge + - m6i.12xlarge + - m6i.16xlarge + - m6i.24xlarge + - m6i.32xlarge + - m6i.metal + - m6id.large + - m6id.xlarge + - m6id.2xlarge + - m6id.4xlarge + - m6id.8xlarge + - m6id.12xlarge + - m6id.16xlarge + - m6id.24xlarge + - m6id.32xlarge + - m6id.metal + - m6idn.large + - m6idn.xlarge + - m6idn.2xlarge + - m6idn.4xlarge + - m6idn.8xlarge + - m6idn.12xlarge + - m6idn.16xlarge + - m6idn.24xlarge + - m6idn.32xlarge + - m6idn.metal - m6in.large - m6in.xlarge - m6in.2xlarge @@ -206,14 +361,67 @@ Parameters: - m6in.16xlarge - m6in.24xlarge - m6in.32xlarge - - r5n.large - - r5n.xlarge - - r5n.2xlarge - - r5n.4xlarge - - r5n.8xlarge - - r5n.12xlarge - - r5n.16xlarge - - r5n.24xlarge + - m6in.metal + - m7a.medium + - m7a.large + - m7a.xlarge + - m7a.2xlarge + - m7a.4xlarge + - m7a.8xlarge + - m7a.12xlarge + - m7a.16xlarge + - m7a.24xlarge + - m7a.32xlarge + - m7a.48xlarge + - m7a.metal-48xl + - m7g.medium + - m7g.large + - m7g.xlarge + - m7g.2xlarge + - m7g.4xlarge + - m7g.8xlarge + - m7g.12xlarge + - m7g.16xlarge + - m7g.metal + - m7gd.medium + - m7gd.large + - m7gd.xlarge + - m7gd.2xlarge + - m7gd.4xlarge + - m7gd.8xlarge + - m7gd.12xlarge + - m7gd.16xlarge + - m7gd.metal + - m7i-flex.large + - m7i-flex.xlarge + - m7i-flex.2xlarge + - m7i-flex.4xlarge + - m7i-flex.8xlarge + - m7i-flex.12xlarge + - m7i-flex.16xlarge + - m7i.large + - m7i.xlarge + - m7i.2xlarge + - m7i.4xlarge + - m7i.8xlarge + - m7i.12xlarge + - m7i.16xlarge + - m7i.24xlarge + - m7i.48xlarge + - m7i.metal-24xl + - m7i.metal-48xl + - m8g.medium + - m8g.large + - m8g.xlarge + - m8g.2xlarge + - m8g.4xlarge + - m8g.8xlarge + - m8g.12xlarge + - m8g.16xlarge + - m8g.24xlarge + - m8g.48xlarge + - m8g.metal-24xl + - m8g.metal-48xl ConstraintDescription: "Must be a valid EC2 instance type" MediaNodeInstanceType: @@ -221,42 +429,27 @@ Parameters: Type: String Default: c6a.xlarge AllowedValues: - - t2.large - - t2.xlarge - - t2.2xlarge + - t3.nano + - t3.micro + - t3.small - t3.medium - t3.large - t3.xlarge - t3.2xlarge - - m4.large - - m4.xlarge - - m4.2xlarge - - m4.4xlarge - - m4.10xlarge - - m4.16xlarge - - m5.large - - m5.xlarge - - m5.2xlarge - - m5.4xlarge - - m5.8xlarge - - m5.12xlarge - - m5.16xlarge - - m5.24xlarge - - m6i.large - - m6i.xlarge - - m6i.2xlarge - - m6i.4xlarge - - m6i.8xlarge - - m6i.12xlarge - - m6i.16xlarge - - m6i.24xlarge - - m6i.32xlarge - - m6i.metal - - c4.large - - c4.xlarge - - c4.2xlarge - - c4.4xlarge - - c4.8xlarge + - t3a.nano + - t3a.micro + - t3a.small + - t3a.medium + - t3a.large + - t3a.xlarge + - t3a.2xlarge + - t4g.nano + - t4g.micro + - t4g.small + - t4g.medium + - t4g.large + - t4g.xlarge + - t4g.2xlarge - c5.large - c5.xlarge - c5.2xlarge @@ -265,6 +458,39 @@ Parameters: - c5.12xlarge - c5.18xlarge - c5.24xlarge + - c5.metal + - c5a.large + - c5a.xlarge + - c5a.2xlarge + - c5a.4xlarge + - c5a.8xlarge + - c5a.12xlarge + - c5a.16xlarge + - c5a.24xlarge + - c5ad.large + - c5ad.xlarge + - c5ad.2xlarge + - c5ad.4xlarge + - c5ad.8xlarge + - c5ad.12xlarge + - c5ad.16xlarge + - c5ad.24xlarge + - c5d.large + - c5d.xlarge + - c5d.2xlarge + - c5d.4xlarge + - c5d.9xlarge + - c5d.12xlarge + - c5d.18xlarge + - c5d.24xlarge + - c5d.metal + - c5n.large + - c5n.xlarge + - c5n.2xlarge + - c5n.4xlarge + - c5n.9xlarge + - c5n.18xlarge + - c5n.metal - c6a.large - c6a.xlarge - c6a.2xlarge @@ -276,6 +502,32 @@ Parameters: - c6a.32xlarge - c6a.48xlarge - c6a.metal + - c6g.medium + - c6g.large + - c6g.xlarge + - c6g.2xlarge + - c6g.4xlarge + - c6g.8xlarge + - c6g.12xlarge + - c6g.16xlarge + - c6g.metal + - c6gd.medium + - c6gd.large + - c6gd.xlarge + - c6gd.2xlarge + - c6gd.4xlarge + - c6gd.8xlarge + - c6gd.12xlarge + - c6gd.16xlarge + - c6gd.metal + - c6gn.medium + - c6gn.large + - c6gn.xlarge + - c6gn.2xlarge + - c6gn.4xlarge + - c6gn.8xlarge + - c6gn.12xlarge + - c6gn.16xlarge - c6i.large - c6i.xlarge - c6i.2xlarge @@ -286,6 +538,26 @@ Parameters: - c6i.24xlarge - c6i.32xlarge - c6i.metal + - c6id.large + - c6id.xlarge + - c6id.2xlarge + - c6id.4xlarge + - c6id.8xlarge + - c6id.12xlarge + - c6id.16xlarge + - c6id.24xlarge + - c6id.32xlarge + - c6id.metal + - c6in.large + - c6in.xlarge + - c6in.2xlarge + - c6in.4xlarge + - c6in.8xlarge + - c6in.12xlarge + - c6in.16xlarge + - c6in.24xlarge + - c6in.32xlarge + - c6in.metal - c7a.medium - c7a.large - c7a.xlarge @@ -298,6 +570,40 @@ Parameters: - c7a.32xlarge - c7a.48xlarge - c7a.metal-48xl + - c7g.medium + - c7g.large + - c7g.xlarge + - c7g.2xlarge + - c7g.4xlarge + - c7g.8xlarge + - c7g.12xlarge + - c7g.16xlarge + - c7g.metal + - c7gd.medium + - c7gd.large + - c7gd.xlarge + - c7gd.2xlarge + - c7gd.4xlarge + - c7gd.8xlarge + - c7gd.12xlarge + - c7gd.16xlarge + - c7gd.metal + - c7gn.medium + - c7gn.large + - c7gn.xlarge + - c7gn.2xlarge + - c7gn.4xlarge + - c7gn.8xlarge + - c7gn.12xlarge + - c7gn.16xlarge + - c7gn.metal + - c7i-flex.large + - c7i-flex.xlarge + - c7i-flex.2xlarge + - c7i-flex.4xlarge + - c7i-flex.8xlarge + - c7i-flex.12xlarge + - c7i-flex.16xlarge - c7i.large - c7i.xlarge - c7i.2xlarge @@ -309,20 +615,77 @@ Parameters: - c7i.48xlarge - c7i.metal-24xl - c7i.metal-48xl - - c5n.large - - c5n.xlarge - - c5n.2xlarge - - c5n.4xlarge - - c5n.9xlarge - - c5n.18xlarge - - m5n.large - - m5n.xlarge - - m5n.2xlarge - - m5n.4xlarge - - m5n.8xlarge - - m5n.12xlarge - - m5n.16xlarge - - m5n.24xlarge + - c8g.medium + - c8g.large + - c8g.xlarge + - c8g.2xlarge + - c8g.4xlarge + - c8g.8xlarge + - c8g.12xlarge + - c8g.16xlarge + - c8g.24xlarge + - c8g.48xlarge + - c8g.metal-24xl + - c8g.metal-48xl + - m6a.large + - m6a.xlarge + - m6a.2xlarge + - m6a.4xlarge + - m6a.8xlarge + - m6a.12xlarge + - m6a.16xlarge + - m6a.24xlarge + - m6a.32xlarge + - m6a.48xlarge + - m6a.metal + - m6g.medium + - m6g.large + - m6g.xlarge + - m6g.2xlarge + - m6g.4xlarge + - m6g.8xlarge + - m6g.12xlarge + - m6g.16xlarge + - m6g.metal + - m6gd.medium + - m6gd.large + - m6gd.xlarge + - m6gd.2xlarge + - m6gd.4xlarge + - m6gd.8xlarge + - m6gd.12xlarge + - m6gd.16xlarge + - m6gd.metal + - m6i.large + - m6i.xlarge + - m6i.2xlarge + - m6i.4xlarge + - m6i.8xlarge + - m6i.12xlarge + - m6i.16xlarge + - m6i.24xlarge + - m6i.32xlarge + - m6i.metal + - m6id.large + - m6id.xlarge + - m6id.2xlarge + - m6id.4xlarge + - m6id.8xlarge + - m6id.12xlarge + - m6id.16xlarge + - m6id.24xlarge + - m6id.32xlarge + - m6id.metal + - m6idn.large + - m6idn.xlarge + - m6idn.2xlarge + - m6idn.4xlarge + - m6idn.8xlarge + - m6idn.12xlarge + - m6idn.16xlarge + - m6idn.24xlarge + - m6idn.32xlarge + - m6idn.metal - m6in.large - m6in.xlarge - m6in.2xlarge @@ -332,14 +695,67 @@ Parameters: - m6in.16xlarge - m6in.24xlarge - m6in.32xlarge - - r5n.large - - r5n.xlarge - - r5n.2xlarge - - r5n.4xlarge - - r5n.8xlarge - - r5n.12xlarge - - r5n.16xlarge - - r5n.24xlarge + - m6in.metal + - m7a.medium + - m7a.large + - m7a.xlarge + - m7a.2xlarge + - m7a.4xlarge + - m7a.8xlarge + - m7a.12xlarge + - m7a.16xlarge + - m7a.24xlarge + - m7a.32xlarge + - m7a.48xlarge + - m7a.metal-48xl + - m7g.medium + - m7g.large + - m7g.xlarge + - m7g.2xlarge + - m7g.4xlarge + - m7g.8xlarge + - m7g.12xlarge + - m7g.16xlarge + - m7g.metal + - m7gd.medium + - m7gd.large + - m7gd.xlarge + - m7gd.2xlarge + - m7gd.4xlarge + - m7gd.8xlarge + - m7gd.12xlarge + - m7gd.16xlarge + - m7gd.metal + - m7i-flex.large + - m7i-flex.xlarge + - m7i-flex.2xlarge + - m7i-flex.4xlarge + - m7i-flex.8xlarge + - m7i-flex.12xlarge + - m7i-flex.16xlarge + - m7i.large + - m7i.xlarge + - m7i.2xlarge + - m7i.4xlarge + - m7i.8xlarge + - m7i.12xlarge + - m7i.16xlarge + - m7i.24xlarge + - m7i.48xlarge + - m7i.metal-24xl + - m7i.metal-48xl + - m8g.medium + - m8g.large + - m8g.xlarge + - m8g.2xlarge + - m8g.4xlarge + - m8g.8xlarge + - m8g.12xlarge + - m8g.16xlarge + - m8g.24xlarge + - m8g.48xlarge + - m8g.metal-24xl + - m8g.metal-48xl ConstraintDescription: "Must be a valid EC2 instance type" KeyName: @@ -348,10 +764,11 @@ Parameters: AllowedPattern: ^.+$ ConstraintDescription: must be the name of an existing EC2 KeyPair. - AmiId: - Type: AWS::SSM::Parameter::Value - Default: /aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id - Description: AMI ID for the EC2 instances + OperatingSystem: + Description: OpenVidu EC2 operating system + Type: String + Default: "Ubuntu-24" + AllowedValues: ['Ubuntu-22', 'Ubuntu-24'] InitialNumberOfMediaNodes: Type: Number @@ -422,7 +839,7 @@ Metadata: - MasterNodeInstanceType - MediaNodeInstanceType - KeyName - - AmiId + - OperatingSystem - Label: default: Media Nodes Autoscaling Group configuration Parameters: @@ -455,6 +872,41 @@ Conditions: PublicElasticIPPresent: !Not [ !Equals [!Ref PublicElasticIP, ""] ] PublicElasticIPAbsent: !Equals [!Ref PublicElasticIP, ""] CreateRecordingsBucket: !Equals [!Ref S3AppDataBucketName, ""] + IsMasterGraviton: !Or + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 't4g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'c6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'c7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'c7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'c8g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm6gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm8g'] + IsMediaGraviton: !Or + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 't4g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'c6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'c7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'c7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'c8g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm6gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm8g'] + +Mappings: + ArmImage: + # aws ssm get-parameters-by-path --path "/aws/service/canonical/ubuntu/" --recursive --query "Parameters[*].Name" > canonical-ami.txt + Ubuntu-22: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/jammy/stable/current/arm64/hvm/ebs-gp2/ami-id}}' + Ubuntu-24: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/noble/stable/current/arm64/hvm/ebs-gp3/ami-id}}' + AmdImage: + Ubuntu-22: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id}}' + Ubuntu-24: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/noble/stable/current/amd64/hvm/ebs-gp3/ami-id}}' Resources: @@ -1172,7 +1624,10 @@ Resources: owner: "root" group: "root" Properties: - ImageId: !Ref AmiId + ImageId: !If + - IsMasterGraviton + - !FindInMap [ArmImage, !Ref OperatingSystem, ImageId] + - !FindInMap [AmdImage, !Ref OperatingSystem, ImageId] LaunchTemplate: # Enable IMDSv2 by default LaunchTemplateId: !Ref IMDSv2LaunchTemplateMasterNode @@ -1420,7 +1875,10 @@ Resources: Arn: !GetAtt OpenViduMediaNodeInstanceProfile.Arn SecurityGroupIds: - !GetAtt OpenViduMediaNodeSG.GroupId - ImageId: !Ref AmiId + ImageId: !If + - IsMediaGraviton + - !FindInMap [ArmImage, !Ref OperatingSystem, ImageId] + - !FindInMap [AmdImage, !Ref OperatingSystem, ImageId] KeyName: !Ref KeyName InstanceType: !Ref MediaNodeInstanceType UserData: diff --git a/openvidu-deployment/pro/ha/aws/cf-openvidu-ha.yaml b/openvidu-deployment/pro/ha/aws/cf-openvidu-ha.yaml index 89c844fcf..26592d97b 100644 --- a/openvidu-deployment/pro/ha/aws/cf-openvidu-ha.yaml +++ b/openvidu-deployment/pro/ha/aws/cf-openvidu-ha.yaml @@ -44,42 +44,27 @@ Parameters: Type: String Default: c6a.xlarge AllowedValues: - - t2.large - - t2.xlarge - - t2.2xlarge + - t3.nano + - t3.micro + - t3.small - t3.medium - t3.large - t3.xlarge - t3.2xlarge - - m4.large - - m4.xlarge - - m4.2xlarge - - m4.4xlarge - - m4.10xlarge - - m4.16xlarge - - m5.large - - m5.xlarge - - m5.2xlarge - - m5.4xlarge - - m5.8xlarge - - m5.12xlarge - - m5.16xlarge - - m5.24xlarge - - m6i.large - - m6i.xlarge - - m6i.2xlarge - - m6i.4xlarge - - m6i.8xlarge - - m6i.12xlarge - - m6i.16xlarge - - m6i.24xlarge - - m6i.32xlarge - - m6i.metal - - c4.large - - c4.xlarge - - c4.2xlarge - - c4.4xlarge - - c4.8xlarge + - t3a.nano + - t3a.micro + - t3a.small + - t3a.medium + - t3a.large + - t3a.xlarge + - t3a.2xlarge + - t4g.nano + - t4g.micro + - t4g.small + - t4g.medium + - t4g.large + - t4g.xlarge + - t4g.2xlarge - c5.large - c5.xlarge - c5.2xlarge @@ -88,6 +73,39 @@ Parameters: - c5.12xlarge - c5.18xlarge - c5.24xlarge + - c5.metal + - c5a.large + - c5a.xlarge + - c5a.2xlarge + - c5a.4xlarge + - c5a.8xlarge + - c5a.12xlarge + - c5a.16xlarge + - c5a.24xlarge + - c5ad.large + - c5ad.xlarge + - c5ad.2xlarge + - c5ad.4xlarge + - c5ad.8xlarge + - c5ad.12xlarge + - c5ad.16xlarge + - c5ad.24xlarge + - c5d.large + - c5d.xlarge + - c5d.2xlarge + - c5d.4xlarge + - c5d.9xlarge + - c5d.12xlarge + - c5d.18xlarge + - c5d.24xlarge + - c5d.metal + - c5n.large + - c5n.xlarge + - c5n.2xlarge + - c5n.4xlarge + - c5n.9xlarge + - c5n.18xlarge + - c5n.metal - c6a.large - c6a.xlarge - c6a.2xlarge @@ -99,6 +117,32 @@ Parameters: - c6a.32xlarge - c6a.48xlarge - c6a.metal + - c6g.medium + - c6g.large + - c6g.xlarge + - c6g.2xlarge + - c6g.4xlarge + - c6g.8xlarge + - c6g.12xlarge + - c6g.16xlarge + - c6g.metal + - c6gd.medium + - c6gd.large + - c6gd.xlarge + - c6gd.2xlarge + - c6gd.4xlarge + - c6gd.8xlarge + - c6gd.12xlarge + - c6gd.16xlarge + - c6gd.metal + - c6gn.medium + - c6gn.large + - c6gn.xlarge + - c6gn.2xlarge + - c6gn.4xlarge + - c6gn.8xlarge + - c6gn.12xlarge + - c6gn.16xlarge - c6i.large - c6i.xlarge - c6i.2xlarge @@ -109,6 +153,26 @@ Parameters: - c6i.24xlarge - c6i.32xlarge - c6i.metal + - c6id.large + - c6id.xlarge + - c6id.2xlarge + - c6id.4xlarge + - c6id.8xlarge + - c6id.12xlarge + - c6id.16xlarge + - c6id.24xlarge + - c6id.32xlarge + - c6id.metal + - c6in.large + - c6in.xlarge + - c6in.2xlarge + - c6in.4xlarge + - c6in.8xlarge + - c6in.12xlarge + - c6in.16xlarge + - c6in.24xlarge + - c6in.32xlarge + - c6in.metal - c7a.medium - c7a.large - c7a.xlarge @@ -121,6 +185,40 @@ Parameters: - c7a.32xlarge - c7a.48xlarge - c7a.metal-48xl + - c7g.medium + - c7g.large + - c7g.xlarge + - c7g.2xlarge + - c7g.4xlarge + - c7g.8xlarge + - c7g.12xlarge + - c7g.16xlarge + - c7g.metal + - c7gd.medium + - c7gd.large + - c7gd.xlarge + - c7gd.2xlarge + - c7gd.4xlarge + - c7gd.8xlarge + - c7gd.12xlarge + - c7gd.16xlarge + - c7gd.metal + - c7gn.medium + - c7gn.large + - c7gn.xlarge + - c7gn.2xlarge + - c7gn.4xlarge + - c7gn.8xlarge + - c7gn.12xlarge + - c7gn.16xlarge + - c7gn.metal + - c7i-flex.large + - c7i-flex.xlarge + - c7i-flex.2xlarge + - c7i-flex.4xlarge + - c7i-flex.8xlarge + - c7i-flex.12xlarge + - c7i-flex.16xlarge - c7i.large - c7i.xlarge - c7i.2xlarge @@ -132,20 +230,77 @@ Parameters: - c7i.48xlarge - c7i.metal-24xl - c7i.metal-48xl - - c5n.large - - c5n.xlarge - - c5n.2xlarge - - c5n.4xlarge - - c5n.9xlarge - - c5n.18xlarge - - m5n.large - - m5n.xlarge - - m5n.2xlarge - - m5n.4xlarge - - m5n.8xlarge - - m5n.12xlarge - - m5n.16xlarge - - m5n.24xlarge + - c8g.medium + - c8g.large + - c8g.xlarge + - c8g.2xlarge + - c8g.4xlarge + - c8g.8xlarge + - c8g.12xlarge + - c8g.16xlarge + - c8g.24xlarge + - c8g.48xlarge + - c8g.metal-24xl + - c8g.metal-48xl + - m6a.large + - m6a.xlarge + - m6a.2xlarge + - m6a.4xlarge + - m6a.8xlarge + - m6a.12xlarge + - m6a.16xlarge + - m6a.24xlarge + - m6a.32xlarge + - m6a.48xlarge + - m6a.metal + - m6g.medium + - m6g.large + - m6g.xlarge + - m6g.2xlarge + - m6g.4xlarge + - m6g.8xlarge + - m6g.12xlarge + - m6g.16xlarge + - m6g.metal + - m6gd.medium + - m6gd.large + - m6gd.xlarge + - m6gd.2xlarge + - m6gd.4xlarge + - m6gd.8xlarge + - m6gd.12xlarge + - m6gd.16xlarge + - m6gd.metal + - m6i.large + - m6i.xlarge + - m6i.2xlarge + - m6i.4xlarge + - m6i.8xlarge + - m6i.12xlarge + - m6i.16xlarge + - m6i.24xlarge + - m6i.32xlarge + - m6i.metal + - m6id.large + - m6id.xlarge + - m6id.2xlarge + - m6id.4xlarge + - m6id.8xlarge + - m6id.12xlarge + - m6id.16xlarge + - m6id.24xlarge + - m6id.32xlarge + - m6id.metal + - m6idn.large + - m6idn.xlarge + - m6idn.2xlarge + - m6idn.4xlarge + - m6idn.8xlarge + - m6idn.12xlarge + - m6idn.16xlarge + - m6idn.24xlarge + - m6idn.32xlarge + - m6idn.metal - m6in.large - m6in.xlarge - m6in.2xlarge @@ -155,14 +310,67 @@ Parameters: - m6in.16xlarge - m6in.24xlarge - m6in.32xlarge - - r5n.large - - r5n.xlarge - - r5n.2xlarge - - r5n.4xlarge - - r5n.8xlarge - - r5n.12xlarge - - r5n.16xlarge - - r5n.24xlarge + - m6in.metal + - m7a.medium + - m7a.large + - m7a.xlarge + - m7a.2xlarge + - m7a.4xlarge + - m7a.8xlarge + - m7a.12xlarge + - m7a.16xlarge + - m7a.24xlarge + - m7a.32xlarge + - m7a.48xlarge + - m7a.metal-48xl + - m7g.medium + - m7g.large + - m7g.xlarge + - m7g.2xlarge + - m7g.4xlarge + - m7g.8xlarge + - m7g.12xlarge + - m7g.16xlarge + - m7g.metal + - m7gd.medium + - m7gd.large + - m7gd.xlarge + - m7gd.2xlarge + - m7gd.4xlarge + - m7gd.8xlarge + - m7gd.12xlarge + - m7gd.16xlarge + - m7gd.metal + - m7i-flex.large + - m7i-flex.xlarge + - m7i-flex.2xlarge + - m7i-flex.4xlarge + - m7i-flex.8xlarge + - m7i-flex.12xlarge + - m7i-flex.16xlarge + - m7i.large + - m7i.xlarge + - m7i.2xlarge + - m7i.4xlarge + - m7i.8xlarge + - m7i.12xlarge + - m7i.16xlarge + - m7i.24xlarge + - m7i.48xlarge + - m7i.metal-24xl + - m7i.metal-48xl + - m8g.medium + - m8g.large + - m8g.xlarge + - m8g.2xlarge + - m8g.4xlarge + - m8g.8xlarge + - m8g.12xlarge + - m8g.16xlarge + - m8g.24xlarge + - m8g.48xlarge + - m8g.metal-24xl + - m8g.metal-48xl ConstraintDescription: "Must be a valid EC2 instance type" MediaNodeInstanceType: @@ -170,42 +378,27 @@ Parameters: Type: String Default: c6a.xlarge AllowedValues: - - t2.large - - t2.xlarge - - t2.2xlarge + - t3.nano + - t3.micro + - t3.small - t3.medium - t3.large - t3.xlarge - t3.2xlarge - - m4.large - - m4.xlarge - - m4.2xlarge - - m4.4xlarge - - m4.10xlarge - - m4.16xlarge - - m5.large - - m5.xlarge - - m5.2xlarge - - m5.4xlarge - - m5.8xlarge - - m5.12xlarge - - m5.16xlarge - - m5.24xlarge - - m6i.large - - m6i.xlarge - - m6i.2xlarge - - m6i.4xlarge - - m6i.8xlarge - - m6i.12xlarge - - m6i.16xlarge - - m6i.24xlarge - - m6i.32xlarge - - m6i.metal - - c4.large - - c4.xlarge - - c4.2xlarge - - c4.4xlarge - - c4.8xlarge + - t3a.nano + - t3a.micro + - t3a.small + - t3a.medium + - t3a.large + - t3a.xlarge + - t3a.2xlarge + - t4g.nano + - t4g.micro + - t4g.small + - t4g.medium + - t4g.large + - t4g.xlarge + - t4g.2xlarge - c5.large - c5.xlarge - c5.2xlarge @@ -214,6 +407,39 @@ Parameters: - c5.12xlarge - c5.18xlarge - c5.24xlarge + - c5.metal + - c5a.large + - c5a.xlarge + - c5a.2xlarge + - c5a.4xlarge + - c5a.8xlarge + - c5a.12xlarge + - c5a.16xlarge + - c5a.24xlarge + - c5ad.large + - c5ad.xlarge + - c5ad.2xlarge + - c5ad.4xlarge + - c5ad.8xlarge + - c5ad.12xlarge + - c5ad.16xlarge + - c5ad.24xlarge + - c5d.large + - c5d.xlarge + - c5d.2xlarge + - c5d.4xlarge + - c5d.9xlarge + - c5d.12xlarge + - c5d.18xlarge + - c5d.24xlarge + - c5d.metal + - c5n.large + - c5n.xlarge + - c5n.2xlarge + - c5n.4xlarge + - c5n.9xlarge + - c5n.18xlarge + - c5n.metal - c6a.large - c6a.xlarge - c6a.2xlarge @@ -225,6 +451,32 @@ Parameters: - c6a.32xlarge - c6a.48xlarge - c6a.metal + - c6g.medium + - c6g.large + - c6g.xlarge + - c6g.2xlarge + - c6g.4xlarge + - c6g.8xlarge + - c6g.12xlarge + - c6g.16xlarge + - c6g.metal + - c6gd.medium + - c6gd.large + - c6gd.xlarge + - c6gd.2xlarge + - c6gd.4xlarge + - c6gd.8xlarge + - c6gd.12xlarge + - c6gd.16xlarge + - c6gd.metal + - c6gn.medium + - c6gn.large + - c6gn.xlarge + - c6gn.2xlarge + - c6gn.4xlarge + - c6gn.8xlarge + - c6gn.12xlarge + - c6gn.16xlarge - c6i.large - c6i.xlarge - c6i.2xlarge @@ -235,6 +487,26 @@ Parameters: - c6i.24xlarge - c6i.32xlarge - c6i.metal + - c6id.large + - c6id.xlarge + - c6id.2xlarge + - c6id.4xlarge + - c6id.8xlarge + - c6id.12xlarge + - c6id.16xlarge + - c6id.24xlarge + - c6id.32xlarge + - c6id.metal + - c6in.large + - c6in.xlarge + - c6in.2xlarge + - c6in.4xlarge + - c6in.8xlarge + - c6in.12xlarge + - c6in.16xlarge + - c6in.24xlarge + - c6in.32xlarge + - c6in.metal - c7a.medium - c7a.large - c7a.xlarge @@ -247,6 +519,40 @@ Parameters: - c7a.32xlarge - c7a.48xlarge - c7a.metal-48xl + - c7g.medium + - c7g.large + - c7g.xlarge + - c7g.2xlarge + - c7g.4xlarge + - c7g.8xlarge + - c7g.12xlarge + - c7g.16xlarge + - c7g.metal + - c7gd.medium + - c7gd.large + - c7gd.xlarge + - c7gd.2xlarge + - c7gd.4xlarge + - c7gd.8xlarge + - c7gd.12xlarge + - c7gd.16xlarge + - c7gd.metal + - c7gn.medium + - c7gn.large + - c7gn.xlarge + - c7gn.2xlarge + - c7gn.4xlarge + - c7gn.8xlarge + - c7gn.12xlarge + - c7gn.16xlarge + - c7gn.metal + - c7i-flex.large + - c7i-flex.xlarge + - c7i-flex.2xlarge + - c7i-flex.4xlarge + - c7i-flex.8xlarge + - c7i-flex.12xlarge + - c7i-flex.16xlarge - c7i.large - c7i.xlarge - c7i.2xlarge @@ -258,20 +564,77 @@ Parameters: - c7i.48xlarge - c7i.metal-24xl - c7i.metal-48xl - - c5n.large - - c5n.xlarge - - c5n.2xlarge - - c5n.4xlarge - - c5n.9xlarge - - c5n.18xlarge - - m5n.large - - m5n.xlarge - - m5n.2xlarge - - m5n.4xlarge - - m5n.8xlarge - - m5n.12xlarge - - m5n.16xlarge - - m5n.24xlarge + - c8g.medium + - c8g.large + - c8g.xlarge + - c8g.2xlarge + - c8g.4xlarge + - c8g.8xlarge + - c8g.12xlarge + - c8g.16xlarge + - c8g.24xlarge + - c8g.48xlarge + - c8g.metal-24xl + - c8g.metal-48xl + - m6a.large + - m6a.xlarge + - m6a.2xlarge + - m6a.4xlarge + - m6a.8xlarge + - m6a.12xlarge + - m6a.16xlarge + - m6a.24xlarge + - m6a.32xlarge + - m6a.48xlarge + - m6a.metal + - m6g.medium + - m6g.large + - m6g.xlarge + - m6g.2xlarge + - m6g.4xlarge + - m6g.8xlarge + - m6g.12xlarge + - m6g.16xlarge + - m6g.metal + - m6gd.medium + - m6gd.large + - m6gd.xlarge + - m6gd.2xlarge + - m6gd.4xlarge + - m6gd.8xlarge + - m6gd.12xlarge + - m6gd.16xlarge + - m6gd.metal + - m6i.large + - m6i.xlarge + - m6i.2xlarge + - m6i.4xlarge + - m6i.8xlarge + - m6i.12xlarge + - m6i.16xlarge + - m6i.24xlarge + - m6i.32xlarge + - m6i.metal + - m6id.large + - m6id.xlarge + - m6id.2xlarge + - m6id.4xlarge + - m6id.8xlarge + - m6id.12xlarge + - m6id.16xlarge + - m6id.24xlarge + - m6id.32xlarge + - m6id.metal + - m6idn.large + - m6idn.xlarge + - m6idn.2xlarge + - m6idn.4xlarge + - m6idn.8xlarge + - m6idn.12xlarge + - m6idn.16xlarge + - m6idn.24xlarge + - m6idn.32xlarge + - m6idn.metal - m6in.large - m6in.xlarge - m6in.2xlarge @@ -281,14 +644,67 @@ Parameters: - m6in.16xlarge - m6in.24xlarge - m6in.32xlarge - - r5n.large - - r5n.xlarge - - r5n.2xlarge - - r5n.4xlarge - - r5n.8xlarge - - r5n.12xlarge - - r5n.16xlarge - - r5n.24xlarge + - m6in.metal + - m7a.medium + - m7a.large + - m7a.xlarge + - m7a.2xlarge + - m7a.4xlarge + - m7a.8xlarge + - m7a.12xlarge + - m7a.16xlarge + - m7a.24xlarge + - m7a.32xlarge + - m7a.48xlarge + - m7a.metal-48xl + - m7g.medium + - m7g.large + - m7g.xlarge + - m7g.2xlarge + - m7g.4xlarge + - m7g.8xlarge + - m7g.12xlarge + - m7g.16xlarge + - m7g.metal + - m7gd.medium + - m7gd.large + - m7gd.xlarge + - m7gd.2xlarge + - m7gd.4xlarge + - m7gd.8xlarge + - m7gd.12xlarge + - m7gd.16xlarge + - m7gd.metal + - m7i-flex.large + - m7i-flex.xlarge + - m7i-flex.2xlarge + - m7i-flex.4xlarge + - m7i-flex.8xlarge + - m7i-flex.12xlarge + - m7i-flex.16xlarge + - m7i.large + - m7i.xlarge + - m7i.2xlarge + - m7i.4xlarge + - m7i.8xlarge + - m7i.12xlarge + - m7i.16xlarge + - m7i.24xlarge + - m7i.48xlarge + - m7i.metal-24xl + - m7i.metal-48xl + - m8g.medium + - m8g.large + - m8g.xlarge + - m8g.2xlarge + - m8g.4xlarge + - m8g.8xlarge + - m8g.12xlarge + - m8g.16xlarge + - m8g.24xlarge + - m8g.48xlarge + - m8g.metal-24xl + - m8g.metal-48xl ConstraintDescription: "Must be a valid EC2 instance type" InitialMeetAdminPassword: @@ -315,10 +731,11 @@ Parameters: AllowedPattern: ^.+$ ConstraintDescription: must be the name of an existing EC2 KeyPair. - AmiId: - Type: AWS::SSM::Parameter::Value - Default: /aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id - Description: AMI ID for the EC2 instances + OperatingSystem: + Description: OpenVidu EC2 operating system + Type: String + Default: "Ubuntu-24" + AllowedValues: ['Ubuntu-22', 'Ubuntu-24'] InitialNumberOfMediaNodes: Type: Number @@ -404,7 +821,7 @@ Metadata: - MasterNodeInstanceType - MediaNodeInstanceType - KeyName - - AmiId + - OperatingSystem - Label: default: Media Nodes Autoscaling Group configuration Parameters: @@ -441,6 +858,28 @@ Conditions: TurnTLSIsEnabled: !Or [!Not [!Equals [!Ref TurnDomainName, ""]], !Not [!Equals [!Ref TurnCertificateARN, ""]]] CreateRecordingsBucket: !Equals [!Ref S3AppDataBucketName, ""] CreateClusterDataBucket: !Equals [!Ref S3ClusterDataBucketName, ""] + IsMasterGraviton: !Or + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 't4g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'c6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'c7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'c7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'c8g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm6gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MasterNodeInstanceType ]], 'm8g'] + IsMediaGraviton: !Or + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 't4g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'c6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'c7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'c7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'c8g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm6gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref MediaNodeInstanceType ]], 'm8g'] # --- # Experimental TURN TLS with main domain ExperimentalTurnTLSWithMainDomain: @@ -458,6 +897,19 @@ Conditions: - "" # --- +Mappings: + ArmImage: + # aws ssm get-parameters-by-path --path "/aws/service/canonical/ubuntu/" --recursive --query "Parameters[*].Name" > canonical-ami.txt + Ubuntu-22: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/jammy/stable/current/arm64/hvm/ebs-gp2/ami-id}}' + Ubuntu-24: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/noble/stable/current/arm64/hvm/ebs-gp3/ami-id}}' + AmdImage: + Ubuntu-22: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id}}' + Ubuntu-24: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/noble/stable/current/amd64/hvm/ebs-gp3/ami-id}}' + Resources: OpenViduSharedInfo: @@ -1327,7 +1779,10 @@ Resources: HttpTokens: required IamInstanceProfile: Name: !Ref OpenViduMasterInstanceProfile - ImageId: !Ref AmiId + ImageId: !If + - IsMasterGraviton + - !FindInMap [ArmImage, !Ref OperatingSystem, ImageId] + - !FindInMap [AmdImage, !Ref OperatingSystem, ImageId] InstanceType: !Ref MasterNodeInstanceType KeyName: !Ref KeyName SecurityGroupIds: @@ -1720,7 +2175,10 @@ Resources: Arn: !GetAtt OpenViduMediaInstanceProfile.Arn SecurityGroupIds: - !GetAtt OpenViduMediaNodeSG.GroupId - ImageId: !Ref AmiId + ImageId: !If + - IsMediaGraviton + - !FindInMap [ArmImage, !Ref OperatingSystem, ImageId] + - !FindInMap [AmdImage, !Ref OperatingSystem, ImageId] KeyName: !Ref KeyName InstanceType: !Ref MediaNodeInstanceType UserData: diff --git a/openvidu-deployment/pro/singlenode/aws/cf-openvidu-singlenode.yaml b/openvidu-deployment/pro/singlenode/aws/cf-openvidu-singlenode.yaml index 211d9bb90..a98bc2d86 100644 --- a/openvidu-deployment/pro/singlenode/aws/cf-openvidu-singlenode.yaml +++ b/openvidu-deployment/pro/singlenode/aws/cf-openvidu-singlenode.yaml @@ -96,42 +96,27 @@ Parameters: Type: String Default: c6a.xlarge AllowedValues: - - t2.large - - t2.xlarge - - t2.2xlarge + - t3.nano + - t3.micro + - t3.small - t3.medium - t3.large - t3.xlarge - t3.2xlarge - - m4.large - - m4.xlarge - - m4.2xlarge - - m4.4xlarge - - m4.10xlarge - - m4.16xlarge - - m5.large - - m5.xlarge - - m5.2xlarge - - m5.4xlarge - - m5.8xlarge - - m5.12xlarge - - m5.16xlarge - - m5.24xlarge - - m6i.large - - m6i.xlarge - - m6i.2xlarge - - m6i.4xlarge - - m6i.8xlarge - - m6i.12xlarge - - m6i.16xlarge - - m6i.24xlarge - - m6i.32xlarge - - m6i.metal - - c4.large - - c4.xlarge - - c4.2xlarge - - c4.4xlarge - - c4.8xlarge + - t3a.nano + - t3a.micro + - t3a.small + - t3a.medium + - t3a.large + - t3a.xlarge + - t3a.2xlarge + - t4g.nano + - t4g.micro + - t4g.small + - t4g.medium + - t4g.large + - t4g.xlarge + - t4g.2xlarge - c5.large - c5.xlarge - c5.2xlarge @@ -140,6 +125,39 @@ Parameters: - c5.12xlarge - c5.18xlarge - c5.24xlarge + - c5.metal + - c5a.large + - c5a.xlarge + - c5a.2xlarge + - c5a.4xlarge + - c5a.8xlarge + - c5a.12xlarge + - c5a.16xlarge + - c5a.24xlarge + - c5ad.large + - c5ad.xlarge + - c5ad.2xlarge + - c5ad.4xlarge + - c5ad.8xlarge + - c5ad.12xlarge + - c5ad.16xlarge + - c5ad.24xlarge + - c5d.large + - c5d.xlarge + - c5d.2xlarge + - c5d.4xlarge + - c5d.9xlarge + - c5d.12xlarge + - c5d.18xlarge + - c5d.24xlarge + - c5d.metal + - c5n.large + - c5n.xlarge + - c5n.2xlarge + - c5n.4xlarge + - c5n.9xlarge + - c5n.18xlarge + - c5n.metal - c6a.large - c6a.xlarge - c6a.2xlarge @@ -151,6 +169,32 @@ Parameters: - c6a.32xlarge - c6a.48xlarge - c6a.metal + - c6g.medium + - c6g.large + - c6g.xlarge + - c6g.2xlarge + - c6g.4xlarge + - c6g.8xlarge + - c6g.12xlarge + - c6g.16xlarge + - c6g.metal + - c6gd.medium + - c6gd.large + - c6gd.xlarge + - c6gd.2xlarge + - c6gd.4xlarge + - c6gd.8xlarge + - c6gd.12xlarge + - c6gd.16xlarge + - c6gd.metal + - c6gn.medium + - c6gn.large + - c6gn.xlarge + - c6gn.2xlarge + - c6gn.4xlarge + - c6gn.8xlarge + - c6gn.12xlarge + - c6gn.16xlarge - c6i.large - c6i.xlarge - c6i.2xlarge @@ -161,6 +205,26 @@ Parameters: - c6i.24xlarge - c6i.32xlarge - c6i.metal + - c6id.large + - c6id.xlarge + - c6id.2xlarge + - c6id.4xlarge + - c6id.8xlarge + - c6id.12xlarge + - c6id.16xlarge + - c6id.24xlarge + - c6id.32xlarge + - c6id.metal + - c6in.large + - c6in.xlarge + - c6in.2xlarge + - c6in.4xlarge + - c6in.8xlarge + - c6in.12xlarge + - c6in.16xlarge + - c6in.24xlarge + - c6in.32xlarge + - c6in.metal - c7a.medium - c7a.large - c7a.xlarge @@ -173,6 +237,40 @@ Parameters: - c7a.32xlarge - c7a.48xlarge - c7a.metal-48xl + - c7g.medium + - c7g.large + - c7g.xlarge + - c7g.2xlarge + - c7g.4xlarge + - c7g.8xlarge + - c7g.12xlarge + - c7g.16xlarge + - c7g.metal + - c7gd.medium + - c7gd.large + - c7gd.xlarge + - c7gd.2xlarge + - c7gd.4xlarge + - c7gd.8xlarge + - c7gd.12xlarge + - c7gd.16xlarge + - c7gd.metal + - c7gn.medium + - c7gn.large + - c7gn.xlarge + - c7gn.2xlarge + - c7gn.4xlarge + - c7gn.8xlarge + - c7gn.12xlarge + - c7gn.16xlarge + - c7gn.metal + - c7i-flex.large + - c7i-flex.xlarge + - c7i-flex.2xlarge + - c7i-flex.4xlarge + - c7i-flex.8xlarge + - c7i-flex.12xlarge + - c7i-flex.16xlarge - c7i.large - c7i.xlarge - c7i.2xlarge @@ -184,20 +282,77 @@ Parameters: - c7i.48xlarge - c7i.metal-24xl - c7i.metal-48xl - - c5n.large - - c5n.xlarge - - c5n.2xlarge - - c5n.4xlarge - - c5n.9xlarge - - c5n.18xlarge - - m5n.large - - m5n.xlarge - - m5n.2xlarge - - m5n.4xlarge - - m5n.8xlarge - - m5n.12xlarge - - m5n.16xlarge - - m5n.24xlarge + - c8g.medium + - c8g.large + - c8g.xlarge + - c8g.2xlarge + - c8g.4xlarge + - c8g.8xlarge + - c8g.12xlarge + - c8g.16xlarge + - c8g.24xlarge + - c8g.48xlarge + - c8g.metal-24xl + - c8g.metal-48xl + - m6a.large + - m6a.xlarge + - m6a.2xlarge + - m6a.4xlarge + - m6a.8xlarge + - m6a.12xlarge + - m6a.16xlarge + - m6a.24xlarge + - m6a.32xlarge + - m6a.48xlarge + - m6a.metal + - m6g.medium + - m6g.large + - m6g.xlarge + - m6g.2xlarge + - m6g.4xlarge + - m6g.8xlarge + - m6g.12xlarge + - m6g.16xlarge + - m6g.metal + - m6gd.medium + - m6gd.large + - m6gd.xlarge + - m6gd.2xlarge + - m6gd.4xlarge + - m6gd.8xlarge + - m6gd.12xlarge + - m6gd.16xlarge + - m6gd.metal + - m6i.large + - m6i.xlarge + - m6i.2xlarge + - m6i.4xlarge + - m6i.8xlarge + - m6i.12xlarge + - m6i.16xlarge + - m6i.24xlarge + - m6i.32xlarge + - m6i.metal + - m6id.large + - m6id.xlarge + - m6id.2xlarge + - m6id.4xlarge + - m6id.8xlarge + - m6id.12xlarge + - m6id.16xlarge + - m6id.24xlarge + - m6id.32xlarge + - m6id.metal + - m6idn.large + - m6idn.xlarge + - m6idn.2xlarge + - m6idn.4xlarge + - m6idn.8xlarge + - m6idn.12xlarge + - m6idn.16xlarge + - m6idn.24xlarge + - m6idn.32xlarge + - m6idn.metal - m6in.large - m6in.xlarge - m6in.2xlarge @@ -207,14 +362,67 @@ Parameters: - m6in.16xlarge - m6in.24xlarge - m6in.32xlarge - - r5n.large - - r5n.xlarge - - r5n.2xlarge - - r5n.4xlarge - - r5n.8xlarge - - r5n.12xlarge - - r5n.16xlarge - - r5n.24xlarge + - m6in.metal + - m7a.medium + - m7a.large + - m7a.xlarge + - m7a.2xlarge + - m7a.4xlarge + - m7a.8xlarge + - m7a.12xlarge + - m7a.16xlarge + - m7a.24xlarge + - m7a.32xlarge + - m7a.48xlarge + - m7a.metal-48xl + - m7g.medium + - m7g.large + - m7g.xlarge + - m7g.2xlarge + - m7g.4xlarge + - m7g.8xlarge + - m7g.12xlarge + - m7g.16xlarge + - m7g.metal + - m7gd.medium + - m7gd.large + - m7gd.xlarge + - m7gd.2xlarge + - m7gd.4xlarge + - m7gd.8xlarge + - m7gd.12xlarge + - m7gd.16xlarge + - m7gd.metal + - m7i-flex.large + - m7i-flex.xlarge + - m7i-flex.2xlarge + - m7i-flex.4xlarge + - m7i-flex.8xlarge + - m7i-flex.12xlarge + - m7i-flex.16xlarge + - m7i.large + - m7i.xlarge + - m7i.2xlarge + - m7i.4xlarge + - m7i.8xlarge + - m7i.12xlarge + - m7i.16xlarge + - m7i.24xlarge + - m7i.48xlarge + - m7i.metal-24xl + - m7i.metal-48xl + - m8g.medium + - m8g.large + - m8g.xlarge + - m8g.2xlarge + - m8g.4xlarge + - m8g.8xlarge + - m8g.12xlarge + - m8g.16xlarge + - m8g.24xlarge + - m8g.48xlarge + - m8g.metal-24xl + - m8g.metal-48xl ConstraintDescription: "Must be a valid EC2 instance type" KeyName: @@ -223,10 +431,11 @@ Parameters: AllowedPattern: ^.+$ ConstraintDescription: must be the name of an existing EC2 KeyPair. - AmiId: - Type: AWS::SSM::Parameter::Value - Default: /aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id - Description: AMI ID for the EC2 instances + OperatingSystem: + Description: OpenVidu EC2 operating system + Type: String + Default: "Ubuntu-24" + AllowedValues: ['Ubuntu-22', 'Ubuntu-24'] S3AppDataBucketName: Type: String @@ -258,7 +467,7 @@ Metadata: Parameters: - InstanceType - KeyName - - AmiId + - OperatingSystem - Label: default: S3 bucket for application data and recordings Parameters: @@ -278,6 +487,30 @@ Conditions: PublicElasticIPPresent: !Not [ !Equals [!Ref PublicElasticIP, ""] ] PublicElasticIPAbsent: !Equals [!Ref PublicElasticIP, ""] CreateRecordingsBucket: !Equals [!Ref S3AppDataBucketName, ""] + IsGraviton: !Or + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 't4g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'c6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'c7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'c7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'c8g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm6g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm6gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm7g'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm7gd'] + - !Equals [ !Select [ 0, !Split ['.', !Ref InstanceType ]], 'm8g'] + +Mappings: + ArmImage: + # aws ssm get-parameters-by-path --path "/aws/service/canonical/ubuntu/" --recursive --query "Parameters[*].Name" > canonical-ami.txt + Ubuntu-22: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/jammy/stable/current/arm64/hvm/ebs-gp2/ami-id}}' + Ubuntu-24: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/noble/stable/current/arm64/hvm/ebs-gp3/ami-id}}' + AmdImage: + Ubuntu-22: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id}}' + Ubuntu-24: + ImageId: '{{resolve:ssm:/aws/service/canonical/ubuntu/server/noble/stable/current/amd64/hvm/ebs-gp3/ami-id}}' Resources: @@ -858,7 +1091,10 @@ Resources: owner: "root" group: "root" Properties: - ImageId: !Ref AmiId + ImageId: !If + - IsGraviton + - !FindInMap [ArmImage, !Ref OperatingSystem, ImageId] + - !FindInMap [AmdImage, !Ref OperatingSystem, ImageId] LaunchTemplate: # Enable IMDSv2 by default LaunchTemplateId: !Ref IMDSv2LaunchTemplate