IBM Cloud Docs
Gestionar grupos de recursos

Gestionar grupos de recursos

Un grupo de recursos es una forma de organizar los recursos de cuenta en agrupaciones personalizables para que pueda asignar rápidamente a los usuarios acceso a varios recursos a la vez. Cualquier recurso de cuenta que se gestione utilizando el control de acceso de IBM Cloud® Identity and Access Management (IAM) pertenece a un grupo de recursos de su cuenta. Puede agrupar recursos y asignar acceso a instancias de servicio individuales o a grupos de recursos completos que utilizan IAM.

Para empezar a gestionar sus grupos de recursos, en la consola de IBM Cloud® vaya a Gestionar > Cuenta > Recursos de cuenta > Grupos de recursos. Puede crear, ver y cambiar el nombre de sus grupos de recursos, añadir recursos y gestionar el acceso a sus grupos de recursos. También puede suprimir cualquier grupo de recursos solo si no contiene ningún recurso y no es el grupo de recursos predeterminado. El propietario de la cuenta de IBM Cloud puede añadir recursos a cualquier grupo de recursos, pero para otorgar acceso a otros usuarios se debe utilizar una política de acceso de IAM.

Para obtener más información sobre cómo trabajar con grupos de recursos, consulte Prácticas recomendadas para organizar recursos y asignar accesos.

Creación de un grupo de recursos

Si tiene una cuenta de Pago según uso o de Suscripción, puede crear varios grupos de recursos para gestionar fácilmente la cuota y ver el uso de facturación de un conjunto de recursos. También puede agrupar recursos para facilitarles la asignación de acceso a los usuarios a más de una instancia a la vez. Puede tener un máximo de 1000 grupos de recursos por cuenta. Debe tener asignada una política de IAM con un rol de administrador en Todos los servicios de gestión de cuentas para crear grupos de recursos adicionales. Si tiene una cuenta Lite o una prueba de 30 días, no puede crear grupos de recursos adicionales pero puede renombrar su grupo de recursos predeterminado.

Creación de un grupo de recursos en la consola

  1. En la consola de IBM Cloud, vaya a Gestionar > Cuenta > Recursos de cuenta > Grupos de recursos.
  2. Pulse Crear.
  3. Especifique un nombre para su grupo de recursos.
  4. Pulse Crear.

Creación de un grupo de recursos mediante la CLI

Puede crear y renombrar un grupo de recursos, o ver un recurso en uno utilizando la IBM Cloud® Interfaz de línea de comandos. Para ver información detallada sobre cómo trabajar con recursos, consulte Cómo trabajar con recursos y grupos de recursos.

  1. Inicie sesión y seleccione la cuenta.
    ibmcloud login
    
  2. Cree un nuevo grupo de recursos ejecutando el mandato ibmcloud resource group-create. Por ejemplo, el siguiente mandato crea un grupo de recursos llamado group2:
ibmcloud resource group-create group2

Creación de un grupo de recursos mediante la API

Si tiene una cuenta de Pago según uso o de Suscripción, puede crear varios grupos de recursos para gestionar fácilmente la cuota y ver el uso de facturación de un conjunto de recursos. También puede agrupar recursos para facilitarles la asignación de acceso a los usuarios a más de una instancia a la vez.

Debe tener asignada una política de IAM con un rol de administrador en Todos los servicios de gestión de cuentas para crear grupos de recursos adicionales. Si tiene una cuenta Lite o una prueba de 30 días, no puede crear grupos de recursos adicionales pero puede renombrar su grupo de recursos predeterminado.

Para crear un grupo de recursos, llame a la API del gestor de recursos de IBM Cloud®, tal como se muestra en el ejemplo siguiente:

curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_groups -H 'Authorization: Bearer <IAM_TOKEN>'
  -H 'Content-Type: application/json' -d '{
      "account_id": "987d4cfd77b04e9b9e1a6asdcc861234",
      "name": "test"
    }'
