Conecte AWS (CloudFormation)

Deploy the generated CloudFormation template, choose organization or single account and optional features, then verify.

Conecte AWS (CloudFormation)

Otorgue a CostGlass acceso de solo lectura a su factura de AWS implementando una plantilla de CloudFormation que CostGlass genera para usted.

Where in CostGlassSettings → Cloud Accounts → Connect a New Cloud Account or Platform
PlanAll plans
Who can do thisOwner or Admin in CostGlass; someone who can create IAM roles and CloudFormation stacks in AWS
Time neededAbout 10 minutes, plus up to 24 hours for the first data
En resumen
  • Implementa una plantilla en la región de AWS us-east-1. Crea una exportación de costo y uso, un depósito S3 para ella y una función denominada CostGlassCURReader que solo CostGlass puede asumir.
  • Elija AWS Organization (implemente una vez en la cuenta de administración, le siguen las cuentas de miembros) o Cuenta única.
  • El Programador de instancias, el tamaño correcto y el tiempo de actividad son opcionales. Una característica que no marque quedará completamente fuera de la plantilla.
  • Solo el Programador de instancias puede cambiar algo en su cuenta (iniciar y detener). Todo lo demás es de sólo lectura.
  • AWS necesita hasta 24 horas para entregar la primera exportación. CostGlass lo recoge automáticamente.
Antes de empezar
  • Un inicio de sesión en AWS. Para una organización de AWS, la cuenta de administración (pagador). Para una sola cuenta, la cuenta que paga la factura.
  • Permiso en AWS para crear pilas de CloudFormation que contienen recursos de IAM (denominados recursos de IAM).
  • Para una organización: el acceso confiable de CloudFormation StackSets está habilitado (un paso único, que se explica a continuación).
  • Capacidad sobrante en tu plan. Consulte los límites de conexión en la descripción general.

Cómo funciona la conexión

CostGlass nunca solicita una clave de acceso de AWS. En cambio, la plantilla crea un IAM rol en tu cuenta. Un rol es un conjunto de permisos que una persona externa de confianza puede tomar prestados durante un período breve. El rol confía únicamente en la cuenta de CostGlass AWS y solo cuando presenta su Identificación externa.

Identificación externa
Un largo secreto aleatorio generado para esta conexión. El papel lo rechaza cualquiera que no lo presente. Evita que otro cliente de AWS engañe a CostGlass para que lea su cuenta.
Exportación de costos y usos (CUR)
AWS Billing escribe un archivo detallado de cada cargo, cada hora, en un depósito S3 de su cuenta. CostGlass lee esos archivos. Así llegan tus datos de costes.
Conjunto de pilas
Una característica de CloudFormation que implementa la misma pila en muchas cuentas. La plantilla de Organización utiliza uno para crear el rol de cuenta de miembro.

Qué crea la plantilla:

RecursoNombreObjetivo
Cubo S3costglass-cur-exports-<su ID de cuenta>Recibe la exportación. Cifrado, todo el acceso público bloqueado. Una política de depósito permite que AWS Billing escriba en él.
Exportación de costos y usoCostoGlassCURExportarCada hora, con ID de recursos, CSV comprimido con gzip, en la carpeta cur.
rol de IAMCostGlassCURReaderEl papel que asume CostGlass. Confía en la cuenta CostGlass y en su ID externa.
Solo organización: StackSetRoles-de-los-miembros-de-la-organización-de-CostGlassCrea una función denominada CostGlassReadOnly en cada cuenta de miembro, incluidas las cuentas que se unen más tarde.

Conecte AWS, paso a paso

Cuentas en la nube → AWS. El mismo asistente también aparece en la pantalla de primera ejecución.
1
Abrir el asistente
Go to Settings → Cloud Accounts. In the section Connect a New Cloud Account or Platform click the AWS card under Connect a cloud. (En la pantalla de primera ejecución, el asistente ya está en AWS).
2
Elige el tipo de cuenta
Under Account type choose AWS Organization (deploy once in the management account; the role is rolled out to every member account) or Single account (an account that is not part of an Organization).
3
Elige las características
Under Features, Cost & Usage Report (CUR) is always on. Tick any of Instance Scheduler, Rightsizing recommendations and Resource uptime monitoring. Each shows a Read-only or Write access tag and lists its permissions. Consulte la tabla en la siguiente sección.
4
Generar la plantilla
Click Generate my template. CostGlass crea la conexión y su ID externa. Si sales y regresas antes de terminar, se reutilizan la misma conexión pendiente y el mismo ID externo.
5
Descarga la plantilla
On Deploy the CloudFormation template click Download or Copy template. La página también enumera exactamente qué permisos otorga la plantilla. Su ID externa está precompletada dentro del archivo.
6
Cambiar AWS a us-east-1
En la consola de AWS, configure la región en us-east-1 (Norte de Virginia). Esto se aplica incluso si todos sus servidores se ejecutan en otro lugar: el recurso de exportación de Costo y Uso solo existe allí.
7
Solo organización: habilitar el acceso confiable
Una vez, desde la cuenta de gestión: CloudFormation → StackSets → Habilite el acceso confiable con AWS Organizations.
8
Crea la pila
En AWS abierto CloudFormation → Crear pila → Con nuevos recursos → Cargar un archivo de plantilla, choose the file, leave the parameters as generated, tick the acknowledgement that IAM resources will be created (CAPABILITY_NAMED_IAM), and create the stack. Espera CREATE_COMPLETE, usually three to five minutes.
9
Copiar las salidas
Open the stack's Salidas tab and copy rolArn y Nombre del depósito.
10
Verificar y conectar
Back in CostGlass click I have deployed it. Fill in the fields below and click Verify & connect.

