es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear instancia EC2 con código Terraform donde la clave privada se almacenará en AWS Parameter Store (tipo: Secure String).

Mi equipo quería almacenar la clave privada (almacenando manualmente la Clave SSH a través de la Consola de AWS que ya había sido generada) en el parámetro Secure String en la tienda de parámetros AWS SSM, en lugar de pasar la SSH a través del código de Terraform.

¿Es posible crear una instancia EC2 utilizando Terraform almacenando la clave SSH en el AWS Parameter Store?

Si no es posible, ¿cómo puedo utilizar el SSM param SecureString en mi código de Terraform para crear nuevas instancias EC2?

Por favor, aconseje.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible crear instancias de EC2 utilizando Terraform almacenando la clave SSH en el AWS Parameter Store. Esto se puede lograr haciendo referencia al parámetro de cadena segura para la clave SSH en el bloque de recurso aws_instance del código de Terraform.

    El siguiente ejemplo demuestra cómo crear una instancia de EC2 haciendo referencia al parámetro de cadena segura para la clave SSH:

    resource "aws_instance" "example" {
      ami           = "ami-0c55b159cbfafe1f0"
      instance_type = "t2.micro"
      key_name      = "example-keypair"
      vpc_security_group_ids = ["${aws_security_group.example.id}"]
      subnet_id     = "${aws_subnet.example.id}"
    
      connection {
        type        = "ssh"
        user        = "ec2-user"
        private_key = "${aws_ssm_parameter.ssh_key.value}"
        timeout     = "2m"
      }
    
      tags = {
        Name = "example-instance"
      }
    }
    
    data "aws_ssm_parameter" "ssh_key" {
      name = "/path/to/ssh/key"
      with_decryption = true
    }
    

    En el ejemplo anterior, se utiliza el origen de datos aws_ssm_parameter para recuperar el parámetro de cadena segura para la clave SSH del AWS Parameter Store. El bloque de recurso aws_instance hace referencia a este parámetro en el bloque connection, lo que permite crear la instancia de EC2 utilizando la clave SSH almacenada en el Parameter Store.

    Es importante asegurarse de que se otorguen los permisos de IAM adecuados al usuario o rol de Terraform para leer el parámetro de SSM. Además, el parámetro de SSM debe estar correctamente asegurado y restringido a los usuarios o roles apropiados para evitar el acceso no autorizado a la clave SSH.

Comments are closed.