Beispiele für die Verwendung von Ressourcengruppen mit AWS CLI
Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie AWS Command Line Interface mit Ressourcengruppen nutzen.
Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.
Themen
Aktionen
Das folgende Codebeispiel zeigt, wie create-group verwendet wird.
- AWS CLI
-
Beispiel 1: Erstellen einer Tag-basierten Ressourcengruppe
Im folgenden Beispiel für
create-groupwird eine Tag-basierte Ressourcengruppe von Amazon EC2-Instances in der aktuellen Region erstellt. Es basiert auf einer Abfrage nach Ressourcen, die mit dem SchlüsselNameund dem WertWebServersgekennzeichnet sind. Der Name der Gruppe lautettbq-WebServer. Die Abfrage befindet sich in einer separaten JSON-Datei, die an den Befehl übergeben wird.aws resource-groups create-group \ --nametbq-WebServer\ --resource-queryfile://query.jsonInhalt von
query.json:{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" }Ausgabe:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }Beispiel 2: Erstellen einer CloudFormation stackbasierten Ressourcengruppe
Im folgenden Beispiel für
create-groupwird eine stackbasierte AWS-CloudFormation-Ressourcengruppe mit dem NamensampleCFNstackgrouperstellt. Die Abfrage umfasst alle Ressourcen im angegebenen CloudFormation-Stack, die von AWS-Ressourcengruppen unterstützt werden.aws resource-groups create-group \ --namecbq-CFNstackgroup\ --resource-queryfile://query.jsonInhalt von
query.json:{ "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" }Ausgabe:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-east-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}' } }Weitere Informationen finden Sie unter Erstellen von Gruppen im Benutzerhandbuch zu AWS-Ressourcengruppen.
-
API-Details finden Sie unter CreateGroup
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-group verwendet wird.
- AWS CLI
-
So aktualisieren Sie die Beschreibung für eine Ressourcengruppe
Im folgenden Beispiel für
delete-groupwird die angegebene Ressourcengruppe aktualisiert.aws resource-groups delete-group \ --group-nametbq-WebServerAusgabe:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:1234567890:group/tbq-WebServer", "Name": "tbq-WebServer" } }Weitere Informationen finden Sie unter Löschen von Gruppen im Benutzerhandbuch zu AWS-Ressourcengruppen.
-
API-Details finden Sie unter DeleteGroup
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie get-group-query verwendet wird.
- AWS CLI
-
So rufen Sie die einer Ressourcengruppe zugeordnete Abfrage ab
Im folgenden Beispiel für
get-group-querywird die Abfrage angezeigt, die der angegebenen Ressourcengruppe zugeordnet ist.aws resource-groups get-group-query \ --group-nametbq-WebServerAusgabe:
{ "GroupQuery": { "GroupName": "tbq-WebServer", "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } } }-
API-Details finden Sie unter GetGroupQuery
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie get-group verwendet wird.
- AWS CLI
-
So rufen Sie Informationen zu einer Ressourcengruppe ab
Im folgenden Beispiel für
get-groupwerden Details zur angegebenen Ressourcengruppe angezeigt. Verwenden Sieget-group-query, um die Abfrage an die Gruppe anzuhängen.aws resource-groups get-group \ --group-nametbq-WebServerAusgabe:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer", "Description": "A tag-based query resource group of WebServers." } }-
API-Details finden Sie unter GetGroup
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie get-tags verwendet wird.
- AWS CLI
-
So rufen Sie die Tags ab, die an eine Ressourcengruppe angefügt sind
Im folgenden Beispiel für
get-tagswerden die Tag-Schlüssel und Wertepaare angezeigt, die der angegebenen Ressourcengruppe (der Gruppe selbst, nicht ihren Mitgliedern) zugeordnet sind.aws resource-groups get-tags \ --arnarn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServerAusgabe:
{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }-
API-Details finden Sie unter GetTags
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-group-resources verwendet wird.
- AWS CLI
-
So listen Sie alle Ressourcen in einer Ressourcengruppe auf
Beispiel 1: Im folgenden Beispiel für
list-resource-groupswerden alle Ressourcen aufgelistet, die Teil der angegebenen Ressourcengruppe sind.aws resource-groups list-group-resources \ --group-nametbq-WebServerAusgabe:
{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }Beispiel 2: Im folgenden Beispiel werden alle Ressourcen in der Gruppe aufgelistet, die auch einen 'resource-type' der 'AWS::EC2::Instance' haben:
aws resource-groups list-group-resources --group-name tbq-WebServer --filters Name=resource-type,Values=AWS::EC2::Instance
-
API-Details finden Sie unter ListGroupResources
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-groups verwendet wird.
- AWS CLI
-
So listen Sie die verfügbaren Ressourcengruppen auf
Im folgenden Beispiel für
list-groupswird eine Liste aller Ressourcengruppen angezeigt.aws resource-groups list-groupsAusgabe:
{ "GroupIdentifiers": [ { "GroupName": "tbq-WebServer", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer3" }, { "GroupName": "cbq-CFNStackQuery", "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery" } ], "Groups": [ { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNStackQuery", "Name": "cbq-CFNStackQuery" } ] }-
API-Details finden Sie unter ListGroups
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie list-resource-groups verwendet wird.
- AWS CLI
-
So listen Sie alle Ressourcen in einer Ressourcengruppe auf
Im folgenden Beispiel für
list-resource-groupswerden alle Ressourcen aufgelistet, die Teil der angegebenen Ressourcengruppe sind.aws resource-groups list-group-resources \ --group-nametbq-WebServerAusgabe:
{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-09f77fa38c12345ab", "ResourceType": "AWS::EC2::Instance" } ] }-
API-Details finden Sie unter ListResourceGroups
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie put-group-configuration verwendet wird.
- AWS CLI
-
So hängen Sie eine Servicekonfiguration an eine Ressourcengruppe an
Beispiel 1: Im folgenden Beispiel für
put-group-configurationwird angegeben, dass die Ressourcengruppe nur Amazon EC2-Kapazitätsreservierungen für Instances derC5- oderM5-Familien enthalten soll.aws resource-groups put-group-configuration \ --groupMyTestGroup\ --configurationfile://config.jsonInhalt von
config.json:[ { "Type": "AWS::EC2::HostManagement", "Parameters": [ { "Name": "allowed-host-families", "Values": [ "c5", "m5" ] }, { "Name": "any-host-based-license-configuration", "Values": [ "true" ] } ] }, { "Type": "AWS::ResourceGroups::Generic", "Parameters": [ { "Name": "allowed-resource-types", "Values": [ "AWS::EC2::Host" ] }, { "Name": "deletion-protection", "Values": [ "UNLESS_EMPTY" ] } ] } ]Dieser Befehl erzeugt keine Ausgabe, wenn er erfolgreich ist.
Weitere Informationen finden Sie unter Servicekonfigurationen für Ressourcengruppen in der Resource Groups API-Referenz.
-
API-Details finden Sie unter PutGroupConfiguration
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie search-resources verwendet wird.
- AWS CLI
-
So finden Sie Ressourcen, die einer Abfrage entsprechen
Im folgenden Beispiel für
search-resourceswird eine Liste aller AWS-Ressourcen abgerufen, die der angegebenen Abfrage entsprechen.aws resource-groups search-resources \ --resource-queryfile://query.jsonInhalt von
query.json:{ "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Patch Group\", \"Values\":[\"Dev\"]}]}" }Ausgabe:
{ "ResourceIdentifiers": [ { "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:instance/i-01a23bc45d67890ef", "ResourceType": "AWS::EC2::Instance" } ] }-
API-Details finden Sie unter SearchResources
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie tag verwendet wird.
- AWS CLI
-
So fügen Sie einer Ressourcengruppe einen Tag hinzu
Im folgenden Beispiel für
tagwerden der angegebene Tag-Schlüssel und Wertepaare an die angegebene Ressourcengruppe angehängt (die Gruppe selbst, nicht ihre Mitglieder).aws resource-groups tag \ --tagsQueryType=tags,QueryResources=ec2-instances\ --arnarn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServerAusgabe:
{ "Arn": "arn:aws:resource-groups:us-west-2:128716708097:group/tbq-WebServer", "Tags": { "QueryType": "tags", "QueryResources": "ec2-instances" } }Weitere Informationen finden Sie unter Verwalten von Tags im AWS-Ressourcengruppen-Benutzerhandbuch.
-
API-Details finden Sie unter Tag
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie untag verwendet wird.
- AWS CLI
-
So entfernen Sie Tags von einer Ressourcengruppe
Im folgenden Beispiel für
untagswerden alle Tags mit dem angegebenen Schlüssel aus der Ressourcengruppe selbst entfernt, nicht von ihren Mitgliedern.aws resource-groups untag \ --arnarn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer\ --keysQueryTypeAusgabe:
{ "Arn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Keys": [ "QueryType" ] }Weitere Informationen finden Sie unter Verwalten von Tags im Benutzerhandbuch zu AWS Resource Groups.
-
API-Details finden Sie unter Untag
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-group-query verwendet wird.
- AWS CLI
-
Beispiel 1: So aktualisieren Sie die Abfrage für eine tagbasierte Ressourcengruppe
Im folgenden Beispiel für
update-group-querywird die Abfrage aktualisiert, die der angegebenen tagbasierten Ressourcengruppe zugeordnet ist.aws resource-groups update-group-query \ --group-nametbq-WebServer\ --resource-query '{"Type":"TAG_FILTERS_1_0", "Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}"}'Ausgabe:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-east-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" }, "ResourceQuery": { "Type": "TAG_FILTERS_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\"],\"TagFilters\":[{\"Key\":\"Name\", \"Values\":[\"WebServers\"]}]}" } }Weitere Informationen finden Sie unter Aktualisieren von Gruppen im Benutzerhandbuch zu AWS-Ressourcengruppen.
Beispiel 2: So aktualisieren Sie die Abfrage für eine stackbasierte CloudFormation-Ressourcengruppe
Im folgenden Beispiel für
update-group-querywird die Abfrage aktualisiert, die an die angegebene stackbasierte AWS-CloudFormation-Ressourcengruppe angehängt ist.aws resource-groups update-group-query \ --group-namecbq-CFNstackgroup\ --resource-query '{"Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}"}'Ausgabe:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/cbq-CFNstackgroup", "Name": "cbq-CFNstackgroup" }, "ResourceQuery": { "Type": "CLOUDFORMATION_STACK_1_0", "Query": "{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack/MyCFNStack/1415z9z0-z39z-11z8-97z5-500z212zz6fz\"}" } }Weitere Informationen finden Sie unter Aktualisieren von Gruppen im Benutzerhandbuch zu AWS-Ressourcengruppen.
-
API-Details finden Sie unter UpdateGroupQuery
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-group verwendet wird.
- AWS CLI
-
So aktualisieren Sie die Beschreibung für eine Ressourcengruppe
Im folgenden Beispiel für
update-groupwird die Beschreibung für die angegebene Ressourcengruppe aktualisiert.aws resource-groups update-group \ --group-nametbq-WebServer\ --description"Resource group for all web server resources."Ausgabe:
{ "Group": { "GroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/tbq-WebServer", "Name": "tbq-WebServer" "Description": "Resource group for all web server resources." } }Weitere Informationen finden Sie unter Aktualisieren von Gruppen im Benutzerhandbuch zu AWS-Ressourcengruppen.
-
API-Details finden Sie unter UpdateGroup
in der AWS CLI-Befehlsreferenz.
-