El formulario de verificación

CampoQué ingresarPredeterminado
Nombre para esta integración (opcional)A label you will recognise, for example "Acme production organisation".AWS CUR Export (<account ID>)
ARN de rol (Salidas: RoleArn)La salida de RoleArn. Parece arn:aws:iam::123456789012:role/CostGlassCURReader.Ninguno
Depósito S3 (Salidas: Nombre del depósito)La salida de BucketName.Ninguno
PrefijoLa carpeta dentro del cubo.canalla/
RegiónLa región del cubo.nosotros-este-1

CostGlass asume el rol con su ID externo y enumera el depósito antes ahorro. Un error tipográfico se rechaza aquí, ni un día después.

Lo que ves después

El asistente pasa a AWS conectado y muestra uno de estos mensajes:

MensajeSignificado
N registros sincronizados de M archivos.Ya llegaron los datos.
La primera importación se ejecuta en segundo plano. Tus datos aparecerán en unos minutos.Una gran exportación se está leyendo por etapas. No tienes nada que hacer.
Conectado. AWS aún no ha entregado la primera exportación...Normal en una nueva configuración. Hasta 24 horas. CostGlass vuelve a comprobarlo cada 6 horas.
El depósito aún no se ha podido leer: ...Lea el motivo y luego consulte las preguntas frecuentes a continuación.

La entrega de cheques ahora ejecuta el cheque inmediatamente. Integrar otro inicia una nueva conexión.

Qué agrega cada característica

Los permisos se enumeran exactamente como los otorga la plantilla.

CaracterísticaAccesoPermisos agregados
Informe de costo y uso (siempre)Sólo lecturas3:GetObject y s3:ListBucket solo en el depósito de exportación; presupuestos:VerPresupuesto; organizaciones: Lista de cuentas; llamadas Describe y List de solo lectura para EC2, IP elásticas, instantáneas, volúmenes, balanceadores de carga, RDS, ECS, ElastiCache, Redshift, DynamoDB y EMR; reloj en la nube:GetMetricStatistics; iam:SimulatePrincipalPolicy.
Programador de instanciasEscribirec2:StartInstances y ec2:StopInstances en instancias; escalado automático: actualice AutoScalingGroup en grupos de Auto Scaling.
Recomendaciones de tamaño adecuadoSólo lecturareloj en la nube:GetMetricData, reloj en la nube:ListMetrics; optimizador de cálculo: GetEC2InstanceRecommendations, optimizador de cálculo: GetRDSDatabaseRecommendations.
Monitoreo del tiempo de actividad de los recursosSólo lecturaec2: Describir estado de instancia; cloudwatch:DescribeAlarms, cloudwatch:GetMetricData; balanceo de carga elástica:DescribeLoadBalancers, DescribeTargetGroups, DescribeTargetHealth.
Importante
El Programador de instancias es la única característica que puede cambiar su entorno, y solo iniciando o deteniendo instancias y grupos de Auto Scaling. Déjelo sin marcar para una función estrictamente de solo lectura.

Organization stacks also create the member-account role CostoGlassReadOnly in each member account with the read-only inventory permissions and the features you ticked.

¿Organización o cuenta única?

AWS OrganizationRecommended for many accounts
Implementar una vez en la cuenta de administración. Un StackSet agrega la función de cuenta de miembro a cada cuenta, ahora y en el futuro (la implementación automática está activada de forma predeterminada). Necesita acceso confiable a StackSets.
cuenta única
Una pila en una cuenta. Elija esto si la cuenta no está en una organización o si solo desea conectar esa cuenta.

The Organization template has two extra parameters you can change at deploy time: AutoDeployNewAccounts (default verdadero) y RetainOnAccountRemoval (default FALSO).

