En esta página se explica cómo crear un segmento de almacenamiento para tus proyectos aislados de Google Distributed Cloud (GDC). Se incluyen los requisitos previos, los pasos de creación y verificación, y las directrices de nomenclatura. De esta forma, podrás establecer un almacenamiento de objetos conforme y bien configurado que satisfaga las necesidades de tus despliegues aislados.
Esta página está dirigida a usuarios como los administradores de TI del grupo de operadores de infraestructura o los desarrolladores del grupo de operadores de aplicaciones que quieran aprovisionar y gestionar segmentos de almacenamiento de objetos para proyectos en entornos GDC aislados. Para obtener más información, consulta el artículo sobre los públicos de la documentación de GDC para entornos aislados.
Antes de empezar
Un espacio de nombres de proyecto gestiona los recursos de segmentos en el servidor de la API de gestión. Debes tener un proyecto para trabajar con segmentos y objetos.
También debes tener los permisos de segmento adecuados para realizar la siguiente operación. Consulta el artículo sobre cómo conceder acceso a un segmento.
En el caso de los segmentos de dos zonas, configura kubectl para acceder al servidor de la API global. Sigue los pasos que se indican en el artículo sobre los recursos del servidor de la API global y define la variable de entorno GLOBAL_API_SERVER en el archivo kubeconfig.
Directrices de nomenclatura de segmentos de almacenamiento
Los nombres de los segmentos deben cumplir las siguientes convenciones de nomenclatura:
- Ser únicos en el proyecto. El servidor de la API de gestión antepone un prefijo único al nombre cualificado completo del segmento para que no haya conflictos en la organización. En el improbable caso de que haya un conflicto entre un prefijo y un nombre de segmento en varias organizaciones, la creación del segmento fallará y se mostrará el error "bucket name in use" (nombre de segmento en uso).
- No incluir información de identificación personal.
- Cumplir los requisitos de DNS.
- Tener entre 1 y 55 caracteres.
- Empezar por una letra y usar solo letras, números y guiones.
Crear un segmento
De forma predeterminada, los segmentos usan la clase de almacenamiento Standard. Si el operador de infraestructura ha habilitado el almacenamiento Nearline, también puedes seleccionar la clase de almacenamiento Nearline para los datos a los que se accede con menos frecuencia. El almacenamiento Nearline es compatible con los segmentos de una y dos zonas.
Consola
- En el menú de navegación, haz clic en Almacenamiento de objetos.
- En el selector de proyectos, selecciona el proyecto en el que quieras crear el segmento.
- Haz clic en Crear segmento.
- En el flujo de creación de segmentos, asigna un nombre único a todos los segmentos del proyecto.
- Introduce una descripción.
- En Clase de almacenamiento, selecciona Estándar o Nearline. La opción Nearline solo está visible si el almacenamiento Nearline está habilitado.
- Opcional: Haz clic en el botón de alternancia toggle_off para definir una política de conservación e introduce el número de días que prefieras. Ponte en contacto con el PI si necesitas superar los límites de la política de conservación.
- Haz clic en Crear. Aparecerá un mensaje de éxito y se te redirigirá a la página Segmentos.
Para verificar que has creado correctamente un segmento, actualiza la página Segmentos después de unos minutos y comprueba que el estado del segmento cambie de Not ready (No listo) a Ready (Listo).
API
Para crear un segmento, aplica una especificación de segmento al espacio de nombres de tu proyecto:
kubectl apply -f bucket.yaml
A continuación, se muestra un ejemplo de especificación de segmento con la clase de almacenamiento Standard:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: DESCRIPTION
storageClass: Standard
bucketPolicy:
lockingPolicy:
defaultObjectRetentionDays: RETENTION_DAY_COUNT
A continuación, se muestra un ejemplo de especificación de segmento con la clase de almacenamiento Nearline:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: DESCRIPTION
storageClass: Nearline
bucketPolicy:
lockingPolicy:
defaultObjectRetentionDays: RETENTION_DAY_COUNT
A continuación, se muestra un ejemplo de especificación de segmento con la versión de cifrado v1:
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
labels:
object.gdc.goog/encryption-version: v1
spec:
description: DESCRIPTION
storageClass: Standard
bucketPolicy:
lockingPolicy:
defaultObjectRetentionDays: RETENTION_DAY_COUNT
Para obtener más información, consulta la referencia de la API de segmentos .
A continuación, se muestra un ejemplo de especificación de segmento de dos zonas en la API global de administrador de la organización:
apiVersion: object.global.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: PROJECT_NAME
spec:
location: LOCATION_NAME
description: Sample DZ Bucket
storageClass: Standard
Para crear un segmento de dos zonas con Nearline Storage, define storageClass: Nearline.
Ten en cuenta que solo se admite el cifrado V2 en los segmentos de dos zonas y que todas las operaciones para crear, actualizar o eliminar un recurso de segmento de dos zonas deben realizarse en el servidor de la API global.
gdcloud
Para crear un segmento de una zona con gdcloud usando la clase de almacenamiento Nearline:
gdcloud storage buckets create BUCKET_NAME \
--location=ZONE_NAME \
--location-type=SingleZone \
--storage-class=Nearline
Para crear un segmento de dos zonas con gdcloud usando la ubicación global:
gdcloud storage buckets create BUCKET_NAME \
--location=ZONE_1,ZONE_2 \
--location-type=AsyncDualZone \
--storage-class=Nearline
Si se omite --storage-class, se usa Standard de forma predeterminada.
Para obtener más información, consulta el artículo sobre cómo crear segmentos de almacenamiento con gdcloud.
Verificar la creación de segmentos y recursos relacionados
Una vez creado el segmento, puedes ejecutar el siguiente comando para confirmar y comprobar los detalles del segmento:
kubectl describe buckets BUCKET_NAME -n PROJECT_NAMESPACE
La sección Estado tiene dos campos importantes: Cifrado (para obtener información sobre el cifrado) y Nombre completo (que contiene el FULLY_QUALIFIED_BUCKET_NAME).
Cifrado v1
La información se refiere a la clave AEAD denominada obj-FULLY_QUALIFIED_BUCKET_NAME, que sirve de referencia a la clave de cifrado empleada para cifrar los objetos almacenados en el segmento. A continuación, se muestra un ejemplo:
Status:
Encryption:
Key Ref:
Kind: AEADKey
Name: obj-FULLY_QUALIFIED_BUCKET_NAME
Namespace: PROJECT_NAMESPACE
Type: CMEK
Cifrado v2
La información se refiere al secreto denominado kek-ref-FULLY_QUALIFIED_BUCKET_NAME, que actúa como referencia para las claves AEAD predeterminadas activas. Las claves AEAD predeterminadas activas se seleccionan aleatoriamente para cifrar los objetos subidos al segmento cuando no se especifica ninguna clave AEAD concreta.
A continuación, se muestra un ejemplo:
Status:
Encryption:
Key Ref:
Kind: Secret
Name: kek-ref-FULLY_QUALIFIED_BUCKET_NAME
Namespace: PROJECT_NAMESPACE
Type: CMEK
También puedes ejecutar el siguiente comando para verificar que se han creado las claves AEAD necesarias:
kubectl get aeadkeys -n PROJECT_NAMESPACE -l cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME
Después de crear un segmento, puedes gestionarlo en nombre de los operadores de aplicaciones creando un archivo de política al conceder acceso al segmento y asignando la política a un segmento.