

# Recopilador administrado conectado a una VPC
<a name="managed-prometheus-collectors-vpc-setup"></a>

El recopilador de Prometheus administrado por Amazon CloudWatch y conectado a una VPC extrae métricas compatibles con Prometheus de cualquier recurso al que se pueda acceder en su VPC: instancias de Amazon EC2 y tareas de Amazon ECS. Usted proporciona subredes y un grupo de seguridad y el recopilador crea interfaces de red elásticas (ENI) y extrae los puntos de conexión de `/metrics` de Prometheus según su configuración.

Para ver tutoriales detallados y específicos de las cargas de trabajo, consulte las soluciones de observabilidad de CloudWatch para la recopilación de métricas de Prometheus: [Solución de Amazon CloudWatch: recopilación de métricas de Prometheus en Amazon EC2](Solution-Prometheus-On-EC2.md) y [Solución de Amazon CloudWatch: recopilación de métricas de Prometheus en Amazon ECS](Solution-Prometheus-On-ECS.md).

## Requisitos previos
<a name="managed-prometheus-collectors-vpc-prerequisites"></a>

En este procedimiento se presupone que está familiarizado con las subredes de Amazon VPC, los grupos de seguridad y los puntos de conexión de los exportadores de Prometheus.
+ Amazon VPC con DNS habilitado
+ Al menos dos subredes en diferentes zonas de disponibilidad.
+ Grupo de seguridad que permita al recopilador acceder a los puertos del exportador de destino
+ Destinos que exponen un punto de conexión de `/metrics` compatible con Prometheus.

El recopilador envía métricas extraídas a CloudWatch a través de la red de AWS sin atravesar la red pública de Internet. Las subredes y los grupos de seguridad que especifique proporcionan conectividad a sus objetivos de extracción; no proporcionan la ruta de envío a CloudWatch. No necesita configurar el acceso a Internet, una puerta de enlace de NAT ni un punto de conexión de VPC de interfaz de CloudWatch en su VPC para el envío de métricas.

## Crear un raspador
<a name="managed-prometheus-collectors-vpc-create-scraper"></a>

Puede utilizar [GetDefaultScraperConfiguration](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_GetDefaultScraperConfiguration.html) para recuperar la configuración de un extractor de uso general o proporcionar la suya propia.

------
#### [ AWS API ]

Utilice la operación de la API `CreateScraper` para crear un extractor con un destino de CloudWatch. Sustituya la información de subred, grupo de seguridad y conjunto de datos por sus propios valores.

```
POST /scrapers HTTP/1.1

{
  "alias": "vpc-metrics-scraper",
  "source": {
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  },
  "destination": {
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  },
  "scrapeConfiguration": {
    "configurationBlob": "{{base64-encoded-blob}}"
  }
}
```

------
#### [ AWS CLI ]

Utilice el comando `create-scraper` para crear un extractor con un destino de CloudWatch. Sustituya la información de subred, grupo de seguridad y conjunto de datos por sus propios valores.

```
aws amp create-scraper \
  --alias "vpc-metrics-scraper" \
  --source '{
    "vpcConfiguration": {
      "subnetIds": ["{{subnet-subnet-id-1}}", "{{subnet-subnet-id-2}}"],
      "securityGroupIds": ["{{sg-security-group-id}}"]
    }
  }' \
  --scrape-configuration configurationBlob=$(cat {{scrape-config.yaml}} | base64 -w 0) \
  --destination '{
    "cloudWatchConfiguration": {
      "datasetArn": "arn:aws:cloudwatch:{{us-west-2}}:{{123456789012}}:dataset/default"
    }
  }'
```

------

## Recopilación de métricas de Amazon EC2
<a name="managed-prometheus-collectors-vpc-ec2"></a>

Para extraer métricas de instancias de Amazon EC2 que ejecutan exportadores de Prometheus como DCGM Exporter o Node Exporter, utilice `static_configs` con las direcciones IP privadas de las instancias:

```
global:
  scrape_interval: 60s

scrape_configs:
  - job_name: 'ec2-node-exporter'
    static_configs:
      - targets:
          - '{{10.0.1.10}}:9100'
          - '{{10.0.1.11}}:9100'
    relabel_configs:
      - source_labels: [__address__]
        target_label: instance
      - target_label: compute_platform
        replacement: 'ec2'

  - job_name: 'ec2-dcgm-exporter'
    static_configs:
      - targets:
          - '{{10.0.1.10}}:9400'
          - '{{10.0.1.11}}:9400'
    relabel_configs:
      - source_labels: [__address__]
        target_label: instance
      - target_label: compute_platform
        replacement: 'ec2'
```

## Recopilación de métricas de Amazon ECS
<a name="managed-prometheus-collectors-vpc-ecs"></a>

Para las tareas de Amazon ECS que registre en AWS Cloud Map, utilice la detección de servicios de DNS para buscar y extraer automáticamente sus contenedores.

```
global:
  scrape_interval: 60s

scrape_configs:
  - job_name: 'ecs-services'
    dns_sd_configs:
      - names:
          - '{{my-service.my-namespace.local}}'
        type: A
        port: 9090
    relabel_configs:
      - source_labels: [__meta_dns_name]
        target_label: service_name
      - source_labels: [__address__]
        target_label: instance
      - target_label: compute_platform
        replacement: 'ecs'
```

## Observabilidad entre cuentas
<a name="managed-prometheus-collectors-vpc-cross-account"></a>

Para la supervisión de VPC entre cuentas, recomendamos utilizar la centralización de métricas de Amazon CloudWatch. Para obtener más información, consulte [Centralización de métricas de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html).

Para ver configuraciones alternativas de extractores multicuenta, consulte [Extractores multicuenta](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-cross-account.html) en la *Guía del usuario de Amazon Managed Service para Prometheus*.

## Prácticas recomendadas de seguridad
<a name="managed-prometheus-collectors-vpc-security"></a>
+ Especifique subredes privadas sin acceso directo a Internet para los ENI del recopilador.
+ Restrinja la entrada del grupo de seguridad al grupo de seguridad del extractor únicamente en los puertos del exportador específicos.
+ Siempre que sea posible, habilite el cifrado TLS en tránsito para todos los puntos de conexión del exportador.