Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tutorial: Configurar un servidor web Apache y ofrecer archivos de Amazon EFS
Puede disponer de instancias de EC2 que ejecutan el servidor web Apache que ofrece archivos almacenados en su sistema de archivos de Amazon EFS. Puede ser una instancia de EC2, o si la aplicación lo necesita, puede disponer de varias instancias de EC2 que ofrecen archivos desde su sistema de archivos de Amazon EFS. Se describen los siguientes procedimientos.
-
Configurar un servidor web Apache en varias instancias EC2 mediante la creación de un grupo de Auto Scaling. Puede crear varias instancias de EC2 con Amazon EC2 Auto Scaling, AWS un servicio que le permite aumentar o disminuir el número de instancias de EC2 en un grupo según las necesidades de su aplicación. Si dispone de varios servidores web, también necesita un balanceador de carga para distribuir el tráfico de solicitudes entre ellos.
nota
Para ambos procedimientos, debe crear todos los recursos en la región Oeste de EE. UU. (Oregón) (us-west-2
).
Una sola instancia de EC2 para ofrecer archivos
Siga los pasos para configurar un servidor web Apache en una instancia de EC2 para ofrecer los archivos que cree en su sistema de archivos de Amazon EFS.
-
Siga los pasos que se indican en el ejercicio de introducción, a fin de disponer de una configuración activa que conste de lo siguiente:
-
Sistema de archivos de Amazon EFS
-
instancia de EC2
-
Sistema de archivos montado en la instancia EC2
Para ver instrucciones, consulte Introducción a Amazon Elastic File System. Cuando siga los pasos, anote lo siguiente:
-
Nombre DNS público de la instancia EC2.
-
Nombre DNS público del destino de montaje creado en la misma zona de disponibilidad en la que ha lanzado la instancia EC2.
-
-
(Opcional) Puede elegir desmontar el sistema de archivos desde el punto de montaje que creó en el ejercicio de introducción.
$ sudo umount ~/
efs-mount-point
En este tutorial crea otro punto de montaje para el sistema de archivos.
-
En la instancia EC2, instale el servidor web Apache y configúrelo como se indica a continuación:
-
Conéctese a su instancia EC2 e instale el servidor web Apache.
$
sudo yum -y install httpd -
Inicie el servicio .
$
sudo service httpd start -
Cree un punto de montaje.
En primer lugar, tenga en cuenta que
DocumentRoot
en el archivo/etc/httpd/conf/httpd.conf
apunta a/var/www/html
(DocumentRoot "/var/www/html"
).Montará su sistema de archivos de Amazon EFS en un subdirectorio bajo el documento raíz.
Cree un subdirectorio denominado
efs-mount-point
para usarlo como punto de montaje para su sistema de archivos, en/var/www/html
.$
sudo mkdir /var/www/html/efs-mount-point -
Monte su sistema de archivos de Amazon EFS usando el siguiente comando: reemplace
file-system-id
con el ID de su sistema de archivos.$
sudo mount -t efsfile-system-id
:/ /var/www/html/efs-mount-point
-
-
Pruebe la configuración.
-
Añada una regla en el grupo de seguridad de la instancia EC2, que ha creado en el ejercicio de introducción, para permitir el tráfico HTTP en el puerto TCP 80 desde cualquier lugar.
Después de agregar la regla, el grupo de seguridad de la instancia EC2 tendrá las siguientes reglas de entrada.
Para ver instrucciones, consulte Cree un grupo de seguridad mediante la consola.
-
Cree un archivo html de muestra.
-
Cambie el directorio al punto de montaje.
$ cd /var/www/html/efs-mount-point
-
Haga un subdirectorio llamado
sampledir
y cambie la propiedad.$
sudo mkdir sampledir$
sudo chown ec2-user sampledir$
sudo chmod -R o+r sampledirCambie el directorio para poder crear archivos en el subdirectorio
sampledir
.$
cd sampledir -
Cree un archivo
hello.html
de muestra.$ echo "<html><h1>Hello from Amazon EFS</h1></html>" > hello.html
-
-
Abra una ventana del navegador e introduzca la dirección URL para acceder al archivo (es el nombre de DNS pública de la instancia EC2 seguido del nombre de archivo). Por ejemplo:
http://
EC2-instance-public-DNS
/efs-mount-point/sampledir/hello.html
Ahora está ofreciendo páginas web almacenadas en un sistema de archivos de Amazon EFS.
-
nota
Esta configuración no configura la instancia de EC2 para que inicie automáticamente el servidor web (httpd) durante el arranque y además no monta el sistema de archivos durante el arranque. En el siguiente tutorial se crea una configuración de lanzamiento para hacerlo.
Varias instancias de EC2 para ofrecer archivos
Siga los pasos para ofrecer el mismo contenido en su sistema de archivos de Amazon EFS desde varias instancias de EC2 para mejorar la escalabilidad o la disponibilidad.
-
Siga los pasos que se indican en el ejercicio Cree rápidamente un sistema de archivos con la configuración recomendada (consola), para tener un sistema de archivos de Amazon EFS creado y probado.
importante
En este tutorial no se usa la instancia EC2 que ha creado en el ejercicio de introducción. En su lugar, puede lanzar nuevas instancias EC2.
-
Cree un balanceador de carga en su VPC siguiendo estos pasos.
-
Definir un balanceador de carga
En la sección Basic Configuration (Configuración básica), seleccione la VPC donde también se crean las instancias EC2 en las que se monta el sistema de archivos.
En la sección Seleccionar subredes, seleccione todas las subredes disponibles . Para obtener más información, consulte el script
cloud-config
en la siguiente sección. -
Asignar grupos de seguridad
Cree un nuevo grupo de seguridad para el balanceador de carga para permitir el acceso HTTP desde el puerto 80 desde cualquier lugar, tal y como se muestra a continuación:
Tipo: HTTP
-
Protocolo: TCP
-
Rango de puertos: 80
-
Origen: cualquiera (0.0.0.0/0)
nota
Cuando todo funciona, también puede actualizar la regla de entrada del grupo de seguridad de la instancia EC2 para permitir el tráfico HTTP únicamente desde el balanceador de carga.
-
Configure una comprobación de estado
Establezca el valor de Ping Path (Ruta de ping) en
/efs-mount-point/test.html
. Elefs-mount-point
es el subdirectorio en el que tiene el sistema de archivos montado. Añade la páginatest.html
más adelante en este procedimiento.
nota
No incluya ninguna instancia EC2. Posteriormente, cree un grupo de Auto Scaling en el que lanzar la instancia EC2 y especifique este balanceador de carga.
Para obtener más información sobre la creación de un equilibrador de carga, consulte Introducción a Elastic Load Balancing en la Guía del usuario de Elastic Load Balancing.
-
Cree un grupo de Auto Scaling con dos instancias EC2. En primer lugar, debe crear una configuración de lanzamiento que describa las instancias. A continuación, debe crear un grupo de Auto Scaling especificando la configuración de lanzamiento. Los pasos siguientes ofrecen información de configuración que especifica para crear un grupo de Auto Scaling desde la consola de Amazon EC2.
-
Seleccione Launch Configurations (Configuraciones de lanzamiento) en AUTO SCALING en el panel de navegación de la izquierda.
-
Seleccione Create Auto Scaling group (Crear grupo de Auto Scaling) para lanzar el asistente.
-
Elija Create launch configuration.
-
En Inicio rápido, seleccione la versión más reciente de la AMI de Amazon Linux 2. Se trata de la misma AMI que utiliza en Cree su sistema de archivos EFS y lance su instancia EC2 del ejercicio de introducción.
-
En la sección Advanced (Avanzado), haga lo siguiente:
-
Para IP Address Type (Tipo de dirección IP), elija Assign a public IP address to every instance (Asignar una dirección IP pública a cada instancia).
-
Copie y pegue el siguiente script en el cuadro User data (Datos del usuario).
Debe actualizar el script proporcionando valores para
file-system-id
yaws-region
(si se ha seguido el ejercicio de introducción, habrá creado el sistema de archivos en la región us-west-2).En el script, tenga en cuenta lo siguiente:
-
El script instala el cliente NFS y el servidor web Apache.
-
El comando echo escribe la siguiente entrada en el archivo
/etc/fstab
identificando el nombre de DNS del sistema de archivos y el subdirectorio donde montarlo. Esta entrada garantiza que el archivo se monte después de cada reinicio del sistema. Tenga en cuenta que el nombre de DNS del sistema de archivos se construye de forma dinámica. Para obtener más información, consulte Montaje en Amazon EC2 con un nombre de DNS.file-system-ID
.efs.aws-region
.amazonaws.com:/ /var/www/html/efs-mount-point nfs4 defaults -
Crea el subdirectorio
efs-mount-point
y monta el sistema de archivos en el mismo. -
Crea una página
test.html
para que la comprobación de estado de ELB pueda encontrar el archivo (al crear un equilibrador de carga ha especificado este archivo como el punto de ping).
Para obtener más información sobre los scripts de datos de usuario, consulte Metadatos de instancia y datos de usuario.
#cloud-config package_upgrade: true packages: - nfs-utils - httpd runcmd: - echo "$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).
file-system-id
.efs.aws-region
.amazonaws.com:/ /var/www/html/efs-mount-point nfs4 defaults" >> /etc/fstab - mkdir /var/www/html/efs-mount-point - mount -a - touch /var/www/html/efs-mount-point/test.html - service httpd start - chkconfig httpd on -
-
-
Para Assign a security group (Asignar un grupo de seguridad), elija Select an existing security group (Seleccionar un grupo de seguridad existente) y, a continuación, el grupo de seguridad que ha creado para la instancia EC2.
Ahora, configure los detalles del grupo de escalado automático con la siguiente información:
-
Para Group size (Tamaño del grupo), elija
Start with 2 instances
. Creará dos instancias EC2. -
Seleccione la VPC en la lista Network (Red).
-
Seleccione una subred en la misma zona de disponibilidad que utilizó al especificar el ID del destino de montaje en el script de datos de usuario al crear la configuración de lanzamiento en el paso anterior.
-
En la sección Detalles avanzados
-
Para Load Balancing (Balanceador de carga), elija Receive traffic from Elastic Load Balancer(s) (Recibir tráfico de balanceadores de carga elásticos) y, a continuación, seleccione el balanceador de carga que ha creado para este ejercicio.
-
En Health Check Type (Tipo de comprobación de estado), seleccione ELB.
-
-
Siga las instrucciones para crear un grupo de escalado automático en Configuración de una aplicación con escalado y balanceo de carga aplicados en la Guía del usuario de Amazon EC2 Auto Scaling. Utilice la información de las tablas anteriores cuando proceda.
-
Tras la correcta creación del grupo de Auto Scaling, dispone de dos instancias EC2 con
nfs-utils
y el servidor web Apache instalado. En cada instancia, verifique que tiene el subdirectorio/var/www/html/efs-mount-point
y su sistema de archivos de Amazon EFS montado en él. Para obtener instrucciones sobre cómo conectarse a una instancia EC2, consulte Conectarse a su instancia de Linux en la Guía del usuario de Amazon EC2.nota
Si elige la AMI de Amazon Linux Amazon Linux AMI 2016.03.0 al lanzar su instancia de Amazon EC2, no tendrá que instalar
nfs-utils
, porque ya está incluido en la AMI de forma predeterminada. -
Cree una página de muestra (index.html).
-
Cambie el directorio.
$ cd /var/www/html/efs-mount-point
-
Haga un subdirectorio para
sampledir
y cambie la propiedad. Y cambie el directorio para poder crear archivos en el subdirectoriosampledir
. Si ha seguido el Una sola instancia de EC2 para ofrecer archivos anterior, ya ha creado el subdirectoriosampledir
, de modo que puede omitir este paso.$ sudo mkdir sampledir $ sudo chown ec2-user sampledir $ sudo chmod -R o+r sampledir $ cd sampledir
-
Cree un archivo
index.html
de muestra.$ echo "<html><h1>Hello from Amazon EFS</h1></html>" > index.html
-
-
Ahora puede probar la configuración. Con el nombre de DNS público del balanceador de carga, acceda a la página index.html.
http://
load balancer public DNS Name
/efs-mount-point/sampledir/index.htmlEl balanceador de carga envía una solicitud a una de las instancias EC2 que ejecuta el servidor web Apache. A continuación, el servidor web ofrece el archivo que está almacenado en su sistema de archivos de Amazon EFS.