Gestion des groupes de ressources
Un groupe de ressources vous permet d'organiser les ressources de votre compte en regroupements personnalisables pour que vous puissiez rapidement affecter aux utilisateurs l'accès à plusieurs ressources à la fois. Chaque ressource de compte gérée à l'aide du contrôle d'accès IBM Cloud® Identity and Access Management (IAM) appartient à un groupe de ressources au sein de votre compte. Vous pouvez regrouper les ressources et affecter des droits d'accès à des instances de service individuelles ou des groupes entiers de ressources qui utilisent IAM.
Pour commencer à gérer vos groupes de ressources, accédez à Gérer > Compte > Comptes de ressource > Groupes de ressources dans la console IBM Cloud®. Vous pouvez créer, afficher et renommer vos groupes de ressources, ajouter des ressources et gérer l'accès à vos groupes de ressources. Vous pouvez également supprimer n'importe quel groupe de ressources uniquement s'il ne contient pas de ressources et s'il ne s'agit pas du groupe de ressources par défaut. Le propriétaire du compte IBM Cloud peut ajouter des ressources à n'importe quel groupe de ressources, mais d'autres utilisateurs doivent utiliser une règle d'accès IAM pour y avoir accès.
Pour plus d'informations sur la gestion des groupes de ressources, voir Meilleures pratiques pour l'organisation des ressources et l'affectation d'accès.
Création d'un groupe de ressources
Si vous disposez d'un compte Paiement à la carte ou Abonnement, vous pouvez créer plusieurs groupes de ressources de manière à faciliter la gestion du quota et l'affichage de la facturation d'utilisation d'un ensemble de ressources. Vous pouvez également regrouper des ressources afin de faciliter l'affectation d'accès utilisateur à plusieurs instances à la fois. Vous pouvez avoir un maximum de 1000 groupes de ressources par compte. Une règle IAM avec le rôle d'administrateur sur tous les services de gestion des comptes doit vous être attribué pour pouvoir créer d'autres groupes de ressources. Si vous disposez d'un compte Lite ou d'un compte d'essai de 30 jours, vous ne pouvez pas créer de groupes de ressources supplémentaires, mais vous pouvez renommer votre groupe de ressources par défaut.
Création d'un groupe de ressources dans la console
- Dans la console IBM Cloud, accédez à Gérer > Compte > Ressources de compte > Groupes de ressources.
- Cliquez sur Créer.
- Entrez un nom pour le groupe de ressources.
- Cliquez sur Créer.
Création d'un groupe de ressources à l'aide de l'interface de ligne de commande
Vous pouvez créer et renommer un groupe de ressources ou visualiser une ressource dans un groupe en utilisant l'interface de ligne de commande " IBM Cloud® Pour plus d'informations sur l'utilisation des ressources, voir Utilisation de ressources et de groupes de ressources.
- Connectez-vous et sélectionnez le compte.
ibmcloud login - Créez un nouveau groupe de ressources en exécutant la commande
ibmcloud resource group-create. Par exemple, la commande suivante permet de créer un groupe de ressources nommégroup2:
ibmcloud resource group-create group2
Création d'un groupe de ressources à l'aide de l'API
Si vous disposez d'un compte Paiement à la carte ou Abonnement, vous pouvez créer plusieurs groupes de ressources de manière à faciliter la gestion du quota et l'affichage de la facturation d'utilisation d'un ensemble de ressources. Vous pouvez également regrouper des ressources afin de faciliter l'affectation d'accès utilisateur à plusieurs instances à la fois.
Une règle IAM avec le rôle d'administrateur sur tous les services de gestion des comptes doit vous être attribué pour pouvoir créer d'autres groupes de ressources. Si vous disposez d'un compte Lite ou d'un compte d'essai de 30 jours, vous ne pouvez pas créer de groupes de ressources supplémentaires, mais vous pouvez renommer votre groupe de ressources par défaut.
Pour créer un groupe de ressources, appelez l'API IBM Cloud® Resource Manager, comme illustré dans l'exemple suivant :
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))
Avant de commencer
Avant de pouvoir gérer des groupes de ressources à l'aide de Terraform, assurez-vous d'avoir effectué les opérations suivantes :
-
Installez le CLI Terraform et configurez le plug-in IBM Cloud Pour Terraform. Pour plus d'informations, voir le tutoriel pour démarrer avec Terraform sur IBM Cloud® Ce plug-in résume les API IBM Cloud utilisées pour effectuer cette tâche.
-
Créez un fichier de configuration Terraform nommé
main.tf. Dans ce fichier, vous définissez les ressources en utilisant le langage de configuration HashiCorp. Pour plus d'informations, voir la documentation de Terraform.
Création d'un groupe de ressources à l'aide de Terraform
Suivez les étapes suivantes pour créer un groupe de ressources à l'aide de Terraform :
-
Créez un argument dans votre fichier "
main.tf. L'exemple ci-après crée un groupe de ressources à l'aide de la ressourceibm_resource_group,namereprésentant un nom unique permettant d'identifier le groupe de ressources.resource "ibm_resource_group" "resourceGroup" { name = "prod" }Vous pouvez spécifier des
tagsassociées à l'instance de groupe de ressources. Pour plus d'informations, voir les détails de la référence des arguments sur la page Terraform Resource Management.Vous pouvez également créer et gérer des groupes de ressources avec le module Resource Group de Terraform IBM Modules(TIM), qui simplifie le provisionnement et les recherches en renvoyant directement l'ID du groupe de ressources.
-
Une fois que vous avez fini de construire votre fichier de configuration, initialisez le CLI Terraform. Pour plus d'informations, voir Initialisation des répertoires de travail.
terraform init -
Fournir les ressources du fichier "
main.tf. Pour plus d'informations, voir Provisionnement de l'infrastructure avec Terraform.- Exécutez '
terraform planpour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.terraform plan - Exécutez le "
terraform applypour créer les ressources définies dans le plan.terraform apply
- Exécutez '
Modification du nom d'un groupe de ressources
Votre premier groupe de ressources, automatiquement nommé Default, est créé. Vous pouvez mettre à jour le nom de ce groupe ou de tout autre groupe que vous créez.
Changement de nom d'un groupe de ressources dans la console
- Dans la console IBM Cloud, accédez à Gérer > Compte > Ressources de compte > Groupes de ressources.
- Cliquez sur le menu Actions
et sélectionnez Renommer.
- Entrez un nom unique, puis cliquez sur Sauvegarder.
Changement de nom d'un groupe de ressources à l'aide de l'interface de ligne de commande
- Connectez-vous et sélectionnez le compte.
ibmcloud login - Renommez un groupe de ressources en exécutant la commande
ibmcloud resource group-update. Par exemple, la commande suivante permet de renommer le groupe de ressourcesDefaultenAdmin:
ibmcloud resource group-update Default [-n, --name Admin]
Changement de nom d'un groupe de ressources à l'aide de l'API
La variable name identifie le nouveau nom du groupe de ressources. Pour plus de détails, voir la section Mettre à jour un groupe de ressources.
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))
Changement de nom d'un groupe de ressources à l'aide de Terraform
Vous pouvez renommer un groupe de ressources à l'aide de Terraform.
-
Pour installer l'interface de ligne de commande de Terraform et configurer le plug-in IBM Cloud Provider pour Terraform, suivez le tutoriel d'initiation à Terraform sur IBM Cloud®. Ce plug-in résume les API IBM Cloud utilisées pour effectuer cette tâche.
-
Créez un fichier de configuration Terraform nommé
main.tf. Dans ce fichier, vous ajoutez la configuration permettant de renommer un groupe de ressources à l'aide de HashiCorp Configuration Language. Pour plus d'informations, voir la documentation de Terraform.Vous pouvez renommer le groupe de ressources en remplaçant
namepar une nouvelle valeur dans l'exemple ci-après.resource "ibm_resource_group" "resourceGroup" { name = "prod" }Pour plus d'informations, voir les détails de référence des arguments sur la page Terraform Resource Management.
-
Initialisez l'interface de ligne de commande de Terraform.
terraform init -
Exécutez '
terraform planpour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées. Ce plan d'exécution Terraform récapitule toutes les actions à exécuter pour renommer le groupe de ressources.terraform plan -
Renommez le groupe de ressources.
terraform apply
Ajout de ressources à un groupe de ressources
Les services gérés par IAM appartiennent à un groupe de ressources. Lorsque vous créez une instance pour l'un de ces services à partir du catalogue, vous êtes invité à affecter l'instance à un groupe de ressources. Veillez à planifier le mode d'organisation des ressources dans votre compte avant de les affecter à un groupe de ressources. Votre sélection de groupe de ressource au moment de la création de l'instance est définitive et ne peut pas être modifiée.
Votre sélection de groupe de ressource au moment de la création de l'instance est définitive et ne peut pas être modifiée.
Le propriétaire du compte IBM Cloud peut ajouter des ressources à n'importe quel groupe de ressources, mais d'autres utilisateurs doivent utiliser une règle d'accès IAM pour y avoir accès. Pour que les utilisateurs de votre compte puissent créer des ressources à partir du catalogue et les ajouter à un groupe de ressources, deux règles d'accès doivent leur être affectées :
- Une règle avec rôle Afficheur ou supérieur appliquée au groupe de ressources lui-même
- Une règle avec rôle Editeur ou supérieur appliquée au service du compte
Pour ajouter les ressources à un groupe de ressources, procédez comme suit :
- Dans la console IBM Cloud, accédez à Gérer > Compte > Ressources de compte > Groupes de ressources.
- Cliquez sur le menu Actions
et sélectionnez Ajouter des ressources.
- Le catalogue s'affiche. Vous pouvez rechercher les produits ou les filtrer en fonction d'une catégorie spécifique, d'un fournisseur, d'un plan tarifaire, d'un type de conformité ou d'un type de version. Les applications, les instances de service, les clusters de conteneurs, les volumes de stockage, les serveurs virtuels et les logiciels sont des exemples de ressource.
Ajout de ressources à un groupe de ressources à l'aide de l'API
Voir Gestion des paramètres de catalogue pour définir la visibilité du catalogue IBM Cloud® et contrôler l'accès des utilisateurs du compte aux produits du catalogue public et des catalogues privés.
Affichage des ressources d'un groupe de ressources
Pour visualiser facilement les ressources affectées à un groupe de ressources, cliquez sur l'icône Menu de navigation > Liste des ressources. Filtrez ensuite par groupe de ressources.
Si vous ne trouvez pas votre ressource d'infrastructure classique sur la page Liste des ressources, vérifiez la liste des dispositifs en cliquant sur l'icône Menu de navigation > Infrastructure classique > Liste des dispositifs.
Visualisation des ressources d'un groupe de ressources à l'aide de la CLI
-
Connectez-vous et sélectionnez le compte.
ibmcloud login -
Affichez les ressources affectées à un groupe de ressources spécifique en exécutant la commande
ibmcloud resource service-instances. Par exemple, la commande suivante permet de répertorier toutes les ressources du groupe de ressourcesDefault:
ibmcloud resource service-instances -g Default
Affichage des ressources d'un groupe de ressources à l'aide de l'API
Pour afficher les ressources d'un groupe de ressources, appelez l'API du contrôleur de ressourceIBM Cloud®, comme illustré dans l'exemple suivant :
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))
Suppression d'un groupe de ressources à l'aide de la console
Vous ne pouvez pas supprimer le groupe de ressources par défaut qui est ajouté à votre compte. Par ailleurs, vous ne pouvez supprimer un groupe de ressources que s'il ne contient aucune ressource.
Pour supprimer un groupe de ressources qui ne contient pas de ressources et n'est pas votre groupe de ressources par défaut, procédez comme suit :
- Dans la console IBM Cloud, accédez à Gérer > Compte > Ressources de compte > Groupes de ressources.
- Cliquez sur l'icône Actions
> Supprimer.
Suppression d'un groupe de ressources à l'aide de l'interface de ligne de commande
Pour supprimer un groupe de ressources qui ne contient pas de ressources et n'est pas votre groupe de ressources par défaut, exécutez ibmcloud resource group-delete.
Par exemple, pour supprimer le groupe de ressources example-group, exécutez :
ibmcloud resource group-delete example-group -f
Suppression d'un groupe de ressources à l'aide de l'API
Vous pouvez supprimer un groupe de ressources à l'aide d'un programme en appelant l'API Resource Manager, comme indiqué dans l'exemple de demande suivant. Pour des informations détaillées sur l'API, voir 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)
Suppression d'un groupe de ressources à l'aide de Terraform
Avant de pouvoir supprimer un groupe de ressources à l'aide de Terraform, assurez-vous d'avoir effectué les opérations suivantes :
- Installez le CLI Terraform et configurez le plug-in IBM Cloud Pour Terraform. Pour plus d'informations, voir le tutoriel pour démarrer avec Terraform sur IBM Cloud® Ce plug-in résume les API IBM Cloud utilisées pour effectuer cette tâche.
- Créez un fichier de configuration Terraform nommé
main.tf. Dans ce fichier, vous définissez les ressources en utilisant le langage de configuration HashiCorp. Pour plus d'informations, voir la documentation de Terraform.
Pour supprimer un groupe de ressources, procédez comme suit :
Le groupe de ressources ne peut être supprimé que s'il ne contient aucune ressource.
-
Vous pouvez supprimer le groupe de ressources en supprimant le bloc de code suivant de votre fichier Terraform
main.tf. Vous devez avoir créé le siteresourceGroupà l'aide du fichier Terraform.resource "ibm_resource_group" "resourceGroup" { name = "prod" }Pour plus d'informations, voir les détails de référence des arguments sur la page Terraform Resource Management.
-
Une fois que vous avez fini de construire votre fichier de configuration, initialisez le CLI Terraform. Pour plus d'informations, voir Initialisation des répertoires de travail.
terraform init -
Fournir les ressources du fichier "
main.tf. Pour plus d'informations, voir Provisionnement de l'infrastructure avec Terraform.-
Exécutez '
terraform planpour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.terraform plan -
Exécutez le "
terraform applypour créer les ressources définies dans le plan.terraform apply
-
Vous pouvez également supprimer un groupe de ressources en exécutant la commande terraform destroy ci-après.
terraform destroy -target RESOURCE_TYPE.NAME -target RESOURCE_TYPE2.NAME