Come faccio a impostare le proprietà del volume root di un'istanza Amazon EC2 che ho creato utilizzando un modello AWS CloudFormation?

4 minuti di lettura
0

Desidero impostare le proprietà del volume root di un'istanza Amazon Elastic Compute Cloud (Amazon EC2) che ho creato utilizzando un modello AWS CloudFormation. Ad esempio, voglio modificare la dimensione o abilitare la crittografia del volume root.

Breve descrizione

Per impostare le proprietà del volume root di un'istanza EC2, devi identificare il nome del dispositivo del volume root di Amazon Machine Image (AMI). Quindi, puoi utilizzare la proprietà BlockDeviceMapping di una risorsa AWS::EC2::Instance per impostare le proprietà del volume root.

Nota: per impostazione predefinita, i dispositivi a blocchi specificati nella mappatura dei dispositivi a blocchi di AMI vengono utilizzati dall'istanza EC2. Per sovrascrivere la mappatura dei dispositivi a blocchi AMI, utilizza la mappatura dei dispositivi a blocchi dell’istanza. Per il volume principale, puoi sovrascrivere solo la dimensione del volume, il tipo di volume e l'impostazione DeleteOnTermination. Dopo l'esecuzione dell'istanza, puoi modificare solo l'impostazione DeleteOnTermination dei volumi Amazon Elastic Block Store (Amazon EBS) collegati.

Nota: se si verificano errori durante l'esecuzione dei comandi dell’interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.

Risoluzione

Identificazione del nome del dispositivo del volume root di AMI

Per trovare il nome del dispositivo, completa i seguenti passaggi nella console Amazon EC2 o nell'interfaccia della linea di comando di AWS (AWS CLI).

Con la console Amazon EC2:

1.    Apri la console Amazon EC2.

2.    Nella barra di navigazione, seleziona la Regione AWS in cui desideri avviare le istanze.

3.    Nel riquadro di navigazione, scegli AMI.

4.    Usa l'opzione Filtra per trovare la AMI, quindi selezionala.

5.    Nella scheda Dettagli, trova Nome dispositivo root. Qui è indicato il nome del dispositivo root.

Con il comando AWS CLI:

Nell'interfaccia della linea di comando AWS (AWS CLI), esegui il seguente comando:

aws ec2 describe-images \
    --region us-east-1 \
    --image-ids ami-1234567890AWSEXAMPLE

Nota: sostituisci us-east-1 con la tua Regione. Sostituisci ami-1234567890AWSEXAMPLE con la tua AMI.

L'output del comando precedente restituisce il campo RootDeviceName, che mostra il nome del dispositivo del volume root.

Impostazione delle proprietà del volume root per l’istanza EC2

Usa la proprietà BlockDeviceMapping di una risorsa AWS::EC2::Instance per impostare le proprietà del volume root per l’istanza EC2.

Nei seguenti esempi JSON e YAML, AWS CloudFormation crea un'istanza EC2 con la dimensione del volume root impostata su 30 GB.

Nei modelli JSON e YAML, la proprietà DeleteOnTermination del volume root è impostata su true. DeviceName è impostata su /dev/xvda perché la AMI specificata è una AMI Amazon Linux 2. Infine, la proprietà Encrypted è impostata su true, che abilita la crittografia predefinita nel volume root.

Importante: nel tuo modello, sostituisci /dev/xvda con il valore della proprietà Nome dispositivo root che hai identificato in precedenza. Quindi, modifica la proprietà Ebs nel modello in base alle tue esigenze.

Modello JSON:

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "AWS CloudFormation Sample Template that shows how to increase the size of the root volume. **WARNING** This template creates an Amazon EC2 instance. You will be billed for the AWS resource used if you create a stack from this template.",
  "Parameters": {
    "KeyName": {
      "Type": "AWS::EC2::KeyPair::KeyName",
      "Description": "Name of an existing EC2 KeyPair to enable SSH access to the EC2 instance."
    },
    "InstanceType": {
      "Description": "EC2 instance type",
      "Type": "String",
      "Default": "t2.micro",
      "ConstraintDescription": "Please choose a valid instance type."
    },
    "AMIID": {
      "Description": "The Latest Amazon Linux 2 AMI taken from the public AWS Systems Manager Parameter Store",
      "Type": "AWS::SSM::Parameter::Value<String>",
      "Default": "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2"
    }
  },
  "Resources": {
    "LinuxInstance": {
      "Type": "AWS::EC2::Instance",
      "Properties": {
        "ImageId": {
          "Ref": "AMIID"
        },
        "InstanceType": {
          "Ref": "InstanceType"
        },
        "KeyName": {
          "Ref": "KeyName"
        },
        "BlockDeviceMappings": [
          {
            "DeviceName": "/dev/xvda",
            "Ebs": {
              "VolumeType": "gp2",
              "VolumeSize": "30",
              "DeleteOnTermination":"false",
              "Encrypted": "true"
            }
          }
        ]
      }
    }
  }
}

Modello YAML:

AWSTemplateFormatVersion: 2010-09-09
Description: >-
  AWS CloudFormation Sample Template that shows how to increase the size of the root volume. **WARNING** This template creates an Amazon EC2 instance. You will be billed for the AWS resource used if you create a stack from this template.
Parameters:
  KeyName:
    Type: 'AWS::EC2::KeyPair::KeyName'
    Description: Name of an existing EC2 KeyPair to enable SSH access to the EC2 instance.
  InstanceType:
    Description: EC2 instance type
    Type: String
    Default: t2.micro
    ConstraintDescription: Please choose a valid instance type.
  AMIID:
    Description: >-
      The Latest Amazon Linux 2 AMI taken from the public Systems Manager
      Parameter Store
    Type: 'AWS::SSM::Parameter::Value<String>'
    Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
Resources:
  LinuxInstance:
    Type: 'AWS::EC2::Instance'
    Properties:
      ImageId: !Ref AMIID
      InstanceType: !Ref InstanceType
      KeyName: !Ref KeyName
      BlockDeviceMappings:
        - DeviceName: /dev/xvda
          Ebs:
            VolumeType: gp2
            VolumeSize: '30'
            DeleteOnTermination: 'false'
            Encrypted: 'true'

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa