En este instructivo, se describe cómo configurar un bucket de Cloud Storage a fin de alojar un sitio web estático para un dominio que poseas. Las páginas web estáticas pueden incluir tecnologías del lado del cliente, como HTML, CSS y JavaScript. No pueden incluir contenido dinámico como secuencias de comandos del lado del servidor como PHP.
Dado que Cloud Storage no admite dominios personalizados con HTTPS por sí solo, en este instructivo, se usa Cloud Storage con un balanceador de cargas de aplicaciones externo para entregar contenido desde un dominio personalizado a través de HTTPS. Si deseas conocer más formas de entregar contenido desde un dominio personalizado a través de HTTPS, consulta Solución de problemas para la entrega de HTTPS. También puedes usar Cloud Storage para entregar contenido de dominio personalizado a través de HTTP, que no requiere un balanceador de cargas.
Si buscas ejemplos y sugerencias sobre páginas web estáticas, incluido cómo alojar elementos estáticos para un sitio web dinámico, consulta la página de sitios web estáticos.
Objetivos
En este instructivo, se muestra cómo hacer lo siguiente:- Crear un bucket
- Subir y compartir los archivos de tu sitio
- Configurar un balanceador de cargas y un certificado SSL
- Conectar tu balanceador de cargas a tu bucket
- Apuntar tu dominio a tu balanceador de cargas con un registro
A
- Probar el sitio web
Costos
En este instructivo, se usan los siguientes componentes facturables de Google Cloud:
Consulta la sugerencia Supervisa tus cargos para obtener detalles sobre los cargos que se pueden aplicar cuando alojas un sitio web estático.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Habilita la API de Compute Engine para tu proyecto.
- Debes tener los siguientes roles de Identity and Access Management: Storage Object Admin y Compute Network Admin.
- Debes tener un dominio que poseas o administres. Si no tienes un dominio existente, existen muchos servicios a través de los cuales puedes registrar un nuevo dominio, como Cloud Domains.
En este instructivo, se usa el dominio
example.com
. - Debes tener algunos archivos del sitio web que desees entregar. Este instructivo es de mayor utilidad si tienes al menos una página de índice (
index.html
) y una página 404 (404.html
). - (Opcional) Si deseas que tu bucket de Cloud Storage tenga el mismo nombre que tu dominio, debes verificar que eres propietario o administrador del dominio que usarás. Asegúrate de verificar el dominio de nivel superior, como
example.com
y no un subdominio, comowww.example.com
. Si compraste tu dominio a través de Cloud Domains, la verificación es automática.
Cree un bucket
Siga estos pasos para crear un bucket:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
- Haz clic en Crear.
- En la página Crear un bucket, escribe la información de tu bucket. Para ir al paso siguiente, haz clic en Continuar.
- En Asigna un nombre a tu bucket, escribe un nombre que cumpla con los requisitos de nomenclatura de buckets.
- En Elige dónde almacenar tus datos, elige un Tipo de ubicación y una Ubicación en la que se almacenarán de forma permanente los datos del bucket.
- En Elige una clase de almacenamiento para tus datos, elige una clase de almacenamiento predeterminada para el bucket o elige Clase automática en la administración automática de clases de almacenamiento de los datos de tu bucket.
Nota: El panel Estimación de costo mensual en el panel derecho calcula los costos mensuales del bucket en función de la clase y ubicación de almacenamiento elegidas, así como las operaciones y el tamaño de los datos esperados.
- En Elige cómo controlar el acceso a los objetos, elige si tu bucket aplica o no la prevención del acceso público y elige un modelo de Control de acceso para los objetos del bucket.
Nota: Si la política de la organización de tu proyecto ya aplica la prevención del acceso público, el botón de activación Impedir el acceso público se bloquea.
- En Elige cómo proteger los datos de objetos, configura herramientas de protección si lo deseas y elige un método de encriptación de datos.
- Haz clic en Crear.
Para obtener información acerca de cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
En tu entorno de desarrollo, ejecuta el comando
gcloud storage buckets create
:gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
Donde:
BUCKET_NAME
es el nombre que quieres asignar a tu bucket, sujeto a los requisitos de nomenclatura. Por ejemplo:my-bucket
.BUCKET_LOCATION
es la ubicación de tu bucket. Por ejemplo,us-east1
.
Si la solicitud se realiza correctamente, el comando mostrará el siguiente mensaje:
Creating gs://BUCKET_NAME/...
Configura las siguientes marcas para tener un mayor control sobre la creación de tu bucket:
--project
: Especifica el ID o el número del proyecto con el que se asociará el bucket. Por ejemplo,my-project
.--default-storage-class
: especifica la clase de almacenamiento predeterminada de tu depósito. Por ejemplo,STANDARD
.--soft-delete-duration
: especifica la duración de retención de borrar de forma no definitiva de tu bucket. Por ejemplo,2w1d
.--uniform-bucket-level-access
: habilita el acceso uniforme a nivel del depósito para tu depósito.
Para obtener una lista completa de las opciones de creación de buckets de gcloud, consulta Opciones de
buckets create
.Por ejemplo:
gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_ID --default-storage-class=STORAGE_CLASS --location=BUCKET_LOCATION --uniform-bucket-level-access
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Terraform
Puedes usar un recurso de Terraform para crear un bucket de almacenamiento.
En el siguiente ejemplo, se incluye la asignación de un sufijo de página de índice y de una página de error personalizada. Para obtener más información, consulta Asigna páginas especializadas.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.- Crea un archivo JSON que contenga la configuración del bucket, que debe incluir un
name
para el bucket. Consulta la documentación de Buckets:Insert para obtener una lista completa de opciones de configuración. A continuación, se indican las opciones de configuración comunes que puedes incluir: BUCKET_NAME
es el nombre que quieres asignar a tu bucket, sujeto a los requisitos de nomenclatura. Por ejemplo,my-bucket
.BUCKET_LOCATION
es la ubicación en la que deseas almacenar los datos de objeto de tu bucket. Por ejemplo,US-EAST1
.STORAGE_CLASS
es la clase de almacenamiento predeterminada de tu bucket. Por ejemplo,STANDARD
.- Usa
cURL
para llamar a la API de JSON:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER"
Donde:
JSON_FILE_NAME
es el nombre del archivo JSON que creaste en el paso 2.PROJECT_IDENTIFIER
es el ID o el número del proyecto al que se asociará el bucket. Por ejemplo,my-project
.
{ "name": "BUCKET_NAME", "location": "BUCKET_LOCATION", "storageClass": "STORAGE_CLASS", "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true }, } }
Donde:
API de XML
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.- Crea un archivo en formato XML que contenga la configuración del bucket. Consulta la documentación de XML: crea un bucket para obtener una lista completa de opciones de configuración. A continuación, se indican las opciones de configuración comunes que puedes incluir:
BUCKET_LOCATION
es la ubicación en la que deseas almacenar los datos de objeto de tu bucket. Por ejemplo,US-EAST1
.STORAGE_CLASS
es la clase de almacenamiento predeterminada de tu bucket. Por ejemplo,STANDARD
.- Usa
cURL
para llamar a la API de XML:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.googleapis.com/BUCKET_NAME"
Donde:
XML_FILE_NAME
es el nombre del archivo XML que creaste en el paso 2.PROJECT_ID
es el ID del proyecto al que se asociará tu bucket. Por ejemplo,my-project
.BUCKET_NAME
es el nombre que quieres asignar a tu bucket, sujeto a los requisitos de nomenclatura. Por ejemplo,my-bucket
.
<CreateBucketConfiguration> <LocationConstraint>BUCKET_LOCATION</LocationConstraint> <StorageClass>STORAGE_CLASS</StorageClass> </CreateBucketConfiguration>
Donde:
Sube los archivos de tu sitio
Para agregar los archivos que deseas que tu sitio web entregue al bucket, haz lo siguiente:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket que creaste.
Se abrirá la página Detalles del bucket con la pestaña Objetos elegidos.
Haz clic en el botón Subir archivos.
En el cuadro de diálogo de archivo, navega al archivo deseado y selecciónalo.
Una vez completada la carga, deberías ver el nombre y la información del archivo en el bucket.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
Usa el comando gcloud storage cp
para copiar archivos a tu bucket.
Por ejemplo, para copiar el archivo index.html
de su ubicación actual Desktop
al bucket my-static-assets
, ejecuta el siguiente comando:
gcloud storage cp Desktop/index.html gs://my-static-assets
Si se ejecuta de forma correcta, la respuesta se parece al siguiente ejemplo:
Completed files 1/1 | 164.3kiB/164.3kiB
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se sube un objeto individual:
En el siguiente ejemplo, se suben varios objetos de forma simultánea:
En el siguiente ejemplo, se suben todos los objetos con un prefijo común de forma simultánea:
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se sube un objeto individual:
En el siguiente ejemplo, se suben varios objetos de forma simultánea:
En el siguiente ejemplo, se suben todos los objetos con un prefijo común de forma simultánea:
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se sube un objeto individual:
En el siguiente ejemplo, se suben varios objetos de forma simultánea:
En el siguiente ejemplo, se suben todos los objetos con un prefijo común de forma simultánea:
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Terraform
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud de objetoPOST
. Para el archivoindex.html
subido a un bucket llamadomy-static-assets
, usa el siguiente comando:curl -X POST --data-binary @index.html \ -H "Content-Type: text/html" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/upload/storage/v1/b/my-static-assets/o?uploadType=media&name=index.html"
API de XML
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.Usa
cURL
para llamar a la API de XML con una solicitud de objetoPUT
. Para el archivoindex.html
subido a un bucket llamadomy-static-assets
, usa el siguiente comando:curl -X PUT --data-binary @index.html \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: text/html" \ "https://storage.googleapis.com/my-static-assets/index.html"
Comparte tus archivos
Sigue estos pasos para que todos los objetos de tu bucket sean legibles para todos en la Internet pública:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket que deseas hacer público.
Selecciona la pestaña Permisos cerca de la parte superior de la página.
Si el panel Acceso público lee No público, haz clic en el botón Quitar prevención de acceso público y haz clic en Confirmar en el cuadro de diálogo que aparece.
Haz clic en el botón add_box Otorgar acceso.
Aparecerá el cuadro de diálogo Agregar principales.
En el campo Principales nuevas, escribe
allUsers
.En el menú desplegable Seleccionar un rol, elige el submenú Cloud Storage y haz clic en la opción Visualizador de objetos de almacenamiento.
Haz clic en Guardar.
Haz clic en Permitir acceso público.
Una vez que se comparte de forma pública, aparece un ícono de vínculo para cada objeto en la columna de acceso público. Puedes hacer clic en este ícono para obtener la URL del objeto.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
Usa el comando buckets add-iam-policy-binding
:
gcloud storage buckets add-iam-policy-binding gs://my-static-assets --member=allUsers --role=roles/storage.objectViewer
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Terraform
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.Crea un archivo JSON que contenga la siguiente información:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPUT
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Donde:
JSON_FILE_NAME
es la ruta de acceso del archivo JSON que creaste en el paso 2.BUCKET_NAME
es el nombre del bucket cuyos objetos quieres hacer públicos. Por ejemplo,my-static-assets
API de XML
La API de XML no admite que todos los objetos de un bucket se hagan legibles de forma pública. Usa la consola de Google Cloud o gcloud storage
en su lugar, o establece LCA para cada objeto individual.
Para que los objetos individuales de tu bucket sean de acceso público, debes cambiar el modo de Control de acceso de tu bucket a Detallado. En general, hacer que todos los archivos de un bucket sean de acceso público es más fácil y rápido.
Los visitantes reciben un código de respuesta http 403
cuando solicitan la URL de un archivo que no es público o que no existe. Consulta la siguiente sección para obtener información sobre cómo agregar una página de error que use un código de respuesta http 404
.
Recomendado: Asigna páginas especializadas
Puedes asignar un sufijo de página de índice y una página de error personalizada, conocidas como páginas especializadas. La asignación es opcional, pero si no asignas un sufijo de página de índice y subes la página de índice correspondiente, los usuarios que acceden a tu sitio de nivel superior reciben un árbol de documentos XML que contiene una lista del público objetos en tu bucket.
Para obtener más información sobre el comportamiento de las páginas especializadas, consulta Páginas especializadas.
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de bucket s, encuentra el bucket que creaste.
Haz clic en el menú Ampliado del bucket (more_vert) asociado al bucket y selecciona Editar configuración del sitio web.
En el cuadro de diálogo de configuración del sitio web, especifica la página principal y la página de error.
Haz clic en Guardar.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
Usa el comando buckets update
con las marcas --web-main-page-suffix
y --web-error-page
:
En el siguiente ejemplo, MainPageSuffix
se configura como index.html
y NotFoundPage
como 404.html
:
gcloud storage buckets update gs://my-static-assets --web-main-page-suffix=index.html --web-error-page=404.html
Si no hay errores, el comando mostrará lo siguiente:
Updating gs://www.example.com/... Completed 1
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.Crea un archivo JSON que establezca las propiedades
mainPageSuffix
ynotFoundPage
en un objetowebsite
en las páginas deseadas:En el siguiente ejemplo,
mainPageSuffix
se configura comoindex.html
ynotFoundPage
como404.html
:{ "website":{ "mainPageSuffix": "index.html", "notFoundPage": "404.html" } }
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
. Para el bucketmy-static-assets
:curl -X PATCH --data-binary @web-config.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/my-static-assets"
API de XML
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.Crea un archivo XML que establezca los elementos
MainPageSuffix
yNotFoundPage
de un elementoWebsiteConfiguration
en las páginas deseadas:En el siguiente ejemplo,
MainPageSuffix
se configura comoindex.html
yNotFoundPage
como404.html
:<WebsiteConfiguration> <MainPageSuffix>index.html</MainPageSuffix> <NotFoundPage>404.html</NotFoundPage> </WebsiteConfiguration>
Usa
cURL
para llamar a la API de XML con una solicitud de bucketPUT
y un parámetro de string de consultawebsiteConfig
. Paramy-static-assets
:curl -X PUT --data-binary @web-config.xml \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://storage.googleapis.com/my-static-assets?websiteConfig
Configura el balanceador de cargas y el certificado SSL
Cloud Storage no admite dominios personalizados con HTTPS por sí solo, por lo que también debes configurar un certificado SSL adjunto a un balanceador de cargas HTTPS para entregar tu sitio web mediante HTTPS. En esta sección, se muestra cómo agregar tu bucket al backend de un balanceador de cargas y cómo agregar un certificado SSL administrado por Google nuevo al frontend del balanceador de cargas.
Inicia la configuración
En la consola de Google Cloud, ve a la página Balanceo de cargas.
- Haz clic en Crear balanceador de cargas.
- En Tipo de balanceador de cargas, selecciona Balanceador de cargas de aplicaciones (HTTP/HTTPS) y haz clic en Siguiente.
- En Orientado al público o interno, selecciona Orientado al público (externo) y haz clic en Siguiente.
- En Implementación global o de una sola región, selecciona Mejor para cargas de trabajo globales y haz clic en Siguiente.
- En Generación de balanceadores de cargas, selecciona Balanceador de cargas de aplicaciones clásico y haz clic en Siguiente.
- Haz clic en Configurar.
Aparecerá la ventana de configuración de tu balanceador de cargas.
Configuración básica
Antes de continuar con la configuración, ingresa un
nombre de balanceador de cargas, como example-lb
.
Configura el frontend
En esta sección, se muestra cómo configurar el protocolo HTTPS y crear un certificado SSL. También puedes elegir un certificado existente o subir un certificado SSL autoadministrado.
- Haga clic en Configuración de frontend.
- Proporciona un Nombre a tu configuración de frontend (opcional).
- Para Protocolo, elige HTTPS (incluye HTTP/2).
- Para Versión de la IP, elige IPv4. Si prefieres IPv6, consulta Terminación de IPv6 para obtener información adicional.
Para el campo Dirección IP:
- En el menú desplegable, haz clic en Crear dirección IP.
- En la ventana emergente Reservar una nueva dirección IP estática, escribe un nombre, como
example-ip
para el Nombre de la dirección IP. - Haz clic en Reservar.
En Puerto, elige 443.
En el menú desplegable del campo Certificado, elige Crear un certificado nuevo. El formulario de creación de certificado aparecerá en un panel. Configura lo siguiente:
- Asigna un Nombre a tu certificado, como
example-ssl
. - Para Crear modo, elige Crear un certificado administrado por Google.
- Para Dominios, escribe el nombre del sitio web, como
www.example.com
. Si deseas entregar el contenido a través de dominios adicionales, como el dominio raízexample.com
, presiona Intro para agregarlos en líneas adicionales. Cada certificado tiene un límite de 100 dominios.
- Asigna un Nombre a tu certificado, como
Haz clic en Crear.
(Opcional) Si deseas que Google Cloud configure de forma automática un balanceador de cargas HTTP parcial para redireccionar el tráfico HTTP, elige la casilla de verificación junto a Habilitar el redireccionamiento de HTTP a HTTPS.
Haz clic en Listo.
Configure el backend
- Haga clic en Configuración de backend.
- En el menú desplegable Servicios y buckets de backend, haz clic en Crear un bucket de backend.
- Elige un nombre de bucket de backend, como
example-bucket
. El nombre que elijas puede ser diferente del nombre del bucket que creaste antes. - Haz clic en Explorar, que se encuentra en el campo Bucket de Cloud Storage.
- Selecciona el bucket
my-static-assets
que creaste antes y haz clic en Seleccionar. - Si deseas usar Cloud CDN, elige la casilla de verificación para Habilitar Cloud CDN y configura Cloud CDN como desees (opcional). Ten en cuenta que Cloud CDN puede generar costos adicionales.
- Haz clic en Crear.
Configura reglas de enrutamiento
Las reglas de enrutamiento son los componentes del mapa de URL de un balanceador de cargas de aplicaciones externo. Para este instructivo, debes saltar esta parte de la configuración del balanceador de cargas, ya que se configura de forma automática para usar el backend que acabas de configurar.
Revisa la configuración
- Haga clic en Revisar y finalizar.
- Revisa el Frontend, las Reglas de enrutamiento y el Backend.
- Haz clic en Crear.
Es posible que debas esperar unos minutos para que se cree el balanceador de cargas.
Conecta tu dominio al balanceador de cargas
Después de crear el balanceador de cargas, haz clic en el nombre de tu balanceador de cargas: example-lb
. Toma nota de la dirección IP asociada con el balanceador de cargas: por ejemplo, 30.90.80.100
. Para apuntar tu dominio al balanceador de cargas, crea un registro A
mediante tu servicio de registro de dominio. Si agregaste varios dominios a tu certificado SSL, debes agregar un registro A
para cada uno, que apunte a la dirección IP del balanceador de cargas. Por ejemplo, para crear registros A
para www.example.com
y example.com
:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Recomendado: Supervisa el estado del certificado SSL
Es posible que Google Cloud demore entre 60 y 90 minutos en aprovisionar el certificado y hacer que el sitio esté disponible a través del balanceador de cargas. Para supervisar el estado de tu certificado, haz lo siguiente:
Console
- Ve a la página Balanceo de cargas en la consola de Google Cloud.
Ir a Balanceo de cargas - Haz clic en el nombre de tu balanceador de cargas:
example-lb
. - Haz clic en el nombre del certificado SSL asociado con el balanceador de cargas:
example-ssl
. - Las filas Estado y Estado del dominio muestran el estado del certificado. Ambas deben estar activas para que el certificado sea válido para tu sitio web.
Línea de comandos
Para comprobar el estado del certificado, ejecuta el siguiente comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
Para comprobar el estado del dominio, ejecuta el siguiente comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
Para obtener más información sobre el estado de los certificados, consulta Solución de problemas de certificados SSL.
Pruebe el sitio web
Una vez que el certificado SSL esté activo, verifica que el contenido se entregue desde el bucket, para ello visita https://www.example.com/test.html
, en el que test.html
es un objeto almacenado en el bucket que estás usando como backend. Si configuras la propiedad MainPageSuffix
, https://www.example.com
va a index.html
.
Realiza una limpieza
Una vez que completes el instructivo, puedes limpiar los recursos que creaste para que dejen de usar la cuota y generar cargos. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.
Borra el proyecto
La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.
Para borrar el proyecto, haz lo siguiente:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Borra el balanceador de cargas y el bucket
Si no deseas borrar todo el proyecto, borra el balanceador de cargas y el bucket que creaste para el instructivo:
- Ve a la página Balanceo de cargas en la consola de Google Cloud.
Ir a Balanceo de cargas - Selecciona la casilla de verificación junto a
example-lb
. - Haz clic en Borrar.
- Selecciona la casilla de verificación junto a los recursos que deseas borrar y el balanceador de cargas, como el bucket
my-static-assets
o el certificado SSLexample-ssl
(opcional). - Haz clic en Borrar balanceador de cargas o Borrar el balanceador de cargas y los recursos elegidos.
Libera una dirección IP reservada
Para borrar la dirección IP reservada que usaste en el instructivo, sigue estos pasos:
En la consola de Google Cloud, ve a la página Direcciones IP externas.
Selecciona las casillas de verificación junto a
example-ip
.Haz clic en Liberar dirección estática.
En la ventana de confirmación, haz clic en Borrar.
¿Qué sigue?
- Consulta ejemplos y sugerencias sobre el uso de buckets para alojar un sitio web estático.
- Lee sobre cómo solucionar problemas para alojar un sitio web estático.
- Obtén información sobre el hosting de activos estáticos para un sitio web dinámico.
- Obtén más información sobre otras soluciones de entrega web de Google Cloud.
Pruébalo tú mismo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud Storage en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Probar Cloud Storage gratis