Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se explica cómo configurar tu entorno para guardar snapshots de forma programada.
Para obtener más información sobre cómo funcionan las instantáneas del entorno y cómo guardarlas manualmente, consulta Guardar y cargar instantáneas.
Cómo funcionan las capturas programadas
Cuando habilitas las copias de seguridad programadas, Cloud Composer guarda periódicamente copias de seguridad de tu entorno en un segmento de Cloud Storage.
Si creas instantáneas manualmente, Cloud Composer las guarda en el segmento del entorno de forma predeterminada. En el caso de las capturas programadas, te recomendamos que las guardes en un segmento independiente. De esta forma, puedes configurar permisos y una configuración de ciclo de vida para este contenedor. Un segmento puede contener instantáneas de varios entornos y también puedes crear segmentos que sean redundantes en varias regiones.
Antes de empezar
Para obtener más información sobre los requisitos y las limitaciones de las copias de seguridad, consulta Guardar y cargar copias de seguridad.
Cloud Composer admite las instantáneas programadas en las versiones 2.0.32 y posteriores. Las copias de entorno se admiten en la versión 2.0.9 y posteriores.
Crear un segmento para las capturas programadas
Crea un contenedor para las capturas programadas. Piensa en cómo quieres usar las copias de tu entorno. Si forma parte de tu plan de recuperación ante desastres, utiliza un segmento que sea redundante en varias regiones o un segmento de otra región para poder acceder a los datos incluso en caso de que se produzca una interrupción total en una región. De lo contrario, puede que sea más adecuado usar un segmento de la misma región que el entorno, en cuyo caso se reducirán los costes de transferencia de datos entre regiones.
Configurar los permisos del segmento
Configura los siguientes permisos:
La cuenta de servicio de tu entorno debe tener permisos de lectura y escritura para este segmento. Por ejemplo, el rol Administrador de objetos de almacenamiento tiene estos permisos.
Las cuentas de usuario no necesitan ningún permiso adicional para que el segmento cargue las copias de seguridad, a menos que quieras ver el contenido del segmento desde la consola de Google Cloud . En este caso, una cuenta de usuario debe tener permiso de lectura en el contenedor.
Definir una configuración del ciclo de vida del segmento
Para ahorrar costes de almacenamiento, puedes configurar una regla que elimine las copias de un entorno después de un periodo determinado.
Por ejemplo, para eliminar automáticamente las capturas que tengan más de 30 días, sigue estos pasos:
- Define una configuración del ciclo de vida para el segmento.
- Especifica la acción Eliminar objeto.
- Selecciona Edad y 30 días como condición.
Habilitar una programación de capturas para tu entorno
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En Configuración de recuperación > Programación de instantáneas, haz clic en Editar. Se abre el panel Programación de capturas.
En el panel Programación de capturas, selecciona Crear capturas periódicamente, según la programación especificada.
En la lista desplegable Frecuencia de programación, selecciona el periodo diario, semanal o personalizado para las copias de seguridad.
Puedes especificar una programación personalizada con el formato cron para UNIX. Por ejemplo, para guardar instantáneas cada 30 minutos, especifica
*/30 * * * *
.En el campo Ubicación de la instantánea, selecciona la carpeta del contenedor en la que quieras guardar las instantáneas.
gcloud
Actualiza la configuración de tu entorno. Los siguientes argumentos definen los parámetros de las copias de seguridad programadas:
--enable-scheduled-snapshot-creation
habilita las capturas programadas.--snapshot-location
especifica una carpeta de un segmento en la que quieres guardar las instantáneas.--snapshot-creation-schedule
especifica la frecuencia con la que se deben tomar las instantáneas del entorno, en formato cron de UNIX. Por ejemplo, para crear una instantánea cada 30 minutos, especifica*/30 * * * *
.--snapshot-schedule-timezone
define la zona horaria de la programación. Este valor es un desfase horario y no tiene en cuenta los cambios de horario de verano. Los valores válidos van deUTC-12
aUTC+12
. Ejemplos:UTC
,UTC-01
yUTC+03
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-scheduled-snapshot-creation \
--snapshot-location "gs://SNAPSHOTS_FOLDER" \
--snapshot-creation-schedule "CRON_EXPRESSION" \
--snapshot-schedule-timezone "TIME_ZONE"
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno.SNAPSHOTS_FOLDER
con el URI de una carpeta de un contenedor donde guardar la instantánea.CRON_EXPRESSION
con la programación en el formato cron de UNIX.TIME_ZONE
con una zona horaria para la programación.
Ejemplo (todos los días a las 4:00, UTC+01):
gcloud composer environments update example-environment \
--location us-central1 \
--enable-scheduled-snapshot-creation \
--snapshot-location "gs://example-bucket/environment_snapshots" \
--snapshot-creation-schedule "0 4 * * *" \
--snapshot-schedule-timezone "UTC+01"
API
Crea una solicitud de la API environments.patch
.
En esta solicitud:
En el parámetro
updateMask
, especifica la máscaraconfig.recoveryConfig.scheduledSnapshotsConfig
para sustituir la configuración de las copias de seguridad programadas.En el cuerpo de la solicitud, especifica la configuración de las copias de seguridad:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://SNAPSHOTS_FOLDER", "snapshot_creation_schedule": "CRON_EXPRESSION", "time_zone": "TIME_ZONE" } } } }
Sustituye:
SNAPSHOTS_FOLDER
con el URI de una carpeta de un contenedor donde guardar la instantánea.CRON_EXPRESSION
con la programación en el formato cron de UNIX.TIME_ZONE
con una zona horaria para la programación. Este valor es un desfase horario y no tiene en cuenta los cambios de horario de invierno ni de verano. Los valores válidos van deUTC-12
aUTC+12
. Ejemplos:UTC
,UTC-01
yUTC+03
.
Ejemplo (todos los días a las 4:00, UTC+01):
// PATCH https://composer.googleapis.com/v1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.recoveryConfig.scheduledSnapshotsConfig { "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://example-bucket/environment_snapshots", "snapshot_creation_schedule": "0 4 * * *", "time_zone": "UTC+01" } } } }
Terraform
El scheduled_snapshots_config
del bloque recovery_config
define los parámetros de las instantáneas programadas:
enabled
habilita las capturas programadas.snapshot_location
especifica una carpeta de segmento en la que quieres guardar las instantáneas.snapshot_creation_schedule
especifica la frecuencia con la que se deben tomar las instantáneas del entorno, en formato cron de UNIX. Por ejemplo, para crear una instantánea cada 30 minutos, especifica*/30 * * * *
.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = true
snapshot_location = "gs://SNAPSHOTS_FOLDER"
snapshot_creation_schedule = "CRON_EXPRESSION"
time_zone = "TIME_ZONE"
}
}
}
Sustituye:
SNAPSHOTS_FOLDER
con el URI de una carpeta de un contenedor donde guardar la instantánea.CRON_EXPRESSION
con la programación en el formato cron de UNIX.TIME_ZONE
con una zona horaria para la programación. Este valor es un desfase horario y no tiene en cuenta los cambios de horario de invierno ni de verano. Los valores válidos van deUTC-12
aUTC+12
. Ejemplos:UTC
,UTC-01
yUTC+03
.
Ejemplo (todos los días a las 4:00, UTC+01):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
recovery_config {
scheduled_snapshots_config {
enabled = true
snapshot_location = "gs://example-bucket/environment_snapshots"
snapshot_creation_schedule = "0 4 * * *"
time_zone = "UTC+01"
}
}
}
Inhabilitar capturas programadas
Si inhabilitas las capturas programadas, no se modificarán ni se eliminarán las capturas que ya se hayan hecho. Estas capturas permanecen en la ubicación en la que se guardaron.
Consola
En la Google Cloud consola, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En Configuración de recuperación > Programación de instantáneas, haz clic en Editar. Se abre el panel Programación de capturas.
En el panel Programación de capturas, selecciona No crear capturas automáticamente.
gcloud
Actualiza la configuración de tu entorno. El argumento --disable-scheduled-snapshot-creation
inhabilita las
capturas programadas.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-scheduled-snapshot-creation
Sustituye:
ENVIRONMENT_NAME
con el nombre del entorno.LOCATION
con la región en la que se encuentra el entorno.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-scheduled-snapshot-creation
API
Crea una solicitud de la API environments.patch
.
En esta solicitud:
En el parámetro
updateMask
, especifique la máscaraconfig.recoveryConfig.scheduledSnapshotsConfig.enabled
para sustituir el valor del campoenabled
.En el cuerpo de la solicitud, especifica el nuevo valor:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": false } } } }
Ejemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.recoveryConfig.scheduledSnapshotsConfig.enabled
{
"config": {
"recoveryConfig": {
"scheduledSnapshotsConfig": {
"enabled": false
}
}
}
}
Terraform
Para inhabilitar las instantáneas programadas, asigna el valor false
al campo enabled
en el bloque scheduled_snapshots_config
:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = false
}
}
}
Ejemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
recovery_config {
scheduled_snapshots_config {
enabled = false
// Other scheduled snapshots parameters
}
}
}
Siguientes pasos
- Guardar y cargar instantáneas del entorno
- Recuperación tras fallos con copias de seguridad
- Control de acceso