Ressourcen verwalten

Eine Ressource Eine physische oder logische Instanz, die bereitgestellt oder reserviert werden kann.Beispiele für Ressourcen sind Speicher, Prozessoren, Arbeitsspeicher, Datenbanken, Cluster und VMs. ist alles, was Sie aus dem Katalog erstellen können und was von einer Ressourcengruppe verwaltet wird und in dieser enthalten ist. Sie können Ressourcen über die Ressourcenliste in der IBM Cloud®-Konsole oder über die Befehlszeilenschnittstelle (CLI) erstellen und verwalten.

Services, die mithilfe der Zugriffssteuerung von IBM Cloud Identity and Access Management (IAM) verwaltet werden und zu einer Ressourcengruppe gehören, weisen einige Vorteile auf. Da Ressourcengruppen nicht nach Standort sortiert sind, können Sie Anwendungen und Dienste von verschiedenen Standorten aus in derselben Ressourcengruppe erstellen. Außerdem können Sie die differenzierte Zugriffssteuerung bis hin zu jeder einzelnen Instanz innerhalb einer Ressourcengruppe verwenden.

Erforderliche Zugriffsberechtigungen für das Erstellen von Ressourcen

Damit Benutzer in Ihrem Konto Ressourcen über den Katalog erstellen und einer Ressourcengruppe zuweisen können, müssen ihnen zwei Zugriffsrichtlinien zugewiesen werden:

  • Eine Richtlinie mit Rolle des Anzeigeberechtigten ('A') oder höher für die Ressourcengruppe selbst
  • Eine Richtlinie mit Rolle des Bearbeiters oder höher für den Service im Konto

Ressourcen in der Konsole erstellen

Führen Sie die folgenden Schritte aus, um eine Ressource in der Konsole zu erstellen:

  1. Klicken Sie im Dashboard auf Ressourcen anzeigen im Ressourcenzusammenfassungswidget.
  2. Klicken Sie auf Ressource erstellen. Hier werden Sie an den Katalog weitergeleitet. Sie können die Produkte durchsuchen oder nach einer bestimmten Kategorie, einem Anbieter, einem Preisplan, einer Art der Einhaltung von Vorschriften oder einem Freigabetyp filtern. Beispiele für Ressourcen sind Apps, Serviceinstanzen, Container-Cluster, Speicherdatenträger, Virtual Server-Systeme und Software.

Nachdem Sie die Ressource erstellt haben, wird sie auf der Seite 'Ressourcenliste' in der Liste mit Ihren Ressourcen aufgeführt.

Ressourcen über die Befehlszeilenschnittstelle (CLI) erstellen

Sie können eine Ressource über die IBM Cloud®-Befehlszeilenschnittstelle (CLI) erstellen. Ausführliche Informationen zur Arbeit mit Ressourcen finden Sie in Mit Ressourcen und Ressourcengruppen arbeiten.

  1. Melden Sie sich an und wählen Sie das Konto aus.
    ibmcloud login
    
  2. Mit dem Befehl ibmcloud resource service-instance-create können Sie eine Organisation erstellen.

In diesem Befehl steht NAME für den Namen der Serviceinstanz, SERVICE_NAME or SERVICE_ID für den Namen oder die ID des Service, SERVICE_PLAN_NAME or SERVICE_PLAN_ID für den Namen oder die ID des Serviceplans und LOCATION für den Zielstandort oder die Zielumgebung zum Erstellen der Serviceinstanz.

ibmcloud resource service-instance-create NAME (SERVICE_NAME | SERVICE_ID) SERVICE_PLAN_NAME LOCATION [-d, --deployment DEPLOYMENT_NAME] [-p, --parameters @JSON_FILE | JSON_STRING ] [-g RESOURCE_GROUP] [--service-endpoints SERVICE_ENDPOINTS_TYPE] [--allow-cleanup] [--lock]

Verwenden Sie den Befehl ibmcloud catalog service-marketplace, um Services aufzulisten.

Mit dem folgenden Befehl wird beispielsweise eine Serviceinstanz mit dem Namen my-service-instance erstellt, für die der Serviceplan test- service-plan des Service test-service am Standort eu-gb verwendet wird:

