AWS Tagging mit Lambda über Commandline
Hallo Leute,
ich wollte über ein Skript alle Ressourcen in meinem Account Taggen lassen.
Habt ihr damit Erfahrungen gemacht? Ich finde keine Möglichkeiten den Ressourcen Editor in der Konsole ausgeben zu lassen.
Bisher habe ich einen Befehl gefunden mit dem ich die Ressource komplett ausgegeben bekommen:
aws ec2 describe-instances
Kann ich bei diesem Befehl den Output verändern und nur die Ressource ID ausgeben lassen? Dann könnte man dann eine IF Anweisung schreiben damit erst gecheckt wird ob der TAG vorhanden ist und notfalls wenn nicht ihn einfügt.
Der Befehl ist nicht global anwendbar sondern nur für jede einzelne Instanz-ID
aws ec2 create-tags --resources i-1234567890abcdef0 --tags 'Key=\"[Group]\",Value=test'
Viele Grüße
ich wollte über ein Skript alle Ressourcen in meinem Account Taggen lassen.
Habt ihr damit Erfahrungen gemacht? Ich finde keine Möglichkeiten den Ressourcen Editor in der Konsole ausgeben zu lassen.
Bisher habe ich einen Befehl gefunden mit dem ich die Ressource komplett ausgegeben bekommen:
aws ec2 describe-instances
Kann ich bei diesem Befehl den Output verändern und nur die Ressource ID ausgeben lassen? Dann könnte man dann eine IF Anweisung schreiben damit erst gecheckt wird ob der TAG vorhanden ist und notfalls wenn nicht ihn einfügt.
Der Befehl ist nicht global anwendbar sondern nur für jede einzelne Instanz-ID
aws ec2 create-tags --resources i-1234567890abcdef0 --tags 'Key=\"[Group]\",Value=test'
Viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 381740
Url: https://administrator.de/contentid/381740
Ausgedruckt am: 23.11.2024 um 04:11 Uhr
3 Kommentare
Neuester Kommentar
Servus,
die Ausgabe der Commandline (welches OS?) habe ich gerade nicht verfügbar da du aber auch kein OS für deine CMD nennst poste ich dir einfach mal den Code für die das AWSPowershell-Module mit dem du alle EC2 Instanzen die noch kein Group-Tag haben mit diesem taggen kannst, im Beispiel das Tag mit dem Key 'Group' und dem Value 'test'.
Viel Spaß
Grüße Uwe
die Ausgabe der Commandline (welches OS?) habe ich gerade nicht verfügbar da du aber auch kein OS für deine CMD nennst poste ich dir einfach mal den Code für die das AWSPowershell-Module mit dem du alle EC2 Instanzen die noch kein Group-Tag haben mit diesem taggen kannst, im Beispiel das Tag mit dem Key 'Group' und dem Value 'test'.
Get-RGTResource | ?{$_.Tags.Key -notcontains 'Group'} | %{Add-RGTResourceTag -ResourceARNList $_.ResourceARN -Tag @{Group='test'}}
Viel Spaß
Grüße Uwe
Zitat von @Matze1508:
ok vielen dank schonmal dafür, der Tag auf der EC2 Instanz hat direkt funktioniert!! Geht es auch für alle Ressourcen nicht nur ec2? Auch sowas wie S3 Buckets oder ähnliches?
Für jeden Service hast du die entsprechenden CMDLets und API -Tools, einfach die Doku bemühen:ok vielen dank schonmal dafür, der Tag auf der EC2 Instanz hat direkt funktioniert!! Geht es auch für alle Ressourcen nicht nur ec2? Auch sowas wie S3 Buckets oder ähnliches?
https://aws.amazon.com/de/documentation/
Für jede Ressource geht das Tagging mit Add-RGTResourceTag, so lange du aus deiner Resource eine ARN bilden kannst:
Siehe Referenz zum Amazon Resource Naming Scheme
https://docs.aws.amazon.com/de_de/general/latest/gr/aws-arns-and-namespa ...
Ich hab außerdem diesen Fehler erhalten:
Pause bzw. retry im Loop einfügen, damit entsprechende Limits nicht getriggert werden.Add-RGTResourceTag : Rate exceeded
> In Zeile:1 Zeichen:57
> + ... 'MGI'} | %{Add-RGTResourceTag -ResourceARNList $_.ResourceARN -Tag @ ...
> + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> + CategoryInfo : InvalidOperation: (Amazon.PowerShe...sourceTagCmdlet:AddRGTResourceTagCmdlet) [Add-RGTResourceTag], InvalidOperationException
> + FullyQualifiedErrorId : Amazon.ResourceGroupsTaggingAPI.Model.ThrottledException,Amazon.PowerShell.Cmdlets.RGT.AddRGTResourceTagCmdlet
>
>
https://forums.aws.amazon.com/thread.jspa?threadID=274487
Limits für AWS-Services
Ich benutze die AWS Konsole. Hast du ne gute Quelle zum Einlesen dafür?
API-Doku reicht völlig dafür, Powershell-Grundkenntnisse vorausgesetzt (wenn nicht Powershell Grundkurs machen):https://docs.aws.amazon.com/powershell/latest/reference/Index.html