CreateResourceGroupOptions createResourceGroupOptions = new CreateResourceGroupOptions.Builder()
        .accountId(exampleUserAccountId)
        .name("ExampleGroup")
        .build();
Response<ResCreateResourceGroup> response = resourceManagerService.createResourceGroup(createResourceGroupOptions).execute();
ResCreateResourceGroup resCreateResourceGroup = response.getResult();
System.out.println(resCreateResourceGroup);
const params = {
  accountId: exampleUserAccountId,
  name: "ExampleGroup"
};
resourceManagerService.createResourceGroup(params)
  .then(res => {
    resourceGroupId = res.result.id;
    console.log(JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
res_create_resource_group = resource_manager_service.create_resource_group(
  account_id=example_user_account_id,
  name='ExampleGroup',
).get_result()
print(json.dumps(res_create_resource_group, indent=2))
createResourceGroupOptions := resourceManagerService.NewCreateResourceGroupOptions()
createResourceGroupOptions.SetAccountID(exampleUserAccountID)
createResourceGroupOptions.SetName("ExampleGroup")
resCreateResourceGroup, response, err := resourceManagerService.CreateResourceGroup(createResourceGroupOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(resCreateResourceGroup, "", "  ")
fmt.Println(string(b))

Antes de empezar

Antes de poder gestionar grupos de recursos mediante Terraform, asegúrate de haber completado lo siguiente:

  • Instale la CLI de Terraform y configure el complemento de proveedor ' IBM Cloud ' para Terraform. Para obtener más información, consulte el tutorial de Introducción a Terraform en IBM Cloud®. El plug-in abstrae las API de IBM Cloud que se utilizan para completar esta tarea.

  • Cree un archivo de configuración de Terraform denominado main.tf. En este archivo, se definen los recursos utilizando el Lenguaje de Configuración HashiCorp. Para más información, consulte la documentación de Terraform.

Creación de un grupo de recursos utilizando Terraform

Siga estos pasos para crear un grupo de recursos mediante Terraform:

  1. Crea un argumento en tu archivo ' main.tf '. El ejemplo siguiente crea un grupo de recursos utilizando el recurso ibm_resource_group, donde name es un nombre exclusivo para identificar el grupo de recursos.

    resource "ibm_resource_group" "resourceGroup" {
     name     = "prod"
    }
    

    Puede especificar tags asociadas con la instancia del grupo de recursos. Para obtener más información, consulte los detalles de referencia de argumentos en la página de gestión de recursos de Terraform.

  2. Después de terminar de crear el archivo de configuración, inicializa Terraform CLI. Para más información, consulte Inicializar directorios de trabajo.

    terraform init
    
  3. Aprovisiona los recursos del archivo ' main.tf '. Para obtener más información, consulte Aprovisionamiento de infraestructura con Terraform.

    1. Ejecute ' terraform plan para generar un plan de ejecución Terraform para previsualizar las acciones propuestas.
      terraform plan
      
    2. Ejecute " terraform apply " para crear los recursos definidos en el plan.
      terraform apply
      

Cómo renombrar un grupo de recursos

Su primer grupo de recursos se crea y se llama Default. Puede actualizar el nombre de este grupo o cualquier otro grupo que cree.

Cómo renombrar un grupo de recursos en la consola

  1. En la consola de IBM Cloud, vaya a Gestionar > Cuenta > Recursos de cuenta > Grupos de recursos.
  2. Pulse el menú Acciones Icono de lista de acciones y seleccione Renombrar.
  3. Especifique un nombre exclusivo y pulse Guardar.

Cambio de nombre de un grupo de recursos mediante la CLI

  1. Inicie sesión y seleccione la cuenta.
    ibmcloud login
    
  2. Cambie el nombre de un grupo de recursos ejecutando el mandato ibmcloud resource group-update. Por ejemplo, el siguiente mandato cambia el nombre del grupo de recursos Default por Admin:
ibmcloud resource group-update Default [-n, --name Admin]

Cómo renombrar un grupo de recursos mediante la API

La variable name identifica el nuevo nombre del grupo de recursos. Para más información, consulte el apartado Actualizar un grupo de recursos.

curl -X PATCH https://resource-controller.cloud.ibm.com/v2/resource_groups/09f8c1c0742c493f80baaf7835212345 -H 'Authorization: Bearer <IAM_TOKEN>'
  -H 'Content-Type: application/json' -d '{
      "name": "test1"
    }'
UpdateResourceGroupOptions updateResourceGroupOptions = new UpdateResourceGroupOptions.Builder()
  .id(resourceGroupId)
  .name("RenamedExampleGroup")
  .state("ACTIVE")
  .build();
Response<ResourceGroup> response = resourceManagerService.updateResourceGroup(updateResourceGroupOptions).execute();
ResourceGroup resourceGroup = response.getResult();
System.out.println(resourceGroup);
const params = {
  id: resourceGroupId,
  state: 'ACTIVE',
  name: 'RenamedExampleGroup'
};
resourceManagerService.updateResourceGroup(params)
  .then(res => {
    console.log(JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
resource_group = resource_manager_service.update_resource_group(
  id=resource_group_id,
  name='RenamedExampleGroup',
  state='ACTIVE',
).get_result()
print(json.dumps(resource_group, indent=2))
updateResourceGroupOptions := resourceManagerService.NewUpdateResourceGroupOptions(
  resourceGroupID,
)
updateResourceGroupOptions.SetName("RenamedExampleGroup")
updateResourceGroupOptions.SetState("ACTIVE")
resourceGroup, response, err := resourceManagerService.UpdateResourceGroup(updateResourceGroupOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(resourceGroup, "", "  ")
fmt.Println(string(b))

Cambio de nombre de un grupo de recursos utilizando Terraform

Puede cambiar el nombre de un grupo de recursos utilizando Terraform.

  1. Para instalar la CLI de Terraform y configurar el plug-in de proveedor de IBM Cloud para Terraform, siga la guía de aprendizaje Cómo empezar con Terraform en IBM Cloud®. El plug-in abstrae las API de IBM Cloud que se utilizan para completar esta tarea.

  2. Cree un archivo de configuración de Terraform denominado main.tf. En este archivo, añade la configuración para cambiar el nombre de un grupo de recursos utilizando el lenguaje de configuración de HashiCorp. Para más información, consulte la documentación de Terraform.

    Puede cambiar el nombre del grupo de recursos actualizando name con un nuevo valor, como se muestra en el ejemplo siguiente.

    resource "ibm_resource_group" "resourceGroup" {
     name     = "prod"
    }
    

    Para obtener más información, consulte los detalles de referencia de argumentos en la página de gestión de recursos de Terraform.

  3. Inicialice la CLI de Terraform.

    terraform init
    
  4. Ejecute ' terraform plan para generar un plan de ejecución Terraform para previsualizar las acciones propuestas. El plan de ejecución de Terraform resume todas las acciones que deben ejecutarse para cambiar el nombre del grupo de recursos.

    terraform plan
    
  5. Cambie el nombre del grupo de recursos.

    terraform apply
    

Adición de recursos a un grupo de recursos

Los servicios gestionados con IAM pertenecen a un grupo de recursos. Cuando cree una instancia de uno de estos servicios desde el catálogo, se le solicitará que asigne la instancia a un grupo de recursos. Asegúrese de planificar cómo desea organizar los recursos en su cuenta antes de asignarlos a un grupo de recursos. La selección del grupo de recursos en el momento de crear la instancia es definitiva y no se puede cambiar.

La selección del grupo de recursos en el momento de crear la instancia es definitiva y no se puede cambiar.

El propietario de la cuenta de IBM Cloud puede añadir recursos a cualquier grupo de recursos, pero para otorgar acceso a otros usuarios se debe utilizar una política de acceso de IAM. Los usuarios de la cuenta deben tener asignadas dos políticas de acceso para poder crear recursos desde el catálogo y añadirlos a un grupo de recursos:

  • Una política con el rol de visor o superior sobre el propio grupo de recursos
  • Una política con el rol de editor o superior sobre el servicio en la cuenta

Para añadir los recursos a un grupo de recursos, realice los pasos siguientes:

  1. En la consola de IBM Cloud, vaya a Gestionar > Cuenta > Recursos de cuenta > Grupos de recursos.
  2. Pulse el menú Acciones Icono de lista de acciones y seleccione Añadir recursos.
  3. Desde ahí, se le redirige al catálogo. Puede buscar los productos o filtrarlos en función de una categoría, proveedor, plan de precios, tipo de cumplimiento o tipo de lanzamiento específicos. Algunos ejemplos de recursos incluyen apps, instancias de servicio, clústeres de contenedores, volúmenes de almacenamiento, servidores virtuales y software.

Adición de recursos a un grupo de recursos mediante la API

Consulte Gestión de valores del catálogo para definir la visibilidad del catálogo de IBM Cloud® y controlar el acceso a los productos del catálogo público y de los catálogos privados para los usuarios de la cuenta.

Visualización de los recursos de un grupo de recursos

Para ver fácilmente los recursos que están asignados a un grupo de recursos, vaya al icono del menú de navegación. Icono del menú de navegación > Lista de recursos. A continuación, filtre por grupo de recursos.

Si no encuentra su recurso de infraestructura clásica en la página de la lista de recursos, compruebe la lista de dispositivos haciendo clic en el icono del menú de navegación Icono del menú de navegación > Infraestructura clásica > Lista de dispositivos.

Visualización de recursos en un grupo de recursos mediante la CLI

  1. Inicie sesión y seleccione la cuenta.

    ibmcloud login
    
  2. Para ver los recursos asignados a un grupo de recursos específico, ejecute el mandato ibmcloud resource service-instances. Por ejemplo, el siguiente mandato muestra todos los recursos que están en el grupo de recursos Default:

ibmcloud resource service-instances -g Default

Visualización de recursos en un grupo de recursos mediante la API

Para ver los recursos de un grupo de recursos, llame a la API del controlador de recursos de IBM Cloud®, tal como se muestra en el ejemplo siguiente:

curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_instances -H 'Authorization: Bearer <>'
ListResourceInstancesOptions listResourceInstancesOptions = new ListResourceInstancesOptions.Builder()
  .name(resourceInstanceName)
  .build();
Response<ResourceInstancesList> response = service.listResourceInstances(listResourceInstancesOptions).execute();
ResourceInstancesList resourceInstancesList = response.getResult();
System.out.printf("listResourceInstances() response:\n%s\n", resourceInstancesList.toString());
const params = {
  name: resourceInstanceName,
};
resourceControllerService.listResourceInstances(params)
  .then(res => {
    console.log('listResourceInstances() response:\n' + JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
resource_instances_list = resource_controller_service.list_resource_instances(
    name=resource_instance_name
).get_result()
print('\nlist_resource_instances() response:\n',
      json.dumps(resource_instances_list, indent=2))
listResourceInstancesOptions := resourceControllerService.NewListResourceInstancesOptions()
listResourceInstancesOptions = listResourceInstancesOptions.SetName(resourceInstanceName)
resourceInstancesList, response, err := resourceControllerService.ListResourceInstances(listResourceInstancesOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(resourceInstancesList, "", "  ")
fmt.Printf("\nListResourceInstances() response:\n%s\n", string(b))

Eliminar un grupo de recursos mediante la consola

No puede suprimir el grupo de recursos predeterminado que se ha añadido a su cuenta. Aparte del grupo predeterminado, solo puede suprimir un grupo de recursos si no contiene ningún recurso.

Para suprimir un grupo de recursos que no contenga recursos y no sea su grupo predeterminado, siga los pasos siguientes:

  1. En la consola de IBM Cloud, vaya a Gestionar > Cuenta > Recursos de cuenta > Grupos de recursos.
  2. Pulse el icono Acciones Icono Acciones > Suprimir.

Supresión de un grupo de recursos mediante la CLI

Para suprimir un grupo de recursos que no contenga recursos y no sea su grupo predeterminado, ejecute ibmcloud resource group-delete. Por ejemplo, suprima el grupo de recursos example-group:

ibmcloud resource group-delete example-group -f

Supresión de un grupo de recursos mediante la API

Puede suprimir mediante programación un grupo de recursos llamando a la API de gestor de recursos, tal como se muestra en la siguiente solicitud de ejemplo. Para obtener información detallada sobre la API, consulte Resource Manager API.

curl -X DELETE \
  https://resource-controller.cloud.ibm.com/v2/resource_groups/09f8c1c0742c493f80baaf7835212345 \
  -H 'Authorization: Bearer <IAM_TOKEN>'
  -H 'Content-Type: application/json'
String id = '09f8c1c0742c493f80baaf7835212345';
DeleteResourceGroupOptions options = new DeleteResourceGroupOptions.Builder().id(id).build();
Response<Void> response = service.deleteResourceGroup(options).execute();
System.out.println(response):
const params = {
    id: '09f8c1c0742c493f80baaf7835212345'
};
service.deleteResourceGroup(params).then(response => {
    console.log(response)
}).catch(err => {});
delete_resource_group(self,
        id: str,
        **kwargs
    ) -> DetailedResponse
ID := "09f8c1c0742c493f80baaf7835212345"
deleteResourceGroupOptionsModel := service.NewDeleteResourceGroupOptions(ID)
detailedResponse, err := service.DeleteResourceGroup(deleteResourceGroupOptionsModel)

Supresión de un grupo de recursos utilizando Terraform

Antes de poder eliminar un grupo de recursos mediante Terraform, asegúrese de haber completado lo siguiente:

  • Instale la CLI de Terraform y configure el complemento de proveedor ' IBM Cloud ' para Terraform. Para obtener más información, consulte el tutorial de Introducción a Terraform en IBM Cloud®. El plug-in abstrae las API de IBM Cloud que se utilizan para completar esta tarea.
  • Cree un archivo de configuración de Terraform denominado main.tf. En este archivo, se definen los recursos utilizando el Lenguaje de Configuración HashiCorp. Para más información, consulte la documentación de Terraform.

Siga estos pasos para eliminar un grupo de recursos:

El grupo de recursos solo puede eliminarse si no contiene recursos.

  1. Puede eliminar el grupo de recursos eliminando el siguiente bloque de código de su archivo de Terraform main.tf. Debe haber creado el resourceGroup utilizando el archivo Terraform.

    resource "ibm_resource_group" "resourceGroup" {
     name     = "prod"
    }
    

    Para obtener más información, consulte los detalles de referencia de argumentos en la página de gestión de recursos de Terraform.

  2. Después de terminar de crear el archivo de configuración, inicializa Terraform CLI. Para más información, consulte Inicializar directorios de trabajo.

    terraform init
    
  3. Aprovisiona los recursos del archivo ' main.tf '. Para obtener más información, consulte Aprovisionamiento de infraestructura con Terraform.

    1. Ejecute ' terraform plan para generar un plan de ejecución Terraform para previsualizar las acciones propuestas.

      terraform plan
      
    2. Ejecute " terraform apply " para crear los recursos definidos en el plan.

      terraform apply
      

También puede suprimir un grupo de recursos ejecutando el siguiente mandato terraform destroy.

terraform destroy -target RESOURCE_TYPE.NAME -target RESOURCE_TYPE2.NAME