ibmcloud resource service-instance-create my-service-instance test-service test-service-plan eu-gb

Neue Ressourceninstanzen über die Anwendungsprogrammierschnittstelle (API) erstellen

Sie können eine neue Ressource programmgesteuert erstellen, indem Sie die Ressourcencontroller-API aufrufen, wie in der folgenden Beispielanforderung dargestellt. Ausführliche Informationen über die API finden Sie unter Resource Controller API.

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "bluemix-global",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "0be5ad401ae913d8ff665d92680664ed",
    "tags": [
      "my-tag"
    ]
  }'
CreateResourceInstanceOptions createResourceInstanceOptions = new CreateResourceInstanceOptions.Builder()
  .name(resourceInstanceName)
  .target(targetRegion)
  .resourceGroup(resourceGroup)
  .resourcePlanId(resourcePlanId)
  .build();
Response<ResourceInstance> response = service.createResourceInstance(createResourceInstanceOptions).execute();
ResourceInstance resourceInstance = response.getResult();
System.out.printf("createResourceInstance() response:\n%s\n", resourceInstance.toString());
const params = {
  name: resourceInstanceName,
  target: targetRegion,
  resourceGroup: resourceGroupGuid,
  resourcePlanId: resourcePlanId,
};
resourceControllerService.createResourceInstance(params)
  .then(res => {
    instanceGuid = res.result.guid;
    console.log('createResourceInstance() response:\n' + JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
   });
resource_instance = resource_controller_service.create_resource_instance(
    name=resource_instance_name,
    target=target_region,
    resource_group=resource_group,
    resource_plan_id=resource_plan_id
).get_result()
print('\ncreate_resource_instance() response:\n',
      json.dumps(resource_instance, indent=2))
createResourceInstanceOptions := resourceControllerService.NewCreateResourceInstanceOptions(
  resourceInstanceName,
  targetRegion,
  resourceGroup,
  resourcePlanID,
)
resourceInstance, response, err := resourceControllerService.CreateResourceInstance(createResourceInstanceOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(resourceInstance, "", "  ")
fmt.Printf("\nCreateResourceInstance() response:\n%s\n", string(b))

Software über die Anwendungsprogrammierschnittstelle (API) installieren

Sie können Software ausschließlich über die Konsole oder über die Befehlszeilenschnittstelle installieren. Die entsprechenden Schritte sind in den Anweisungen für die Benutzerschnittstelle bzw. die Befehlszeilenschnittstelle beschrieben.

Neue Ressourceninstanzen mittels Terraform erstellen

Bevor Sie neue Ressourceninstanzen mithilfe von Terraform erstellen können, müssen Sie folgende Schritte durchführen:

  • Installieren Sie die Terraform CLI und konfigurieren Sie das IBM Cloud Provider Plug-in für Terraform. Weitere Informationen finden Sie in der Anleitung zu den ersten Schritten mit Terraform auf IBM Cloud®. Das Plug-in abstrahiert die IBM Cloud APIs, die zur Erfüllung dieses Tasks verwendet werden.

  • Erstellen Sie eine Terraform-Konfigurationsdatei mit dem Namen main.tf. In dieser Datei definieren Sie die Ressourcen mit Hilfe der HashiCorp Configuration Language. Weitere Informationen finden Sie in der Terraform-Dokumentation.

Sie können neue Ressourceninstanzen mithilfe von Terraform erstellen.

  1. Erstellen Sie ein Argument in Ihrer main.tf Datei. Im folgenden Beispiel wird unter Verwendung der Ressource ibm_resource_instance eine neue Ressourceninstanz erstellt. Hierbei steht name für einen eindeutigen und aussagekräftigen Namen, mit dem die Ressourceninstanz gekennzeichnet wird.

    data "ibm_resource_group" "group" {
    name = "test"
    }
    resource "ibm_resource_instance" "resource_instance" {
     name              = "test"
     service           = "cloud-object-storage"
     plan              = "lite"
     location          = "global"
     resource_group_id = data.ibm_resource_group.group.id
     tags              = ["tag1", "tag2"]
     //User can increase timeouts
     timeouts {
     create = "15m"
     update = "15m"
     delete = "15m"
     }
    }
    

    Sie können tags angeben, die der Ressourceninstanz zugeordnet sein sollen. Weitere Informationen finden Sie in der Argument-Referenz auf der Terraform Resource Management Seite.

  2. Nachdem Sie Ihre Konfigurationsdatei erstellt haben, initialisieren Sie die Terraform CLI. Weitere Informationen finden Sie unter Initialisierung von Arbeitsverzeichnissen.

    terraform init
    
  3. Bereitstellung der Ressourcen aus der Datei main.tf. Weitere Informationen finden Sie unter Bereitstellung der Infrastruktur mit Terraform.

    1. Führen Sie terraform plan aus, um einen Terraform-Ausführungsplan zu erstellen und eine Vorschau der vorgeschlagenen Aktionen zu erhalten.
      terraform plan
      
    2. Führen Sie terraform apply aus, um die im Plan definierten Ressourcen zu erstellen.
      terraform apply
      

Nach Ressourcen suchen

Sie können von der gesamten IBM Cloud®-Konsole aus nach Ressourcen suchen. Geben Sie den Namen einer Ressource oder eines Tags im Suchfeld der Menüleiste für die Konsole ein. Sie können Ihre Ressourcen auch über die IBM Cloud-Befehlszeilenschnittstelle (Command-Line Interface, CLI) durchsuchen. Bei der Befehlszeilenschnittstelle wird standort- und rechenzentrumsübergreifend nach verteilten Anwendungen und Serviceinstanzen gesucht. Die Such-API der Funktion für globales Suchen und Tagging unterstützt ebenfalls die Suche nach Ressourcen.

Suchergebnisse verfeinern

Alle Katalogergebnisse anzeigen
Über diese Option können Sie gefilterte Suchergebnisse für den Katalog anzeigen. Es werden die ersten fünf nach Namen geordneten Ergebnisse angezeigt. Wenn detailliertere Suchkriterien für Katalogeinträge verwendet werden sollen, z. B. das Durchsuchen der Beschreibung, können Sie auf diesen Link klicken und eine Ansicht mit gefilterten Katalogergebnissen abrufen. Diese Option beschleunigt die Suche für Angebote, die Sie erstellen möchten. Das Feld wird angezeigt, wenn es zu einem Katalogergebnis passt. Das Feld wird nicht angezeigt, wenn Ihre Suchabfrage mit tag: beginnt.
Supportfälle durchsuchen
Über diese Option können Sie die Ansicht nach Ihren offenen Supportfällen in der gesamten Plattform, Infrastrukturressourcen eingeschlossen, filtern. Die Option wird am Ende der Suche angezeigt, wenn Sie nach einem beliebigen Suchbegriff (tag:) suchen.
IBM Cloud-Dokumentation durchsuchen
Diese Option ermöglicht Ihnen eine gefilterte Suche in der Dokumentation. Dies wird am Ende jeder Suche angezeigt, auch bei einer Suche anhand des tag:.

Drücken Sie die Schrägstrichtaste (/), um den Cursor in das Suchfeld zu versetzen.

Über die Befehlszeilenschnittstelle suchen

Sie können auch mit der Lucene-Abfragesyntax über alle Ihre Ressourcen hinweg suchen, und zwar mit einem einzigen Befehl, indem Sie die IBM Cloud CLI verwenden. Die am häufigsten verwendeten Ressourcenattribute, die Sie abfragen und abrufen können, sind:

name
Der benutzerdefinierte Name der Ressource.
region
Der geografische Ort, an dem die Ressource erstellt wurde. Gültige Werte sind beispielsweise us-south, us-east, au-syd, eu-gb, eu-de und jp-tok.
service_name
Der Name des Dienstes, wie er im Segment service-name der CRN der Ressource erscheint. Die zulässigen Werte können Sie der Spalte Name in der Ausgabe von ibmcloud catalog service-marketplace entnehmen.
resource_group_id
Die Ressourcengruppen-ID der Ressource.
type
Der Ressourcentyp, wie er im Segment resource-type der CRN der Ressource erscheint, falls vorhanden. Die Werte hängen von dem jeweiligen Dienst ab, dem sie gehören. Beispielwerte sind: k8-cluster für den Dienst containers-kubernetes ; k8-location und k8-connector für den Dienst satellite ; resource-group für den Dienst resource-controller ; vpc, volume, vpn, load-balancer, security-group, für den Dienst is ; workspace für den Dienst schematics.
creation_date
Das Erstellungsdatum der Ressource.
modification_date
Das Datum, an dem die Ressource zuletzt geändert wurde.
tags
Die mit der Ressource verbundenen Tags.
access_tags
Die mit der Ressource verbundenen Zugriffsmanagement-Tags.
service_tags
Die an die Ressource angehängten Service-Tags.
tagReferences.tag.name
Die Tags, die einer klassischen Infrastrukturressource zugeordnet wurden. Sie müssen den Parameter -p classic-infrastructure angeben.
_objectType:
Der Objekttyp der klassischen Infrastrukturressource. Zulässige Werte sind: SoftLayer_Virtual_DedicatedHost, SoftLayer_Hardware, SoftLayer_Network_Application_Delivery_Controller, SoftLayer_Network_Subnet_IpAddress, SoftLayer_Network_Vlan, SoftLayer_Network_Vlan_Firewall, SoftLayer_Virtual_Guest. Erfordert die Angabe des Parameters -p classic-infrastructure.

tagReferences.tag.name und _objectType sind nur gültig, wenn das Kennzeichen -p classic-infrastructure verwendet wird.

Die Verwendung des Parameters -p classic-infrastructure beim Wert SoftLayer_Virtual_DedicatedHost, SoftLayer_Network_Vlan_Firewall, SoftLayer_Virtual_Guest and SoftLayer_Hardware (nur für Bare-Metal-Server der klassischen Infrastruktur) für '_objectType' ist veraltet, da diese jetzt wie alle anderen Ressourcen gesucht werden können, die nicht zur klassischen Infrastruktur gehören.

Nach Ressourcen der klassischen Infrastruktur suchen

Bei der Suche nach klassischen Infrastrukturressourcen muss die Zeichenfolge in doppelte Anführungszeichen gesetzt werden, damit eine exakte Übereinstimmung mit der Abfragezeichenfolge erzielt werden kann. Wenn Sie außerdem einen Suchbegriff eingeben, der einen Bindestrich (-) enthält, und die Zeichenfolge nicht mit einem doppelten Anführungszeichen umgeben, liefert die Suche keine exakte Übereinstimmung. Bindestriche innerhalb der Zeichenfolge werden dazu verwendet, um den Begriff in mehrere Zeichenfolgen aufzuteilen.

Suchbeispiele

Die folgenden Beispiele erleichtern die Suche nach Kontoressourcen: Wenn der Parameter -p classic-infrastucture nicht angegeben wird, erstreckt sich die Suche auf alle Ressourcen außer Ressourcen der klassischen Infrastruktur mit _objectType SoftLayer_Network_Application_Delivery_Controller, SoftLayer_Network_Subnet_IpAddress oder SoftLayer_Hardware (Bare-Metal-Server ausgenommen).

  • Geben Sie den folgenden Befehl ein, um nach allen Ressourcen namens ABC zu suchen:

    ibmcloud resource search ‘name:ABC’
    
  • Geben Sie den folgenden Befehl ein, um nach allen Serviceinstanzen von Message Hub zu suchen:

    ibmcloud resource search 'service_name:messagehub'
    
  • Geben Sie den folgenden Befehl ein, um nach Ressourcen zu suchen, die nicht zur klassischen Infrastruktur gehören und die zwischen dem 16. und dem 20. Mai 2020 erstellt wurden:

    ibmcloud resource search 'creation_date:["2020-05-16T00:00:00Z" TO "2020-05-20T00:00:00Z"]'
    
  • Geben Sie den folgenden Befehl ein, um nach Ressourcen zu suchen, die nicht zur klassischen Infrastruktur gehören und deren Name mit "my" beginnt, sortiert nach Typ:

    ibmcloud resource search 'name:my*' -s type
    
  • Um nach Ressourcen zu suchen, die keine klassischen Infrastrukturen sind und mit my-tag gekennzeichnet wurden, geben Sie den folgenden Befehl ein:

    ibmcloud resource search 'tags:my-tag'
    
  • Geben Sie den folgenden Befehl ein, um nach allen virtuellen Servern der klassischen Infrastruktur zu suchen, deren vollständig qualifizierter Domänenname MyVM lautet:

    ibmcloud resource search “doc.fullyQualifiedDomainName:MyVM AND service_name:virtual-server"
    
  • Um nach allen klassischen Infrastruktur-Ressourcen zu suchen, die mit my-tag gekennzeichnet sind, geben Sie folgenden Befehl ein:

    ibmcloud resource search 'tagReferences.tag.name:my-tag' -p classic-infrastructure
    
  • Um nach allen klassischen Infrastrukturen des Typs SoftLayer_Network_Vlan zu suchen, geben Sie den folgenden Befehl ein:

    ibmcloud resource search '_objectType:SoftLayer_Network_Vlan' -p classic-infrastructure
    

Über die API suchen

Rufen Sie zur Suche nach Ressourcen die Such-API der Funktion für globales Suchen und Tagging auf. Mit dem folgenden Beispiel wird nach allen Ressourcen gesucht, denen der Tag 'project:myproject' zugeordnet ist.

Erstellen Sie mit SearchOptions.Builder ein Objekt des Typs SearchOptions, das die Parameterwerte für die Methode search enthält.

Erstellen Sie eine Instanz der Struktur SearchOptions und legen Sie die Felder fest, um die Parameterwerte für die Methode Search anzugeben.

curl -X POST -H "Authorization: {iam_token}" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"query": "tags:project\\:myproject OR access_tags:project\\:myproject", "fields": ["*"]}' "api.global-search-tagging.cloud.ibm.com/v3/resources/search"
SearchOptions searchOptions = new SearchOptions.Builder()
  .query("GST-sdk-*")
  .fields(new java.util.ArrayList<String>(java.util.Arrays.asList("*")))
  .searchCursor(searchCursor)
  .build();

Response<ScanResult> response = service.search(searchOptions).execute();
ScanResult scanResult = response.getResult();

System.out.println(scanResult);
const params = {
  query: 'GST-sdk-*',
  fields: ['*'],
  searchCursor: searchCursor,
};

globalSearchService.search(params)
  .then(res => {
    console.log(JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
response = global_search_service.search(query='GST-sdk-*',
                    fields=['*'])
scan_result = response.get_result()

print(json.dumps(scan_result, indent=2))
searchOptions := globalSearchService.NewSearchOptions()
searchOptions.SetLimit(10)
searchOptions.SetQuery("GST-sdk-*")
searchOptions.SetFields([]string{"*"})

scanResult, response, err := globalSearchService.Search(searchOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(scanResult, "", "  ")
fmt.Println(string(b))

Ressourcen löschen

Wenn Sie eine Ressource in Ihrem Konto nicht mehr benötigen oder wenn ein Benutzer in Ihrem Konto eine Ressource erstellt hat, die nicht verwendet werden soll, können Sie die Instanz aus Ihrem Konto löschen.

Ressourcen in der Konsole löschen

Sie können eine Ressource in der Konsole löschen, indem Sie die folgenden Schritte ausführen:

  1. Klicken Sie im Dashboard auf Ressourcen anzeigen im Ressourcenzusammenfassungswidget.
  2. Erweitern Sie die Abschnitte, um nach der Serviceinstanz zu suchen, die gelöscht werden soll.
  3. Klicken Sie auf das Aktionen-Symbol Aktionen-Symbol > Löschen für die Zeile.

Ressourcen über die Befehlszeilenschnittstelle (CLI) löschen

Sie können eine Ressource über die IBM Cloud®-Befehlszeilenschnittstelle (CLI) löschen. Ausführliche Informationen zur Verwaltung von IBM Cloud-Ressourcen finden Sie in Mit Ressourcen und Ressourcengruppen arbeiten.

  1. Melden Sie sich an und wählen Sie das Konto aus.

    ibmcloud login
    
  2. Mit dem Befehl ibmcloud resource service-instance-delete können Sie eine Serviceinstanz löschen; dabei ist NAME der Name der Serviceinstanz und ID ist die ID der Serviceinstanz. Die Angaben NAME und ID schließen sich gegenseitig aus.

    ibmcloud resource service-instance-delete (NAME|ID) [-f, --force] [--recursive]
    

    Der folgende Befehl löscht beispielsweise eine Ressourcenserviceinstanz namens my-service-instance:

    ibmcloud resource service-instance-delete my-service-instance
    

Ressourceninstanzen über die Anwendungsprogrammierschnittstelle (API) löschen

Sie können eine Ressourceninstanz programmgesteuert löschen, indem Sie die Ressourcencontroller-API aufrufen, wie in der folgenden Beispielanforderung dargestellt. Ausführliche Informationen über die API finden Sie unter Resource Controller API.

curl -X DELETE \
https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94 \
  -H 'Authorization: Bearer <>'
DeleteResourceInstanceOptions deleteResourceInstanceOptions = new DeleteResourceInstanceOptions.Builder()
  .id(instanceGuid)
  .recursive(false)
  .build();

Response<Void> response = service.deleteResourceInstance(deleteResourceInstanceOptions).execute();

System.out.printf("deleteResourceInstance() response status code: %d\n", response.getStatusCode());
const params = {
  id: instanceGuid,
  recursive: false,
};

resourceControllerService.deleteResourceInstance(params)
  .then(res => {
    console.log('deleteResourceInstance() response status code: ' + res.status);
  })
  .catch(err => {
    console.warn(err)
   });
response = resource_controller_service.delete_resource_instance(
    id=instance_guid,
    recursive=False
)

print('\ndelete_resource_instance() response status code: ',
      response.get_status_code())
deleteResourceInstanceOptions := resourceControllerService.NewDeleteResourceInstanceOptions(
  instanceGUID,
)
deleteResourceInstanceOptions.SetRecursive(false)

response, err := resourceControllerService.DeleteResourceInstance(deleteResourceInstanceOptions)
if err != nil {
  panic(err)
}
fmt.Printf("\nDeleteResourceInstance() response status code: %d\n", response.StatusCode)

Ressourceninstanzen mittels Terraform löschen

Gehen Sie wie folgt vor, um Ressourceninstanzen mithilfe von Terraform zu löschen.

  1. Sie können eine Ressourceninstanz löschen, indem Sie den folgenden Codeblock aus Ihrer Terraform-Datei entfernen. Sie müssen die resource_instance mit Hilfe der Terraform-Datei erstellt haben.

    data "ibm_resource_group" "group" {
    name = "test"
    }
    resource "ibm_resource_instance" "resource_instance" {
     name              = "test"
     service           = "cloud-object-storage"
     plan              = "lite"
     location          = "global"
     resource_group_id = data.ibm_resource_group.group.id
     tags              = ["tag1", "tag2"]
     //User can increase timeouts
     timeouts {
     create = "15m"
     update = "15m"
     delete = "15m"
     }
    }
    

    Weitere Informationen finden Sie in der Argument-Referenz auf der Terraform Resource Management Seite.

  2. Nachdem Sie Ihre Konfigurationsdatei erstellt haben, initialisieren Sie die Terraform CLI. Weitere Informationen finden Sie unter Initialisierung von Arbeitsverzeichnissen.

    terraform init
    
  3. Bereitstellung der Ressourcen aus der Datei main.tf. Weitere Informationen finden Sie unter Bereitstellung der Infrastruktur mit Terraform.

    1. Führen Sie terraform plan aus, um einen Terraform-Ausführungsplan zu erstellen und eine Vorschau der vorgeschlagenen Aktionen zu erhalten.

      terraform plan
      
    2. Führen Sie terraform apply aus, um die im Plan definierten Ressourcen zu erstellen.

      terraform apply
      

Sie können eine Ressourceninstanz auch löschen, indem Sie den folgenden Befehl terraform destroy ausführen:

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