Tengo un archivo que contiene algunos archivos binarios en S3 que necesito colocar en EC2 durante el aprovisionamiento. En este momento, estoy descargando el archivo a la máquina (host aprovisionado) y lo subo a la máquina que necesito aprovisionar.
¿O cómo puedo obtener un enlace de aws_s3_bucket_object? ¿O hay alguna forma de montar el objeto s3 como archivo en la instancia ec2 con terraform?
data "aws_s3_bucket_object" "release" { bucket = data.aws_s3_bucket.artifacts.id key = "release.tgz" } resource "aws_instance" "engine" { ami = data.aws_ami.server.id instance_type = var.aws_instance_type ... }Lamentablemente, no puede montar objetos S3 como un sistema de archivos en su instancia, ni acceder a ellos directamente. Tienen que ser descargados primero.
Sin embargo, puede usar una herramienta de terceros que hace que el depósito S3 aparezca para usted y su aplicación como un sistema de archivos. Una herramienta popular para eso es 3fs-fuse que:
permite que Linux y macOS monten un depósito S3 a través de FUSE. s3fs conserva el formato de objeto nativo de los archivos, lo que permite el uso de otras herramientas como AWS CLI.
Para que eso funcione, tendría que configurar sus datos de usuario en su instancia para hacerlo automáticamente durante el lanzamiento de la instancia.