Salta al contenuto

Come posso configurare le istanze in un gruppo EC2 Auto Scaling che non dispone di accesso a Internet per inviare metriche e log a CloudWatch?

3 minuti di lettura
0

Ho un'istanza Amazon Elastic Compute Cloud (Amazon EC2) in un gruppo Amazon EC2 Auto Scaling che non ha accesso a Internet. Desidero che l'istanza Amazon EC2 invii log e metriche ad Amazon CloudWatch.

Risoluzione

Per configurare le istanze EC2 in un gruppo EC2 Auto Scaling in modo che inviino metriche e log a CloudWatch, intraprendi le seguenti azioni.

Installa l'agente CloudWatch

Installa l'agente CloudWatch su un'istanza che ha accesso a Internet. Oppure utilizza un'istanza esistente che invia già log e metriche a CloudWatch con l'agente CloudWatch.

Nota: includi il nome del gruppo Auto Scaling come dimensione nella configurazione dell'agente CloudWatch. L'agente recupera questo nome dai tag dell'istanza e da altri metadati, come ImageId, InstanceId e InstanceType.

Quindi verifica che l'agente CloudWatch invii correttamente metriche e log a CloudWatch.

Crea un modello di avvio per il gruppo EC2 Auto Scaling

Crea un modello di avvio per il gruppo EC2 Auto Scaling.

Scegli Dettagli avanzati. Quindi scegli Profilo dell’istanza IAM e Dati utente. In Dati utente, inserisci uno script per installare e configurare l'agente CloudWatch in base al JSON che hai configurato. Per Profilo dell’istanza IAM, seleziona il ruolo AWS Identity and Access Management (AWS IAM) che consente alle istanze EC2 di inviare metriche e log a CloudWatch. Per informazioni su queste impostazioni avanzate, consulta Impostazioni avanzate.

Esempio di script di dati utente in un'istanza:

#!/bin/bashcd /tmp
wget https://s3.REGION.amazonaws.com/amazoncloudwatch-agent-REGION/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
rpm -U ./amazon-cloudwatch-agent.rpm
cat << EOF > /opt/aws/amazon-cloudwatch-agent/bin/config.json
{
  "agent": {
    "metrics_collection_interval": 60
  },
  "metrics": {
    "append_dimensions": {
      "InstanceId": "\${aws:InstanceId}"
    },
    "metrics_collected": {
      "disk": {
        "measurement": [
          "disk_used_percent"
        ],
        "resources": [
          "*"
        ]
      },
      "mem": {
        "measurement": [
          "mem_used_percent"
        ]
      }
    }
  }
}
EOF
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s

Nota: sostituisci REGION con la tua Regione AWS. Per evitare i caratteri speciali all'interno del file config.json, utilizza la barra rovesciata (\). Lo script configura l'agente CloudWatch per monitorare l'utilizzo della memoria e del disco, quindi avvia l'agente. Assicurati di utilizzare il link di download per la Regione del gruppo EC2 Auto Scaling.

Crea endpoint VPC per le metriche e i log

Crea endpoint Virtual Private Cloud (VPC) di interfaccia per le metriche di CloudWatch e i log di Amazon CloudWatch sul VPC che ospita le sottoreti private. Quindi aggiorna le policy degli endpoint con policy personalizzate per consentire le azioni di CloudWatch richieste. Per informazioni sugli endpoint di servizio, consulta Endpoint e quote di Amazon CloudWatch.

Nota: assicurati di utilizzare l'endpoint che corrisponde alla Regione del gruppo EC2 Auto Scaling. Ad esempio, se il gruppo EC2 Auto Scaling si trova nella Regione eu-west-2, utilizza monitoring.eu-west-2.amazonaws.com per le metriche e logs.eu-west-2.amazonaws.com per i log.

Esempio di policy degli endpoint VPC di CloudWatch:

{  "Statement": [
    {
      "Sid": "PutOnly",
      "Principal": "*",
      "Action": [
        "cloudwatch:PutMetricData"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

Esempio di policy degli endpoint VPC di CloudWatch Logs:

{  "Statement": [
    {
      "Sid": "PutOnly",
      "Principal": "*",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

Quindi crea un endpoint VPC gateway per Amazon Simple Storage Service (Amazon S3) sul VPC che ospita le sottoreti private. Questo endpoint consente alle istanze nelle sottoreti private di scaricare il pacchetto dell'agente CloudWatch.

Crea un gruppo EC2 Auto Scaling

Crea un gruppo EC2 Auto Scaling con sottoreti private attivate dal modello di avvio che hai creato.

AWS UFFICIALEAggiornata un anno fa