Modulo 3
Laboratorio 1: Introducción a Amazon
Simple Storage Service (Amazon S3)
Información general y objetivos del laboratorio
En este laboratorio, se enseña la funcionalidad de las características básicas de Amazon
Simple Storage Service (Amazon S3) mediante la Consola de administración de AWS.
Amazon S3 es un servicio de almacenamiento de objetos que ofrece escalabilidad,
disponibilidad de datos, seguridad y rendimiento líderes en el sector. Es decir que los
clientes de todos los tamaños y sectores pueden almacenar y proteger cualquier volumen
de datos para una variedad de casos prácticos, como sitios web, aplicaciones móviles,
procesos de respaldo y restauración, operaciones de archivo, aplicaciones empresariales,
dispositivos de Internet de las cosas (IoT) y análisis de big data. Amazon S3
proporciona características de administración fáciles de utilizar que le permiten
organizar los datos y configurar sofisticados controles de acceso para satisfacer sus
requisitos empresariales, organizativos y de conformidad específicos. Amazon S3 está
diseñado con el fin de ofrecer una durabilidad del 99,999999999 % (11 nueves) y
almacena datos de millones de aplicaciones para empresas de todo el mundo.
Después de completar este laboratorio, sabrá cómo realizar lo siguiente:
Crear un bucket en Amazon S3.
Agregar un objeto a un bucket.
Administrar los permisos de acceso en un objeto y un bucket.
Crear una política de bucket.
Usar el control de versiones de bucket.
Duración
El tiempo estimado para completar este laboratorio es de 60 minutos. Tendrá un tiempo
total de 240 minutos para completarlo.
Restricciones de los servicios de AWS
En el entorno de este laboratorio, es posible que el acceso a los servicios de AWS y a
sus respectivas acciones esté restringido a los servicios necesarios para completar las
instrucciones del laboratorio. Puede que encuentre errores si intenta acceder a otros
servicios o ejecutar acciones aparte de las que se detallan en este laboratorio.
Acceso a la Consola de administración de AWS
1. En la parte superior de estas instrucciones, seleccione Start Lab (Comenzar
laboratorio) para comenzar la sesión.
Se abrirá el panel Start Lab (Comenzar laboratorio) y se mostrará el estado del
laboratorio.
Sugerencia: Si necesita más tiempo para completar el laboratorio, vuelva a
pulsar el botón Start Lab (Comenzar laboratorio) para reiniciar el temporizador
del entorno. Una vez que haya consumido el tiempo total de laboratorio
permitido, ya no podrá extenderlo ni comenzar de nuevo. Puede encontrar el
tiempo total disponible para este laboratorio en la sección Duración de estas
instrucciones.
2. Espere hasta que aparezca el mensaje Lab status: ready (Estado del laboratorio:
listo) y, a continuación, elija la X para cerrar el panel Start Lab (Comenzar
laboratorio).
3. En la parte superior de estas instrucciones, elija AWS.
La consola de administración de AWS se abrirá en una pestaña nueva del
navegador. El sistema iniciará la sesión de forma automática.
Sugerencia: Si no se abre una nueva pestaña del navegador, suele aparecer un
anuncio o un ícono en la parte superior del navegador con un mensaje que indica
que el navegador impide que el sitio web abra ventanas emergentes. Elija el
anuncio o el ícono y, a continuación, seleccione Allow pop ups (Permitir
ventanas emergentes).
4. Ajuste la pestaña AWS Management Console (Consola de administración de
AWS) para que aparezca al lado de estas instrucciones. Lo ideal es que pueda
ver las dos pestañas del navegador a la vez para seguir los pasos del laboratorio
con mayor facilidad.
Tarea 1: Crear un bucket
Es nuevo en Amazon S3 y quiere probar las características y la seguridad de Amazon
S3 a medida que configura el entorno para almacenar los datos de informes de Amazon
Elastic Compute Cloud (Amazon EC2). Sabe que todos los objetos de Amazon S3 se
almacenan en un bucket, por lo que la creación de uno nuevo para almacenar los
informes es lo primero en su lista de tareas.
En esta tarea, creará un bucket para almacenar los datos de informes de Amazon EC2 y,
a continuación, examinará las diferentes opciones de configuración del bucket.
5. En la parte superior izquierda de la Consola de administración de AWS, en el
menú Services (Servicios) elija S3.
6. Elija Create bucket (Crear bucket).
Los nombres de bucket deben tener entre 3 y 63 caracteres, y contener solo letras
minúsculas, números o guiones. El nombre del bucket debe ser único a nivel global en
todo Amazon S3, independientemente de la cuenta o la región, y no se puede cambiar
una vez creado el bucket. Al ingresar un nombre de bucket, se muestra un cuadro de
ayuda con las infracciones a las reglas de nomenclatura. Consulte las reglas de
nomenclatura de buckets de Amazon S3 en la sección Recursos adicionales al final del
laboratorio para obtener más información.
7. En la sección General configuration (Configuración general), ingrese lo
siguiente en Bucket name (Nombre del bucket): reportbucket(NUMBER).
En el nombre del bucket, reemplace (NUMBER) con un número al azar para que el
bucket tenga un nombre único.
Ejemplo de nombre de bucket: reportbucket987987
Deje Region (Región) en su valor predeterminado.
Al seleccionar una región en particular, puede optimizar la latencia, minimizar los
costos o abordar los requisitos normativos. Los objetos almacenados en una región
nunca salen de ella a menos que los transfiera explícitamente a otra región.
8. Elija Create bucket (Crear bucket).
Tarea 2: Cargar un objeto en el bucket
Ahora que ha creado un bucket para los datos del informe, está listo para trabajar con
objetos. Un objeto puede ser cualquier clase de archivo: un archivo de texto, una
fotografía, un video, un archivo comprimido, etc. Cuando agrega un objeto a Amazon
S3, tiene la opción de incluir metadatos con el objeto y configurar permisos para
controlar el acceso al objeto.
En esta tarea, probará la carga de objetos a su reportbucket. Tiene una captura de
pantalla de un informe diario y quiere cargar esta imagen en su bucket de S3.
9. Haga clic con el botón secundario en el siguiente enlace: [Link].
Seleccione Save link as (Guardar enlace como) y guarde el archivo en su
escritorio.
10. En S3 Management Console (Consola de administración de S3), busque y
seleccione el nombre de bucket que comienza con reportbucket.
11. Elija Upload (Cargar).
Este paso inicia un asistente de carga. Utilice este asistente para cargar archivos, ya sea
seleccionándolos desde un selector de archivos o arrastrándolos a la ventana de Amazon
S3.
12. Elija Add files (Agregar archivos).
13. Busque y seleccione el archivo [Link] que descargó con anterioridad.
14. En la parte inferior de la página, seleccione Upload (Cargar).
El archivo se carga con éxito cuando se muestra la barra verde que indica Upload
succeeded (Carga exitosa).
15. En la parte superior derecha de la sección Upload: status (Cargar: estado), elija
Close (Cerrar).
Tarea 3: Hacer que un objeto sea público
La seguridad es una prioridad en Amazon S3. Antes de configurar la instancia EC2 para
conectarse a reportbucket, debe probar la configuración del bucket y del objeto para
comprobar su seguridad.
En esta tarea, configurará los permisos en el bucket y el objeto para probar la
accesibilidad.
En primer lugar, intente obtener acceso al objeto para confirmar que es privado de
forma predeterminada.
16. En la página de información general sobre reportbucket, en la pestaña Objects
(Objetos), busque el objeto [Link] y elija el nombre de archivo new-
[Link].
Se abre la página de información general sobre [Link]. La navegación en la
parte superior izquierda se actualiza con un enlace para regresar a la página de
información general del bucket.
17. En la sección Object overview (Información general sobre el objeto), busque y
copie el enlace Object URL (URL del objeto).
El enlace debería verse similar al siguiente: [Link]
[Link]/[Link].
18. Abra una nueva pestaña del navegador, pegue el enlace de la URL del objeto en
el campo de dirección y, a continuación, presione Enter (Intro).
Recibe el error Access Denied (Acceso denegado) porque los objetos en Amazon S3
son privados de forma predeterminada.
Ahora que ha confirmado que la seguridad predeterminada de Amazon S3 es privada,
probará cómo hacer que el objeto sea accesible públicamente.
19. Mantenga abierto el navegador con el error Access Denied (Acceso denegado) y
regrese a la pestaña del navegador web con la S3 Management Console
(Consola de administración de S3).
20. Aún debe estar en la pestaña Object overview (Información general sobre el
objeto) de [Link].
21. En la parte superior derecha, elija el menú desplegable de Object actions
(Acciones de objeto) y verá que Make public via ACL (Hacer público a través
de ACL) está atenuado.
22. En la parte superior izquierda de la página, elija el nombre reportbucket en la
navegación para volver a la página principal de información general de
reportbucket.
23. Seleccione la pestaña Permissions (Permisos).
24. Primero debemos permitir el uso de las ACL. En Object Ownership (Propiedad
del objeto), elija Edit (Editar).
25. Seleccione ACLs enabled (ACL habilitadas).
26. Elija Bucket owner preferred (Propietario preferido del bucket).
27. Elija la casilla de verificación junto a I acknowledge that ACLs will be
restored (Acepto que se restaurarán las ACL).
28. Elija Save changes (Guardar cambios).
29. En Block public access (bucket settings) (Bloquear acceso público
[configuración del bucket]), elija Edit (Editar) para cambiar la configuración.
30. Quite la selección de la opción Block all public access (Bloquear todo el acceso
público) y, luego, deje todas las otras opciones sin seleccionar.
Observe que todas las opciones individuales quedan sin seleccionar. Cuando quita la
selección de la opción de todo el acceso público, debe seleccionar las opciones
individuales que aplican a su situación y a sus objetivos de seguridad. Las listas de
control de acceso (ACL) y las políticas de bucket se utilizan más adelante en el
laboratorio, por lo que estas opciones se dejan sin seleccionar en esta tarea. En un
entorno de producción, se recomienda utilizar la configuración con la menor cantidad de
permisos posible. Consulte el enlace de bloqueo del acceso público de Amazon S3 en la
sección Additional resources (Recursos adicionales) al final del laboratorio para
obtener más información.
31. Elija Save changes (Guardar cambios)
32. Se abre un cuadro de diálogo en el que se le pide que confirme los cambios.
Escriba confirm en el campo y, a continuación, elija Confirm (Confirmar).
El mensaje Successfully edited Block Public Access settings for this bucket
(Configuración de este bucket editada correctamente para Bloquear acceso público) se
muestra en la parte superior de la ventana.
33. Elija la pestaña Objects (Objetos).
34. Elija el nombre de archivo [Link].
35. En la parte superior derecha de la página de información general sobre new-
[Link], elija el menú desplegable de Object actions (Acciones del objeto) y
seleccione Make public (Hacer público).
Observe la advertencia: When public read access is enabled and not blocked by
Block Public Access settings, anyone in the world can access the specified objects
(Cuando el acceso de lectura pública está habilitado y no lo bloquea la
configuración de bloqueo de acceso público, cualquier persona en el mundo puede
acceder a los objetos especificados). Esta advertencia le recuerda que si hace que el
objeto sea público, cualquier persona en el mundo podrá leer el objeto.
36. Elija Make public (Hacer público) y verá el anuncio verde Successfully edited
public access (Acceso público editado correctamente) en la parte superior de la
ventana.
37. En la parte superior derecha, seleccione Close (Cerrar) para volver a la
información general del objeto [Link].
38. Regrese a la pestaña del navegador que muestra Access Denied (Acceso
denegado) para el objeto [Link] y actualice la página.
El objeto [Link] ahora se muestra de forma correcta porque es accesible
públicamente.
39. Cierre la pestaña del navegador web que muestra la imagen [Link] y
regrese a la pestaña con la consola de administración de Amazon S3.
En este ejemplo, concedió acceso de lectura únicamente para un objeto específico. Si
quiere conceder acceso a todo el bucket, tiene que utilizar una política de bucket, lo cual
se aborda más adelante en este laboratorio.
En la siguiente tarea, trabajará con la instancia EC2 para confirmar la conectividad con
el bucket de S3.
Tarea 4: probar la conectividad en la instancia EC2
En esta tarea, se conectará a la instancia EC2 para probar la conectividad y la seguridad
en reportbucket de Amazon S3.
Ya debería haber iniciado sesión en AWS Management Console. De lo contrario, siga
los pasos de la sección Start Lab (Comenzar laboratorio) para iniciar sesión en AWS
Management Console.
40. En el menú Services (Servicios), elija EC2.
41. En EC2 Dashboard (Panel de EC2), en la sección Resources (Recursos), elija
Instances (running) (Instancias [en ejecución]).
42. Marque la casilla de verificación de Bastion Host (Host bastión) y elija
Connect (Conectar).
43. En la ventana Connect to instance (Conectar a instancia), seleccione la pestaña
Session Manager como método de conexión.
Con Session Manager de AWS Systems Manager, puede conectarse a la instancia de
host bastión sin necesidad de abrir puertos específicos en su firewall o en el grupo de
seguridad de Amazon Virtual Private Cloud (Amazon VPC). Consulte AWS Systems
Manager Session Manager en la sección Recursos adicionales al final de este
laboratorio para obtener más información.
44. Elija Connect (Conectar).
Se abre una nueva pestaña o ventana del navegador con una conexión a la instancia del
host bastión.
Ahora está conectado a la instancia EC2 que contiene la aplicación de informes. Dado
que Session Manager utiliza el puerto HTTPS 443, no requiere que abra el puerto
SSH 22 al mundo exterior. Está satisfecho con esta característica de seguridad. Ahora
quiere ver cómo EC2 interactúa con su bucket de S3.
45. En la sesión del host bastión, escriba el siguiente comando para cambiar al
directorio principal (/home/ssm-user/):
cd ~
El resultado lo lleva de regreso al símbolo del sistema.
46. Ingrese el siguiente comando para comprobar que se encuentra en el directorio
principal:
pwd
El resultado debería ser como el siguiente:
/home/ssm-user
Ahora se encuentra en el directorio principal de ssm-user, donde ejecutará todos los
comandos de este laboratorio.
47. Ingrese el siguiente comando para enumerar todos los buckets de S3.
aws s3 ls
El resultado debería ser similar al siguiente:
2020-11-11 [Link] reportbucket987987
Verá el reportbucket que creó, así como buckets de laboratorio generados
automáticamente.
Nota: Durante la creación del entorno de laboratorio, se agregaron automáticamente un
perfil de instancia (que define quién es para la autenticación) y un rol (que define lo que
puede hacer después de autenticarse) para la instancia EC2 a fin de permitir que la
instancia EC2 enumere los objetos y los buckets de S3.
48. En el siguiente comando, cambie (NUMBER) al final del nombre de
reportbucket por el nombre del bucket que creó. Ingrese el comando modificado
para enumerar todos los objetos de reportbucket.
aws s3 ls s3://reportbucket(NUMBER)
El comando tiene un aspecto similar al siguiente: aws s3 ls s3://reportbucket987987.
El resultado debería verse de la siguiente manera:
2020-11-11 [Link] 86065 [Link]
Actualmente, solo posee un objeto en su bucket. El objeto tiene el nombre new-
[Link].
49. Escriba el siguiente comando para cambiar los directorios en el directorio de
informes.
cd reports
El resultado lo lleva de regreso al símbolo del sistema.
50. Escriba el siguiente comando para enumerar el contenido del directorio.
ls
En el resultado se muestran algunos archivos creados en el directorio de informes para
probar la aplicación.
[Link] [Link] [Link] [Link] report-
[Link] [Link] [Link]
51. En el siguiente comando, cambie (NUMBER) al final del nombre de
reportbucket por el nombre del bucket que creó. Ingrese el comando modificado
para ver si puede copiar un archivo en el bucket de S3.
aws s3 cp [Link] s3://reportbucket(NUMBER)
El comando tiene un aspecto similar al siguiente: aws s3 cp [Link]
s3://reportbucket987987.
El resultado indica el error upload failed (error al cargar). Esto se debe a que tiene
derechos de solo lectura en el bucket y no tiene los permisos para realizar la acción
PutObject.
52. Deje esta ventana abierta y vuelva a la pestaña del navegador que tiene la
consola de AWS.
En la siguiente tarea, creará una política de bucket a fin de agregar el permiso para
PutObject.
Tarea 5: Crear una política de bucket
Una política de bucket es un conjunto de permisos asociados a un bucket de S3. Se
utiliza para controlar el acceso a un bucket completo o a directorios específicos dentro
de un bucket.
En esta tarea, utilizará el generador de políticas de AWS a fin de crear una política de
bucket que permita el acceso de lectura y escritura desde la instancia EC2 al bucket para
que la aplicación de informes pueda escribir con éxito en Amazon S3.
53. Haga clic con el botón secundario en el siguiente enlace: [Link].
Seleccione Save link as (Guardar enlace como) y guarde el archivo en su
escritorio.
54. Regrese a la Consola de administración de AWS, diríjase al menú Services
(Servicios) y seleccione S3.
55. En la pestaña S3 Management Console (Consola de administración de S3),
seleccione el nombre del bucket.
56. Para cargar el archivo [Link], elija Upload (Cargar) y utilice el mismo
proceso de carga que usó en la tarea 2.
57. En la página de información general de reportbucket, elija el nombre de
archivo [Link]. Se abrirá la página de información general de sample-
[Link].
58. En la sección Object overview (Información general sobre el objeto), busque y
copie el enlace Object URL (URL del objeto).
59. En una nueva pestaña del navegador, pegue el enlace en el campo de dirección
y, a continuación, presione Enter (Intro).
Una vez más, el navegador muestra el mensaje Access Denied (Acceso denegado).
Debe configurar una política de bucket para conceder acceso a todos los objetos del
bucket sin tener que especificar de forma individual los permisos en cada objeto.
60. Mantenga abierta esta pestaña del navegador, pero regrese a la pestaña de S3
Management Console (Consola de administración de S3).
61. Elija Services (Servicios) y seleccione IAM. En el panel de navegación
izquierdo, elija Roles.
62. En el campo de búsqueda ingrese EC2InstanceProfileRole.
Este es el rol que utiliza la instancia EC2 para conectarse a Amazon S3.
63. Seleccione EC2InstanceProfileRole. En la sección Summary (Resumen),
copie el valor de Role ARN (ARN del rol) en un archivo de texto para utilizarlo
en un paso posterior.
Debería verse similar a lo siguiente:
arn:aws:iam::596123517671:role/EC2InstanceProfileRole
64. Elija Services (Servicios) y S3, y regrese a S3 Management Console (Consola
de administración de S3).
65. Elija reportbucket.
Debería ver los dos objetos que cargó. De lo contrario, vuelva al bucket para ver la lista
de objetos que ha cargado.
66. Seleccione la pestaña Permissions (Permisos).
67. En la pestaña Permissions (Permisos), desplácese hasta la sección Bucket
policy (Política de bucket) y elija Edit (Editar).
Se muestra un Bucket policy editor (Editor de políticas de bucket) en blanco. Las
políticas de bucket se pueden crear de forma manual o con la ayuda del AWS Policy
Generator (Generador de políticas de AWS).
Los nombres de recursos de Amazon (ARN) identifican de forma exclusiva los recursos
de AWS en todo AWS. Cada sección del ARN se separa con “:” y representa una parte
específica de la ruta al recurso especificado. Las secciones pueden variar levemente de
acuerdo con el servicio al que se hace referencia, pero en general siguen este formato:
arn:partition:service:region:account-id:resource
Amazon S3 no requiere los parámetros Region o account-id en los ARN, por lo que esas
secciones se dejan en blanco. Sin embargo, se sigue utilizando (:) para separar las
secciones, por lo que se ve similar a arn:aws:s[Link]reportbucket987987
Consulte el enlace de documentación sobre los nombres de recursos de Amazon
(ARN) y los espacios de nombres del servicio de AWS en la sección Recursos
adicionales al final del laboratorio para obtener más información.
68. Debajo de los botones Policy examples (Ejemplos de políticas) y Policy
generator (Generador de políticas), aparece Bucket ARN (ARN del bucket).
Copie el ARN del bucket en un archivo de texto para utilizarlo en un paso
posterior.
Se ve de la siguiente manera:
Bucket ARN
arn:aws:s[Link]reportbucket987987
69. Elija Policy generator (Generador de políticas).
Se abrirá una nueva pestaña del navegador web con el generador de políticas de AWS.
Las políticas de AWS utilizan el formato JSON y se emplean a fin de configurar los
permisos granulares para los servicios de AWS. Puede escribir manualmente la política
en JSON, o puede usar el generador de políticas de AWS para crear la política con una
interfaz web fácil de usar.
En la ventana AWS Policy Generator (Generador de políticas de AWS), configure las
siguientes opciones:
EnSelect Type of Policy (Seleccionar tipo de política), elija S3 Bucket Policy
(Política del bucket* de S3).
En Effect (Efecto), seleccione Allow (Permitir).
En Principal (Principal), pegue EC2 Role ARN (ARN de rol de EC2) que
copió en un paso anterior en un archivo de texto.
En AWS Service (Servicio de AWS), mantenga la configuración
predeterminada de Amazon S3.
Para Actions (Acciones), seleccione GetObject y PutObject.
La acción GetObject concede permiso para recuperar objetos de Amazon S3. Consulte
la sección Recursos adicionales al final del laboratorio y acceda a enlaces con más
información sobre las acciones disponibles para utilizar en las políticas de Amazon S3.
En Amazon Resource Name (ARN) (Nombres de recursos de Amazon [ARN]),
ingrese *.
70. Elija Add Statement (Agregar enunciado). Los detalles del enunciado que
configuró se agregan a una tabla debajo del botón. Puede agregar varios
enunciados a una política.
71. Elija Generate Policy (Generar política).
Una nueva ventana muestra la política generada en formato JSON. Debe ser similar a lo
siguiente:
{
"Version": "2012-10-17",
"Id": "Policy1604361694227",
"Statement": [
{
"Sid": "Stmt1604361692117",
"Effect": "Allow",
"Principal": {
"AWS":
"arn:aws:iam::416159072693:role/EC2InstanceProfileRole"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "*"
}
]
}
72. Copie la política que creó al portapapeles.
73. Cierre la pestaña del navegador web y regrese a la pestaña S3 Management
Console (Consola de administración de S3) del editor Bucket policy (Política de
bucket).
74. Pegue la política de bucket que creó en el editor Bucket policy (Política de
bucket).
75. En el editor Bucket policy (Política de bucket), actualice el valor Resource
reemplazando * por el ARN de bucket que guardó antes seguido de /*:
La línea de Resource actualizada en la política del laboratorio debe ser similar al
siguiente ejemplo:
"Resource": "arn:aws:s[Link]reportbucket987987/*"
Confirme que /* aparece después del nombre del bucket como se observa en la línea de
Resource (Recurso) de este ejemplo.
76. Elija Save changes (Guardar cambios).
77. Regrese a la ventana AWS Systems Manager (Systems Manager). Si se ha
agotado el tiempo de espera de la sesión, vuelva a conectarse a Systems
Manager con los pasos anteriores del laboratorio.
78. Ingrese el siguiente comando para comprobar que se encuentra en el
directorio /home/ssm-user/reports.
pwd
El resultado debería ser como el siguiente:
/home/ssm-user/reports
79. En el siguiente comando, reemplace (NUMBER) por el número que utilizó para
crear el bucket. Ingrese el comando modificado para enumerar todos los objetos
de reportbucket.
aws s3 ls s3://reportbucket(NUMBER)
El comando debe tener un aspecto similar al siguiente: aws s3 ls
s3://reportbucket987987
El resultado debería ser similar al siguiente:
sh-4.2$ aws s3 ls s3://reportbucket987987
2020-11-02 [Link] 86065 [Link]
2020-11-02 [Link] 90 [Link]
80. Escriba el siguiente comando para enumerar el contenido del directorio de
informes.
ls
El resultado devuelve una lista de archivos.
81. En el siguiente comando, reemplace (NUMBER) por el número que utilizó para
crear el bucket. Ingrese el comando modificado para intentar copiar el archivo
[Link] en el bucket de S3.
aws s3 cp [Link] s3://reportbucket(NUMBER)
El comando debe tener un aspecto similar al siguiente: aws s3 cp [Link]
s3://reportbucket987987.
El resultado devuelve lo siguiente:
upload: ./[Link] to s3://reportbucket987987/[Link]
82. En el siguiente comando, reemplace (NUMBER) por el número que utilizó para
crear el bucket. Ingrese el comando modificado para ver si el archivo se cargó
correctamente en Amazon S3.
aws s3 ls s3://reportbucket(NUMBER)
El resultado debería ser similar al siguiente:
2020-11-11 [Link] 86065 [Link]
2020-11-11 [Link] 31 [Link]
2020-11-11 [Link] 90 [Link]
Ha cargado correctamente (PutObject) un archivo de la instancia EC2 en su bucket de
S3.
83. En el siguiente comando, reemplace (NUMBER) por el número que utilizó para
crear el bucket. Ingrese el comando modificado para recuperar (GetObject) un
archivo de Amazon S3 en la instancia EC2.
aws s3 cp s3://reportbucket(NUMBER)/[Link] [Link]
El resultado debería ser similar al siguiente:
download: s3://reportbucket987987/[Link] to ./[Link]
84. Ingrese el siguiente comando para ver si el archivo ahora se encuentra en el
directorio /reports.
ls
El resultado debería ser similar al siguiente:
[Link] [Link] [Link] [Link] report-
[Link] [Link]
Ahora verá [Link] en la lista de archivos. ¡Felicitaciones! Ha cargado y
recuperado correctamente un archivo de Amazon EC2 en el bucket de S3.
85. Regrese a la pestaña del navegador donde se muestra el error Access Denied
(Acceso denegado) para [Link] y actualice la página.
La página sigue mostrando un mensaje de error porque la política de bucket solo otorgó
los derechos a la entidad principal denominada EC2InstanceProfileRole.
86. Diríjase al generador de políticas de AWS y agregue otro enunciado a la política
del bucket que permita el acceso de lectura (GetObject) para todos (*). Tómese
un momento para generar esta política. Esta política permite a
EC2InstanceProfileRole tener acceso al bucket mientras se concede acceso a
todos para leer los objetos a través del navegador.
A continuación, encontrará un ejemplo de esto:
{
"Sid": "Stmt1604428842806",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s[Link]reportbucket987987/*"
}
87. Para probar si funciona la política, diríjase al navegador donde se muestra el
error Access Denied (Acceso denegado) y actualice dicho navegador. Si puede
leer el texto, ¡felicitaciones! La política funciona correctamente.
Si no es así, consulte la siguiente política para obtener ayuda. La política modificada
debe ser similar a la que se muestra a continuación. Observe que hay dos enunciados,
uno con EC2InstanceProfileRole y otro donde la entidad principal es “*” para todos.
Si ha tenido dificultades para generar la política por su cuenta, puede copiar la siguiente
política y pegarla en el Bucket Policy Editor (Editor de políticas de bucket). Recuerde
reemplazar el ARN EC2InstanceProfileRole existente en la política que se encuentra a
continuación por el ARN EC2InstanceProfileRole que copió en un paso anterior.
Asegúrese de reemplazar el ARN de ejemplo de reportbucket con el bucket que creó y
de que /* aparece al final del ARN del bucket. Observe la última línea de la política
como ejemplo.
{
"Version": "2012-10-17",
"Id": "Policy1604428844058",
"Statement": [
{
"Sid": "Stmt1604428821481",
"Effect": "Allow",
"Principal": {
"AWS":
"arn:aws:iam::285058481724:role/EC2InstanceProfileRole"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s[Link]reportbucket987987/*"
},
{
"Sid": "Stmt1604428842806",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s[Link]reportbucket987987/*"
}
]
}
88. Deje la pestaña abierta de modo que se muestre [Link]. Regresará a esta
pestaña en la siguiente tarea.
En esta tarea, creó una política de bucket para permitir los derechos de acceso
específicos al bucket. En la siguiente sección, explorará cómo mantener copias de los
archivos para evitar la eliminación accidental.
Tarea 6: explorar el control de versiones
El control de versiones es una forma de conservar diversas variantes de un objeto en el
mismo bucket. Puede utilizar el control de versiones para conservar, recuperar y
restaurar todas las versiones de los objetos almacenados en un bucket de S3. Con el
control de versiones, puede recuperarse fácilmente de acciones no deseadas del usuario
y de errores de la aplicación.
Por razones de auditoría y conformidad, tiene que habilitar el control de versiones en
reportbucket. El control de versiones debe proteger los informes de reportbucket contra
la eliminación accidental. Como usuario, desea validar qué tan cierta es esta
funcionalidad. En esta tarea, habilitará el control de versiones y probará la característica
al cargar una versión modificada del archivo [Link] de la tarea anterior.
89. Debe encontrarse en la pestaña Permissions (Permisos) del bucket de S3 de la
tarea anterior. De lo contrario, elija el enlace al bucket situado en la parte
superior izquierda de la pantalla para regresar a la página de información general
del bucket.
90. En la página de información general sobre reportbucket, elija la pestaña
Properties (Propiedades).
91. En la sección Bucket Versioning (Control de versiones del bucket), haga clic en
Edit (Editar), seleccione Enable (Habilitar) y, luego, Save changes (Guardar
cambios).
El control de versiones está habilitado para un bucket completo y todos los objetos
dentro del bucket. No se puede habilitar para los objetos individuales.
También hay consideraciones de costo al habilitar el control de versiones. Consulte la
sección Recursos adicionales al final del laboratorio y acceda a enlaces con más
información.
92. Haga clic con el botón derecho en este enlace y guarde el archivo de texto en su
computadora con el mismo nombre que el archivo de texto de la tarea
anterior: [Link].
Aunque este archivo tiene el mismo nombre que el archivo anterior, contiene texto
nuevo.
93. En la Consola de administración de Amazon S3, en reportbucket, elija la pestaña
Objects (Objetos).
En la sección Objects (Objetos), busque . Show versions (Mostrar versiones).
94. Elija Upload (Cargar) y utilice el mismo proceso de carga que usó en las
tareas 2 y 5 para cargar el nuevo archivo [Link].
95. Diríjase a la pestaña del navegador que tiene el contenido del archivo sample-
[Link].
96. Tome nota del contenido de la página y, a continuación, actualice dicha página.
Observe que se muestran nuevas líneas de texto.
Amazon S3 siempre devuelve la última versión de un objeto si no se especifica ninguna
versión.
También puede obtener una lista de las versiones disponibles en la consola de
administración de Amazon S3.
97. Cierre la pestaña del navegador web con el contenido del archivo de texto.
98. En la Consola de administración de Amazon S3, elija el nombre de archivo
[Link]. Se abrirá la página de información general de [Link].
99. Elija la pestaña Versions (Versiones) y, luego, seleccione la casilla de
verificación para la versión inferior donde se muestra null (nula). (Esta no es la
versión más reciente).
100. Haga clic en Open (Abrir).
Ahora debería ver la versión original del archivo a través de la consola de
administración de Amazon S3.
Sin embargo, si trata de acceder a la versión anterior del archivo [Link] con el
enlace de la URL del objeto, recibirá un mensaje de acceso denegado. Este mensaje es
de esperar porque la política de bucket que creó en la tarea anterior solo concede
permiso para acceder a la versión más reciente del objeto. Para obtener acceso a una
versión anterior del objeto, tiene que actualizar la política de bucket de modo que
incluya el permiso s3:GetObjectVersion. El siguiente ejemplo de política de bucket
incluye la acción adicional s3:GetObjectVersion que le permite acceder a la versión
anterior mediante el enlace. No es necesario que actualice su política de bucket con este
ejemplo para completar el laboratorio. Puede tratar de hacerlo por su cuenta después de
completar la tarea.
{
"Id": "Policy1557511288767",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1557511286634",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Effect": "Allow",
"Resource": "arn:aws:s[Link]reportbucket987987/*",
"Principal": "*"
}
]
}
101. Regrese a la pestaña AWS Management Console (Consola de
administración de AWS) y elija el enlace del nombre del bucket en la parte
superior izquierda para regresar a la pestaña Overview (Información general) del
bucket.
102. Busque la opción Show versions (Mostrar versiones) y active el botón
para que se muestren las versiones.
Ahora puede ver las versiones disponibles de cada objeto e identificar cuál es la más
reciente. Tenga en cuenta que el objeto [Link] solo tiene una versión. El ID de
la versión es null (nula) porque el objeto se cargó antes de habilitar el control de
versiones en este bucket.
Observe también que ahora puede elegir el enlace del nombre de la versión para navegar
directamente a esa versión del objeto en la consola.
103. Junto a Show versions (Mostrar versiones), desactive el botón para
regresar a la vista de objetos predeterminada.
104. Seleccione la casilla de verificación que se encuentra a la izquierda de
[Link].
105. Con el objeto seleccionado, elija Delete (Eliminar).
106. Aparece la página Delete objects (Eliminar objetos).
107. En la parte inferior, en la sección Delete objects? (¿Desea eliminar los
objetos?), escriba delete y elija el botón Delete objects (Eliminar los objetos)
para confirmar la eliminación del objeto.
108. En la parte superior derecha de la página, seleccione Close (Cerrar) para
volver a la información general del bucket.
El objeto [Link] ya no se muestra en el bucket. Sin embargo, si el objeto se
elimina por error, se puede utilizar el control de versiones para recuperarlo.
109. Busque la opción Show versions (Mostrar versiones) y active el botón
para que se muestren las versiones.
Observe que el objeto [Link] se muestra de nuevo, pero la versión más reciente
es un Delete marker (Marcador de eliminación). Las dos versiones anteriores también
se enumeran. Si el control de versiones se ha habilitado en el bucket, los objetos no se
eliminan de inmediato. En cambio, Amazon S3 inserta un marcador de eliminación, que
se convierte en la versión actual del objeto. Las versiones anteriores del objeto no se
quitan. Consulte la sección Recursos adicionales al final del laboratorio y acceda a
enlaces con más información sobre el control de versiones.
110. Seleccione la casilla de verificación para la versión del objeto sample-
[Link] con el Delete marker (Marcador de eliminación).
111. Con el objeto seleccionado, elija Delete (Eliminar).
112. Se muestra la ventana Delete objects (Eliminar los objetos).
113. En la parte inferior, en la sección Permanently delete objects? (¿Desea
eliminar los objetos de forma permanente?), escriba permanently delete y
elija el botón Delete objects (Eliminar los objetos) para confirmar la
eliminación del objeto.
114. En la parte superior derecha de la página, seleccione Close (Cerrar) para
volver a la información general del bucket.
115. Junto a Show versions (Mostrar versiones), desactive el botón para
regresar a la vista de objetos predeterminada.
Observe que el objeto [Link] se ha restaurado en el bucket. Al quitar el
marcador de eliminación, se ha restaurado efectivamente el objeto a su estado anterior.
Consulte la sección Recursos adicionales al final del laboratorio y acceda a los enlaces
con más información sobre el modo de anular la eliminación de objetos de S3.
A continuación, eliminará una versión específica del objeto.
116. Para eliminar una versión específica del objeto, busque la opción Show
versions (Mostrar versiones) y active el botón para que se muestren las
versiones.
Debe ver dos versiones del objeto [Link].
117. Seleccione la casilla de verificación para la versión más reciente del
objeto [Link].
118. Con el objeto seleccionado, elija Delete (Eliminar).
119. Se muestra la ventana Delete objects (Eliminar los objetos).
120. En la parte inferior de la sección Permanently delete objects? (¿Desea
eliminar los objetos de forma permanente?), escriba permanently delete y
elija el botón Delete objects (Eliminar los objetos).
121. En la parte superior derecha de la página, seleccione Close (Cerrar) para
volver a la información general del bucket.
Observe que ahora solo hay una versión del archivo [Link]. Al eliminar una
versión específica de un objeto, no se crea ningún marcador de eliminación. El objeto se
elimina de modo permanente. Consulte la sección Recursos adicionales al final del
laboratorio y acceda a los enlaces con más información sobre la eliminación de
versiones de objetos en Amazon S3.
122. Junto a Show versions (Mostrar versiones), desactive el botón para
regresar a la vista de objetos predeterminada.
123. Elija el nombre de archivo [Link]. Se abrirá la página de
información general de [Link].
124. Copie el enlace Object URL (URL del objeto) que se muestra en la parte
inferior de la ventana.
125. En una nueva pestaña del navegador, pegue el enlace en el campo de
dirección y, a continuación, presione Enter (Intro).
La página del navegador muestra el texto de la versión original del objeto sample-
[Link].
Resumen
Ha creado correctamente un bucket de S3 con el fin de que su empresa lo utilice para
almacenar los datos de informes de la instancia EC2. Ha creado una política de bucket
para permitir que la instancia EC2 pueda ejecutar las instrucciones PutObjects y
GetObject desde reportbucket, y probó correctamente la carga y la descarga de los
archivos en la instancia EC2 a fin de revisar la política de bucket. Habilitó el control de
versiones en el bucketde S3 para obtener protección contra la eliminación accidental de
objetos. Completó correctamente la configuración del reportbucket de EC2.
¡Felicitaciones!
Envío del trabajo
126. En la parte superior de estas instrucciones, elija Submit (Enviar) para
registrar su progreso y, cuando se le indique, elija Yes (Sí).
Sugerencia: Si anteriormente había ocultado el terminal en el panel del navegador,
vuelva a hacerlo visible al seleccionar la casilla de verificación Terminal en la parte
superior derecha. De esta manera, se asegurará de que las instrucciones de laboratorio
permanezcan visibles luego de haber seleccionado Submit (Enviar).
127. Si los resultados no se muestran después de algunos minutos, vuelva a la
parte superior de estas instrucciones y elija Grades (Calificaciones).
Sugerencia: Puede enviar su trabajo varias veces. Después de modificar el trabajo,
vuelva a seleccionar Submit (Enviar). Su última presentación es lo que se registrará
para este laboratorio.
Laboratorio completado
¡Felicitaciones! Ha completado el laboratorio.
128. En la parte superior de esta página, seleccione End Lab (Finalizar
laboratorio) y, luego, presione Yes (Sí) para confirmar que desea finalizar el
laboratorio.
Un panel muestra el mensaje DELETE has been initiated... You may close this message
box now (Se ha iniciado la ELIMINACIÓN. Ya puede cerrar este cuadro de mensajes).
129. Seleccione la X que se encuentra en la esquina superior derecha para
cerrar el panel.
Recursos adicionales
Amazon S3 en [Link]
Formación sobre Amazon S3 en [Link]
&search=Amazon%20Simple%20Storage%20Service&tab=view_all
Edición de permisos de objetos en
[Link]
[Link]
Reglas de nomenclatura para buckets de Amazon S3 en
[Link]
cketnamingrules
Bloqueo del acceso público de Amazon S3 en
[Link]
[Link]
Documentación sobre los nombres de recursos de Amazon (ARN) y los espacios
de nombres de servicios de AWS en
[Link]
Documentación sobre los elementos de política JSON de AWS en
[Link]
s_principal.html
Acciones, recursos y claves de condición para Amazon S3 en
[Link]
Control de versiones de Amazon S3 en
[Link]
Cómo anular la eliminación de objetos en Amazon S3
[Link]
Eliminación de versiones de objetos en Amazon S3 en
[Link]
l
Consideraciones sobre el costo del control de versiones de Amazon S3 en
[Link]
Session Manager de AWS Systems Manager en
[Link]
[Link]
Para obtener más información acerca de AWS Training and Certification, consulte
[Link]
Sus comentarios son bienvenidos y valorados.
Si desea compartir sugerencias o correcciones, proporcione los detalles en nuestro
Formulario de contacto de AWS Training and Certification en
[Link]
© 2021 Amazon Web Services, Inc. y sus empresas afiliadas. Todos los derechos
reservados. Este contenido no puede reproducirse ni redistribuirse, total ni
parcialmente, sin el permiso previo por escrito de Amazon Web Services, Inc. Queda
prohibida la copia, el préstamo o la venta de carácter comercial.