Si necesitas mover los datos del disco de arranque de Compute Engine fuera del proyecto de Compute Engine, puedes exportar una imagen de disco de arranque a Cloud Storage como un archivo tar.gz
. Si necesitas crear una imagen de disco persistente para usarla cuando crees discos persistentes nuevos en Compute Engine, consulta Crea una imagen personalizada.
Puedes crear una copia de seguridad o compartir una imagen personalizada si exportas la imagen a Cloud Storage. Este método es ideal para compartir imágenes individuales con proyectos que no tienen acceso a tus imágenes. De forma alternativa, puedes compartir imágenes si otorgas la Función del usuario de imágenes de Compute Engine en la imagen o en el proyecto que la contiene.
En el diagrama siguiente, se muestran algunos flujos de trabajo típicos para la creación y reutilización de una imagen personalizada.
Antes de comenzar
- Consulta la página de imágenes.
- Si el proyecto del que quieres exportar la imagen tiene una política de imágenes confiables definida, agrega
projects/compute-image-import
yprojects/compute-image-tools
a la lista de publicadores permitidos. - Si deseas obtener información a fin de cumplir con los requisitos antes de exportar imágenes, consulta Requisitos para importar y exportar imágenes de VM.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- exportar desde el mismo proyecto en el que reside la imagen
- exportar la imagen de forma manual
En la consola de Google Cloud, ve a la página Imágenes.
Haz clic en el nombre de la imagen que deseas exportar para ir a la página de detalles de esa imagen. No puedes exportar imágenes públicas proporcionadas por Google. Solo puedes exportar imágenes que hayas creado o importado anteriormente.
En la página de detalles de la imagen, haz clic en Exportar para abrir la página Exportar imagen.
En la página Exportar imagen, selecciona el Formato de exportación de la imagen.
Haz clic en Explorar para elegir la ubicación de Cloud Storage a la que deseas exportar.
Elige una ubicación de Cloud Storage existente para exportar tu imagen. O bien, sigue las instrucciones para crear un bucket nuevo de Cloud Storage y, luego, asígnale un nombre.
Una vez que elijas una ubicación de Cloud Storage, elige un nombre de archivo para la imagen exportada. Puedes usar el nombre de archivo predeterminado o puedes elegir uno propio.
Después de elegir una ubicación de Cloud Storage y de ingresar un nombre de archivo para la imagen, haz clic en Seleccionar.
En la página Exportar imagen, haz clic en Exportar. Después de que elijas Exportar, la consola de Google Cloud mostrará el Historial de exportación de imágenes, en el que podrás ver el proceso de exportación de la imagen. Para obtener más detalles sobre el proceso de exportación de imágenes, haz clic en ID de Cloud Build para ir a la página Detalles de exportación de imágenes, en la que podrás ver y descargar el registro de exportación de la imagen.
Ve a la página Almacenamiento para acceder a la imagen que exportaste.
DESTINATION_URI
: El destino del URI de Cloud Storage para el archivo de imagen exportado.IMAGE_NAME
: El nombre de la imagen de disco que se exportará.PROJECT_ID
por el ID del proyecto que contiene la imagen que deseas exportar.SOURCE_IMAGE
: Es el nombre de la imagen que se importará.IMAGE_FORMAT
: Es el formato de la imagen exportada. Los formatos válidos incluyenvmdk
,vhdx
,vpc
,vdi
yqcow2
.DESTINATION_URI
: La ubicación del URI de Cloud Storage en la que deseas exportar el archivo de imagen Por ejemplo,gs://my-bucket/my-exported-image.vmdk
- Ejecuta una solicitud projects.builds.get mediante el
build-id
que se mostró. - Revisa los registros alojados en la
logUrl
proporcionada. Crea una cuenta de servicio y asigna los roles mínimos. Si deseas obtener más información para crear cuentas de servicio, consulta Crea y administra cuentas de servicio.
Como mínimo, la cuenta de servicio de Compute Engine especificada debe tener asignados los siguientes roles:
roles/compute.storageAdmin
roles/storage.objectAdmin
Para obtener más información, consulta Otorga roles necesarios a la cuenta de servicio de Compute Engine.
Usa el comando
gcloud compute images export
para exportar la imagen.gcloud compute images export \ --destination-uri DESTINATION_URI \ --image IMAGE_NAME \ --compute-service-account SERVICE_ACCOUNT_EMAIL
Reemplaza lo siguiente:
DESTINATION_URI
: El destino del URI de Cloud Storage para el archivo de imagen exportado.IMAGE_NAME
: El nombre de la imagen de disco que se exportará.SERVICE_ACCOUNT_EMAIL
: La dirección de correo electrónico asociada con la cuenta de servicio de Compute Engine creada en el paso anterior.
Crea una cuenta de servicio y asigna las funciones mínimas. Si deseas obtener más información para crear cuentas de servicio, consulta Crea y administra cuentas de servicio.
Como mínimo, la cuenta de servicio de Compute Engine especificada debe tener asignadas las siguientes funciones:
roles/compute.storageAdmin
roles/storage.objectAdmin
Para obtener más información, consulta Otorga funciones necesarias a la cuenta de servicio de Compute Engine.
En la API, crea una solicitud
POST
a la API de Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-timeout=7000s", "-source_image=SOURCE_IMAGE", "-client_id=api", "-format=IMAGE_FORMAT", "-destination_uri=DESTINATION_URI", "-compute_service_account=SERVICE_ACCOUNT_EMAIL" ], "name":"gcr.io/compute-image-tools/gce_vm_image_export:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-daisy", "gce-daisy-image-export" ] }
Reemplaza lo siguiente:
PROJECT_ID
por el ID del proyecto que contiene la imagen que deseas exportar.SOURCE_IMAGE
: Es el nombre de la imagen que se importará.IMAGE_FORMAT
: Es el formato de la imagen exportada. Los formatos válidos incluyenvmdk
,vhdx
,vpc
,vdi
yqcow2
.DESTINATION_URI
: La ubicación del URI de Cloud Storage en la que deseas exportar el archivo de imagen Por ejemplo,gs://my-bucket/my-exported-image.vmdk
SERVICE_ACCOUNT_EMAIL
: La dirección de correo electrónico asociada con la cuenta de servicio de Compute Engine creada en el paso anterior.
IMAGE_NAME
: Es el nombre de la imagen que se exportará.DESTINATION_URI
: La ubicación del URI de Cloud Storage en la que deseas exportar el archivo de imagenPROJECT_ID
: El ID del proyecto en el que se encuentra la imagen.NETWORK
: La ruta de acceso completa a una red de VPC compartida. Por ejemplo,projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK_NAME
.SUBNET
: Opcional La ruta de acceso completa a una subred de VPC compartida. Por ejemplo,projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
.Especificar este modo depende del modo de red de VPC.
- Si la red de VPC usa el modo heredado, no especifiques una subred.
- Si la red de VPC usa el modo automático, la especificación de la subred es opcional.
- Si la red de VPC usa el modo personalizado, este campo debe especificarse.
ZONE
: Opcional La zona que se usará para la exportación. Esta zona debe coincidir con la región de la subred. Por ejemplo, siSUBNET
está en la regiónus-west1
, la zona de exportación debe ser una de las siguientes:us-west1-a
,us-west1-b
ous-west1-c
.Si especificaste un
SUBNET
, también debes especificar la zona.Agrega la imagen a Cloud Storage.
En la API, crea una solicitud
POST
a la API de Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-timeout=7000s", "-source_image=SOURCE_IMAGE", "-client_id=api", "-format=IMAGE_FORMAT", "-destination_uri=DESTINATION_URI", "-network=NETWORK", "-subnet=SUBNET", "-zone=ZONE" ], "name":"gcr.io/compute-image-tools/gce_vm_image_export:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-daisy", "gce-daisy-image-export" ] }
Reemplaza lo siguiente:
PROJECT_ID
por el ID del proyecto que contiene la imagen que deseas exportar.SOURCE_IMAGE
: Es el nombre de la imagen que se importará.IMAGE_FORMAT
: Es el formato de la imagen exportada. Los formatos válidos incluyenvmdk
,vhdx
,vpc
,vdi
yqcow2
.DESTINATION_URI
: La ubicación del URI de Cloud Storage en la que deseas exportar el archivo de imagen Por ejemplo,gs://my-bucket/my-exported-image.vmdk
NETWORK
: La ruta de acceso completa a una red de VPC compartida. Por ejemplo,projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK_NAME
SUBNET
: La ruta de acceso completa a una subred de VPC compartida. Por ejemplo,projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
Especificar este modo depende del modo de red de VPC.
- Si la red de VPC usa el modo heredado, no especifiques una subred.
- Si la red de VPC usa el modo automático, la especificación de la subred es opcional.
- Si la red de VPC usa el modo personalizado, este campo debe especificarse.
ZONE
: La zona que se usará para la exportación. Esta zona debe coincidir con la región de la subred. Por ejemplo, siSUBNET
está en la regiónus-west1
, la zona de exportación debe ser una de las siguientes:us-west1-a
,us-west1-b
ous-west1-c
.En la mayoría de los casos, especificar una zona es opcional. Si se especifica
SUBNET
, se debe especificar la zona.
Para conocer otros valores
args
que se puedan proporcionar, consulta la sección de marcas opcionales de la página sobre exportación de imágenes de VM en GitHub.Opcional: Detén la instancia a la que está conectado el disco antes de crear la instantánea. Si detienes la instancia, se garantiza la integridad del contenido del disco en la instantánea.
Crea una instantánea del disco. Asigna un nombre a la instantánea
image-snapshot
.gcloud compute disks snapshot DISK_NAME \ --snapshot-names image-snapshot
Reemplaza
DISK_NAME
por el nombre del disco que deseas usar para crear la instantánea. Para encontrar el nombre del disco, puedes enumerar los discos.Usa la instantánea
image-snapshot
para crear un disco nuevo llamadoimage-disk
. Para ello, ejecuta el siguiente comando:gcloud compute disks create image-disk \ --source-snapshot image-snapshot
Crea un disco temporal llamado
temporary-disk
para que contenga el archivotar
y especifica un valor paraSIZE
del disco que sea al menos un 50% mayor que el del disco de imagen.Después podrás desvincular y borrar el disco.
gcloud compute disks create temporary-disk \ --size SIZE
en el que
SIZE
es el tamaño, en gigabytes o terabytes, del disco temporal. Por ejemplo, especifica100GB
si quieres crear un disco de 100 gigabytes.Crea una instancia y habilita el alcance
storage-rw
en ella. Además, adjuntaimage-disk
ytemporary-disk
a la instancia como discos secundarios con atributosdevice-name
específicos. ReemplazaVM_NAME
por el nombre de la instancia que deseas crear.gcloud compute instances create VM_NAME \ --scopes storage-rw \ --disk name=image-disk,device-name=image-disk \ --disk name=temporary-disk,device-name=temporary-disk
Ten en cuenta que estás transfiriendo permisos de cuentas de servicio para poder subir el archivo a Cloud Storage en pasos posteriores.
Consulta los detalles sobre cómo iniciar una instancia nueva si es necesario.
Conéctate a tu instancia. Reemplaza
VM_NAME
por el nombre de la instancia a la que deseas conectarte.gcloud compute ssh VM_NAME
Formatea y activa el disco temporal: Si se formatea el disco, se borran los contenidos del disco temporal.
sudo mkdir /mnt/tmp
sudo mkfs.ext4 -F /dev/disk/by-id/google-temporary-disk
sudo mount -o discard,defaults /dev/disk/by-id/google-temporary-disk /mnt/tmp
Opcional: Activa el disco de imagen y realiza cambios adicionales antes de crear el archivo
tar
. Por ejemplo, es posible que quieras borrar los archivos existentes del directorio/home
si no deseas que formen parte de la imagen. Debes activar las particiones del disco que necesitas modificar, modificar los archivos en el disco que necesitas cambiar y, luego, desactivar el disco cuando hayas terminado.Crea un directorio en el que puedas activar tu disco o partición.
sudo mkdir /mnt/image-disk
Usa el comando
ls
para determinar qué disco o partición de disco necesitas activar.ls /dev/disk/by-id/
Con el comando, se imprime una lista del ID del disco y las particiones. Por ejemplo, el disco siguiente tiene una tabla particionada con una partición. El ID
google-image-disk
apunta al disco completo desde el que quieres crear una imagen. El ID degoogle-image-disk-part1
apunta a la primera partición en este disco. Debes activar la partición si necesitas realizar cambios en el disco; luego, crea la imagen desde el disco completo.google-image-disk google-image-disk-part1
Activa el disco o la partición. Si tu disco tiene una tabla particionada, debes activar las particiones individuales de tu disco. Por ejemplo, activa
google-image-disk-part1
.sudo mount /dev/disk/by-id/google-image-disk-part1 /mnt/image-disk
De forma alternativa, si tu disco tiene un formato sin procesar y sin tabla de particiones, activa el disco
google-image-disk
completo.sudo mount /dev/disk/by-id/google-image-disk /mnt/image-disk
Modifica los archivos en el directorio
/mnt/image-disk
para configurar los archivos en el disco. Por ejemplo, puedes quitar el archivo/mnt/image-disk/home/[USER]/.ssh/authorized_keys
para evitar que se compartan las Llaves SSH.Una vez que hayas terminado de modificar los archivos, desactiva el disco.
sudo umount /mnt/image-disk/
Crea el archivo
tar
de la imagen.Cuando termines de personalizar los archivos en el disco de imagen, crea un archivo de disco sin procesar en tu disco temporal. El nombre de la imagen de disco sin procesar debe ser “disk.raw”:
sudo dd if=/dev/disk/by-id/google-image-disk of=/mnt/tmp/disk.raw bs=4096
Luego, crea el archivo
tar.gz
:cd /mnt/tmp
sudo tar czvf myimage.tar.gz disk.raw
Con este comando, se crea una imagen de la instancia en la siguiente ubicación:
/mnt/tmp/myimage.tar.gz
Sube la imagen a Cloud Storage.
Para subir el archivo
tar
a Cloud Storage, usa Google Cloud CLI, que viene preinstalada en tu instancia.Crea un bucket con gcloud CLI.
Asegúrate de revisar los lineamientos de asignación de nombres de objetos y buckets antes de crear el bucket. Luego, crea el bucket con el siguiente comando: Reemplaza
BUCKET_NAME
por el nombre del bucket que deseas crear.me@example-instance:~$ gcloud storage buckets create gs://BUCKET_NAME
Copia el archivo en el bucket nuevo. Reemplaza
BUCKET_NAME
por el nombre del bucket en el cual se copiará el archivo.me@example-instance:~$ gcloud storage cp /mnt/tmp/myimage.tar.gz gs://BUCKET_NAME
- Comparte imágenes con la función de usuario de imágenes.
- Obtén más información sobre los métodos de importación disponibles para Compute Engine.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Limitaciones y restricciones
Las siguientes limitaciones se aplican al proceso de exportación de imágenes.
Limitaciones generales
Cuando exportas una imagen, se crea una sesión en la máquina desde la que la exportas. Esta sesión debe permanecer activa hasta que se complete el proceso de exportación. Si la sesión finaliza antes de que se complete el proceso de exportación, es posible que no se borren los recursos efímeros, como los discos temporales, las instancias de VM o los buckets de almacenamiento. En este caso, debes borrar estos recursos efímeros de forma manual.
El proceso de exportación usa Cloud Build para exportar una imagen. Una sesión de Cloud Build dura un máximo de 24 horas. Si tu imagen es muy grande y necesita más de 24 horas para exportarse, puedes exportarla de forma manual.
Limitaciones de los Controles del servicio de VPC
Para los proyectos que están protegidos con los Controles del servicio de VPC, usa uno de los siguientes métodos:
Exporta una imagen con un solo comando
Exporta una imagen a Cloud Storage
Puedes exportar tus imágenes con la consola de Google Cloud, Google Cloud CLI o REST.
Console
gcloud
La forma preferida de exportar una imagen a Cloud Storage es mediante el comando
gcloud compute images export
. Este comando usa Daisy a fin de encadenar los diversos pasos necesarios para exportar una imagen. Se supone que ya creaste una imagen, por ejemplo, con el comandogcloud compute images create
.Con Google Cloud CLI, ejecuta lo siguiente:
gcloud compute images export \ --destination-uri DESTINATION_URI \ --image IMAGE_NAME
Reemplaza lo siguiente:
De forma predeterminada, las imágenes se exportan en el formato de Compute Engine, que es un archivo
disk.raw
que se comprimido y se comprime con gzip. Para exportar imágenes en otros formatos compatibles con la utilidad de imagen de disco QEMU, puedes usar la marca--export-format
. Los formatos válidos incluyenvmdk
,vhdx
,vpc
,vdi
yqcow2
.Ejemplo
Por ejemplo, el siguiente comando exporta una imagen llamada
my-image
demy-project
a un depósito de Cloud Storage llamadomy-bucket
. De forma predeterminada, la imagen se exporta como un archivodisk.raw file
y se comprime en el formato de archivotar.gz
.gcloud compute images export \ --destination-uri gs://my-bucket/my-image.tar.gz \ --image my-image \ --project my-project
Para obtener marcas, consulta la documentación de referencia de
gcloud compute images export
.REST
Envía una solicitud
POST
a la API de Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-timeout=7000s", "-source_image=SOURCE_IMAGE", "-client_id=api", "-format=IMAGE_FORMAT", "-destination_uri=DESTINATION_URI" ], "name":"gcr.io/compute-image-tools/gce_vm_image_export:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-daisy", "gce-daisy-image-export" ] }
Reemplaza lo siguiente:
Para conocer otros valores
args
que se puedan proporcionar, consulta la sección de marcas opcionales de la página sobre exportación de imágenes de VM en GitHub.Respuesta de ejemplo
El resultado muestra una respuesta similar al siguiente ejemplo:
{ "name": "operations/build/myproject-12345/operation-1578608233418", "metadata": { "@type": "type.googleapis.com/google.devtools.cloudbuild.v1.BuildOperationMetadata", "build": { "id": "3a2055bc-ccbd-4101-9434-d376b88b8940", "status": "QUEUED", "createTime": "2019-10-02T18:59:13.393492020Z", "steps": [ { "name": "gcr.io/compute-image-tools/gce_vm_image_export:release", "env": [ "BUILD_ID=3a2055bc-ccbd-4101-9434-d376b88b8940" ], "args": [ "-timeout=7056s", "-source_image=my-image", "-client_id=api", "-format=vmdk", "-destination_uri=gs://my-bucket/my-exported-image.vmdk" ] } ], "timeout": "7200s", "projectId": "myproject-12345", "logsBucket": "gs://123456.cloudbuild-logs.googleusercontent.com", "options": { "logging": "LEGACY" }, "logUrl": "https://console.cloud.google.com/cloud-build/builds/3a2055bc-ccbd-4101-9434-d376b88b8940?project=123456" } }
Puedes supervisar tu compilación de las siguientes dos maneras:
Exporta una imagen desde un proyecto mediante una cuenta de servicio personalizada de Compute Engine
Durante una exportación de imagen, se crea una instancia de máquina virtual (VM) temporal en tu proyecto. Debe autenticarse la herramienta de exportación de imágenes en esta VM temporal.
Una cuenta de servicio es una identidad que se adjunta a una VM. Se puede acceder a los tokens de acceso a la cuenta de servicio a través del servidor de metadatos de instancia y usarlos para autenticar la herramienta de exportación de imágenes en la VM.
De forma predeterminada, el proceso de exportación usa el agente de servicio predeterminado de Compute Engine del proyecto. Sin embargo, si la cuenta de servicio predeterminada de Compute Engine está inhabilitada en tu proyecto o si quieres usar una cuenta de servicio de Compute Engine personalizada, debes crear una cuenta de servicio y especificarla para el proceso de exportación.
Puedes exportar tus imágenes con Google Cloud CLI o REST.
gcloud
Ejemplo
Por ejemplo, con el siguiente comando, se exporta una imagen llamada
my-image
demy-project
a un depósito de Cloud Storage llamadomy-bucket
con una cuenta de servicio que tiene el correo electrónicoimage-export-service-account@proj-12345.iam.gserviceaccount.com
. De forma predeterminada, la imagen se exporta como un archivodisk.raw
y se comprime en el formato de archivotar.gz
.gcloud compute images export \ --destination-uri gs://my-bucket/my-image.tar.gz \ --image my-image \ --project my-project \ --compute-service-account image-export-service-account@proj-12345.iam.gserviceaccount.com
Para obtener marcas, consulta la documentación de referencia de
gcloud compute images export
.REST
Para conocer otros valores
args
que se puedan proporcionar, consulta la sección de marcas opcionales de la página sobre exportación de imágenes de VM en GitHub.Exporta una imagen mediante la VPC compartida
Antes de exportar una imagen que use una VPC compartida, debes agregar la función
compute.networkUser
a la cuenta de servicio de Cloud Build. Para obtener más información, consulta Otorga funciones necesarias a la cuenta de servicio de Cloud Build.Puedes exportar la imagen con Google Cloud CLI o REST.
gcloud
Usa el comando
gcloud compute images export
para exportar la imagen.gcloud compute images export \ --image IMAGE_NAME \ --destination-uri DESTINATION_URI \ --project PROJECT_ID \ --network NETWORK \ --subnet SUBNET \ --zone ZONE
Reemplaza lo siguiente:
Por ejemplo, el siguiente comando exporta una imagen llamada
example-image
demy-project
a un depósito de Cloud Storage llamadomy-bucket
. En este ejemplo, la red de nube privada virtual (my-shared-vp
) usa una subred personalizada (my-custom-subnet
). De forma predeterminada, la imagen se exporta como un archivodisk.raw
y se comprime en el formato de archivotar.gz
.Comando de muestra
gcloud compute images export \ --image example-image \ --destination-uri gs://my-bucket/my-image.tar.gz \ --project my-project \ --network projects/my-vpc-project/global/networks/my-shared-vpc \ --subnet projects/my-vpc-project/regions/us-west1/subnetworks/my-custom-subnet \ --zone us-west1-c
REST
Crea y exporta una imagen de forma manual
Si los comandos
gcloud compute images create
ygcloud compute images export
no cumplen con tus requisitos, puedes crear y exportar una imagen manualmente desde una instancia de Compute Engine. Este proceso tiene pasos discretos a fin de crear primero una imagen y, luego, exportarla.En el ejemplo siguiente, ten en cuenta que el disco creado se llama image-disk.
Si quieres crear y exportar una imagen, haz lo siguiente:
Exportaste tu archivo a Cloud Storage. Ahora puedes compartir la imagen con otras personas o usar el archivo
tar
para agregar una imagen nueva a un proyecto de la consola de Google Cloud.¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-