Ejemplo
Una empresa tiene una cuenta de gestión y 12 cuentas de miembros. They choose AWS Organization, tick Rightsizing recommendations, and deploy once from the management account. Conectan una cosa en CostGlass y las 13 cuentas aparecen debajo. La decimotercera cuenta de miembro creada el próximo mes se activa automáticamente.

Exportación de costos y uso: la espera de 24 horas

La exportación se crea tan pronto como finaliza la pila, pero AWS escribe el primer archivo a su debido tiempo, hasta 24 horas después. Hasta entonces, CostGlass está conectado pero no tiene datos. Desde el panel, puede utilizar Obtener datos ahora para obtener una extracción única de Cost Explorer; AWS cobra $0,01 por solicitud y el botón indica el costo antes de confirmar.

Después de la primera entrega, CostGlass lee archivos nuevos cada 6 horas.

Eliminando el acceso

1
Desconectarse en CostGlass
In Cloud Accounts remove the AWS connection (trash icon). CostGlass deja de leer. Para AWS, esto también elimina los recursos descubiertos, las anomalías, las sugerencias de ahorro y las métricas de costos más antiguas para esa conexión; Se mantiene el historial de costos ya almacenado en las tablas de costos principales.
2
Eliminar la pila en AWS
Primero vacíe el depósito de S3; de lo contrario, CloudFormation no podrá eliminarlo. Luego elimine la pila. Esto elimina el rol, por lo que CostGlass ya no puede asumirlo. Para una organización, CloudFormation también elimina el StackSet que creó; si informa que StackSet todavía tiene instancias, elimínelas de CloudFormation → Conjuntos de pilas primero.
Consejo
Realizar el paso de AWS solo también corta el acceso inmediatamente, porque el rol ya no existe.

Actualizando la pila más tarde

  • Desactivar una función: update the stack and set its parameter to FALSO (HabilitarInstanceScheduler, EnableRightsizing o EnableUptimeMonitoring).
  • Agregue una característica que no marcó: una característica no marcada no está en la plantilla en absoluto, por lo que un parámetro no puede activarla. El asistente crea plantillas para nuevas conexiones; no ofrece una manera de cambiar las características de uno que ya está activo. Comuníquese con el soporte de CostGlass para eso.
  • Cuando CostGlass agrega nuevas comprobaciones de solo lectura es posible que necesite nuevos permisos. Luego, vuelva a implementar la pila (o actualice el Organization StackSet). For example, the unused Elastic IP and idle load balancer checks need ec2:DescribeAddresses y elasticloadbalancing:Describe*. Hasta que lo haga, ese cheque no encuentra nada y lo indica en la página de Ahorros.
Nota
Sus opciones de funciones originales se registran cuando verifica y se muestran como pequeñas etiquetas (Programador, Tamaño correcto, Tiempo de actividad) en la tarjeta de cuenta. No se modifican con actualizaciones posteriores de la pila.

Solución de problemas y preguntas frecuentes

The stack fails with "Unrecognized resource types: [AWS::BCMDataExports::Export]".
Te desplegaste en la región equivocada. Elimine la pila fallida, cambie la consola a us-east-1 (N. Virginia) y créela nuevamente.
CloudFormation dice que necesita capacidades (InsufficientCapabilities).
Marque la confirmación de que la pila crea recursos de IAM o pase CAPABILITY_NAMED_IAM en la línea de comando.
Verify says "Could not verify access to ... AccessDenied".
Verifique que la pila haya alcanzado CREATE_COMPLETE, que el ARN de la función y el nombre del depósito se hayan copiado exactamente y que haya implementado la plantilla desde esta conexión. If you started a second connection, its External ID differs from the first template&#x27;s. Utilice la plantilla que se muestra para la conexión pendiente.
Verificar dice que el ARN del rol no parece válido.
Pegue la salida de RoleArn, que comienza arn:aws:iam:: y contiene :role/. No pegue el ARN de la pila.
La pila de la organización falla al crear el StackSet.
Probablemente el acceso confiable no esté habilitado. En la cuenta de administración, abra CloudFormation → StackSets y elija Habilitar acceso confiable con AWS Organizations, luego vuelva a intentarlo.
La pila dice que el depósito o rol ya existe.
El depósito (costglass-cur-exports-<account ID>) y el rol (CostGlassCURReader) tienen nombres fijos, por lo que una cuenta de AWS solo puede contener una pila de CostGlass. Primero elimine la pila anterior.
Dice conectado pero no veo datos.
Espere a que AWS entregue la primera exportación, hasta 24 horas, luego haga clic en Verificar entrega ahora. Panel → Obtener datos ahora le brinda una vista única y rápida mientras tanto.
I get "You have reached your plan's connection limit".
Elimine una conexión que ya no necesite, finalice o elimine una pendiente, o actualice en Configuración → Facturación.
¿Puedo implementar esto sin CloudFormation?

Guías relacionadas