¿Cómo puedo configurar las instancias de EC2 de un grupo de escalamiento automático que no tiene acceso a Internet para que envíen métricas y registros a CloudWatch?

6 minutos de lectura
0

Tengo una instancia de Amazon Elastic Compute Cloud (Amazon EC2) en un grupo de escalamiento automático de Amazon EC2 que no tiene acceso a Internet. Quiero que la instancia envíe registros y métricas a Amazon CloudWatch.

Resolución

1.    Instale el agente de CloudWatch en su instancia de Amazon EC2. Esta instancia debe disponer de conexión a Internet. También puede elegir una instancia de EC2 que ya esté enviando los registros y las métricas a CloudWatch, utilizando el agente CloudWatch.

2.    Compruebe que el agente CloudWatch está enviando métricas y registros desde su instancia de EC2.

3.    Cree una plantilla de lanzamiento para el grupo de escalamiento automático. En su plantilla de lanzamiento, complete los siguientes pasos en la configuración avanzada:
En el perfil de instancia de IAM, seleccione el rol de AWS Identity and Access Management (IAM) correcto que permita a las instancias enviar las métricas y los registros a CloudWatch.
En los datos de usuario, introduzca un script similar al del siguiente ejemplo. Utilice una versión personalizada de este script para instalar y configurar el agente de CloudWatch basándose en la configuración JSON del paso 1**:
** Nota: El siguiente script de datos de usuario instala el agente CloudWatch en una instancia de EC2 para Linux. El script configura el agente para supervisar la utilización de la memoria y el disco y, a continuación, inicia el agente. Debe utilizar el enlace de descarga para la región de AWS específica de su grupo de escalamiento automático.

#!/bin/bash
cd /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

4.    Añada puntos de conexión de nube virtual privada (VPC) de interfaz para la supervisión de CloudWatch y los registros de Amazon CloudWatch a la VPC que aloja las subredes privadas. Para encontrar el punto de conexión correcto, consulte Puntos de conexión y cuotas de Amazon CloudWatch. Para permitir solo las acciones necesarias de CloudWatch en estos puntos de conexión de la VPC, actualice las políticas de los puntos de conexión con políticas personalizadas.

Consulte el siguiente ejemplo de política para el punto de conexión VPC de supervisión de CloudWatch:

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

Consulte el siguiente ejemplo de política para el punto de conexión VPC de los registros de CloudWatch:

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

Para ver más detalles, consulte la sección Consideraciones para crear un punto de conexión VPC de interfaz.

5.    Añada un punto de conexión de puerta de enlace entre la nube virtual privada (VPC) de Amazon Simple Storage Service (Amazon S3) y la VPC que aloja las subredes privadas. Esto permite que el script de datos de usuario de las instancias de las subredes privadas acceda al paquete del agente de CloudWatch y lo descargue de Amazon S3.

6.    Cree un grupo de escalamiento automático (con las subredes privadas activadas) utilizando la plantilla de lanzamiento que ha creado en el paso 3. El agente CloudWatch se ejecuta en las instancias que lance en este grupo de escalamiento automático. El agente también envía métricas y registros a través de los puntos de conexión de la interfaz VPC que ha creado en el paso 4.

Consideraciones para crear un punto de conexión de VPC de interfaz

  • Asegúrese de utilizar el punto de conexión que se corresponda con la región de su grupo de escalamiento automático. Por ejemplo, si el grupo de escalamiento automático se encuentra en la región de Londres, el punto de conexión para las métricas es monitoring.eu-west-2.amazonaws.com. El punto de conexión para los registros en este supuesto es logs.eu-west-2.amazonaws.com.
  • Confirme que ha activado la opción Habilitar nombre de DNS privado. Solo puede habilitar esta opción si los atributos Habilitar nombres de host DNS y Habilitar compatibilidad DNS están establecidos como verdadero para la VPC. Si esta opción está deshabilitada, el punto de conexión de la interfaz de la VPC no se asigna al punto de conexión del servicio. Como resultado, las instancias no pueden acceder al punto de conexión del servicio público. La activación de esta opción asigna el punto final del servicio al punto final de la interfaz de la VPC y hace que la comunicación con el punto de conexión del servicio sea privada. Por defecto, el agente de CloudWatch se conecta a este punto de conexión. Si es necesario, puede utilizar el parámetro endpoint\override en el archivo de configuración del agente para anular el punto de conexión predeterminado.
  • Confirme que las reglas del grupo de seguridad permiten la comunicación entre la interfaz de red del punto de conexión y los recursos de su VPC que se comunican con el servicio. Las llamadas a la API para enviar los registros y las métricas son solicitudes GET/POST basadas en HTTPS. El grupo de seguridad de la interfaz de red del punto de conexión requiere reglas de entrada para el protocolo HTTPS desde las IP de origen. Las direcciones IP de origen son las direcciones IP de las instancias de EC2 que envían las métricas y los registros, o el CIDR de la VPC.
  • Cuando las instancias formen parte de un grupo de escalamiento automático, especifique una de las dimensiones como nombre del grupo de escalamiento automático en el archivo de configuración del agente. Para encontrar el nombre del grupo de escalamiento automático, el agente obtiene las etiquetas asociadas a la instancia del punto de conexión de Amazon EC2. Para el servicio Amazon EC2 debe añadir el punto de conexión de la interfaz de la VPC. El agente obtiene los valores ImageId, InstanceId e InstanceType de los metadatos de la instancia de EC2.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año