Ich werde auch dieses Jahr den Hands Lab Adventskalender machen
Wir verwenden Workspaces, einen Dienst, der virtuelle Desktops für AWS bereitstellt. Manchmal fällt es mit ungesund
Es ist kaputt gegangen, obwohl ich nichts getan habe
In den meisten Fällen hilft ein Neustart normalerweise, wenn die Last vorübergehend angelegt wird und abfällt. Deshalb muss ich Lambda vorerst neu starten Da es in Node.js geschrieben ist, unterstützt es häufig auftretende Versions-Upgrades ...
Es ist ein einfacher Code, also dachte ich, ich würde ihn trotzdem in Python umschreiben.
Ich fragte mich, warum ich die Reihenfolge überprüfte. Ich fragte mich, ob ich nicht neu starten würde, indem ich direkt die fehlerhafte Arbeitsbereich-ID angab. Da es aus den Warnungsinformationen abgerufen wird, habe ich interpretiert, dass ich nicht für jeden Arbeitsbereich eine Warnung in CloudWatch festlegen wollte und diese nicht geändert habe
import boto3
sns = boto3.client('sns')
workspaces = boto3.client('workspaces')
def lambda_handler(event, context):
workspaces_client_list = workspaces.describe_workspaces()
for workspaces_info in workspaces_client_list['Workspaces']:
workspace_id = workspaces_info['WorkspaceId']
workspace_state = workspaces_info['State']
if workspace_state == 'UNHEALTHY':
reboot_workspaces(workspace_id)
def reboot_workspaces(workspace_id):
workspaces.reboot_workspaces(
RebootWorkspaceRequests = [
{
'WorkspaceId': workspace_id
},
]
)
Unabhängig davon, für welche Sprache Sie sich entscheiden, können Sie sich der Upgrade-Unterstützung nicht entziehen. Vor kurzem ist der Python-Fluss in unser Unternehmen gekommen, daher war es schön, die Gelegenheit zu haben, ihn zu schreiben.
Morgen ist @fasahina!
Recommended Posts