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.

Cree un alias DNS de AWS Cloud Map para un sitio web estático de S3.

Route 53 puede enrutar tráfico a un bucket S3 con alojamiento web estático, pero no puede agregar registros manualmente a un espacio de nombres Route 53 administrado por Cloud Map.

Entonces, ¿cómo se debe configurar Cloud Map para enrutar el tráfico desde mys3website.private-namespace a mybucket.s3-website-eu-west-1.amazonaws.com? Y ¿cómo se puede escribir esto en Terraform?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para enrutar tráfico desde mys3website.private-namespace a mybucket.s3-website-eu-west-1.amazonaws.com utilizando Cloud Map, debe crear un servicio de descubrimiento de servicios y registrar el bucket S3 como una instancia con un registro A que apunte a su endpoint.

    En Terraform, esto se puede hacer utilizando los recursos aws_service_discovery_service y aws_service_discovery_instance. Suponiendo que ya haya creado un namespace privado llamado mys3website.private-namespace en Route 53, la siguiente configuración debería funcionar:

    resource "aws_service_discovery_service" "my_s3_service" {
      name                   = "my-s3-service"
      namespace_id           = aws_service_discovery_private_dns_namespace.my_private_ns.id
      dns_config {
        namespace_id = aws_service_discovery_private_dns_namespace.my_private_ns.id
        dns_records {
          type  = "A"
          ttl   = 60
        }
      }
    }
    
    resource "aws_service_discovery_instance" "my_s3_instance" {
      service_id = aws_service_discovery_service.my_s3_service.id
      instance_attributes = {
        "AWS_INSTANCE_IPV4" = "mybucket.s3-website-eu-west-1.amazonaws.com"
      }
      ipv4_address    = "mybucket.s3-website-eu-west-1.amazonaws.com"
    }
    

    Una vez que se aplique esto, las solicitudes DNS a my-s3-service.mys3website.private-namespace deberían resolver a la dirección IP del bucket S3.

Comments are closed.