Wie kann ich bestehende Lightsail-Firewall-Regeln auf verschiedene Lightsail-Instances kopieren?

Lesedauer: 2 Minute
0

Wie kopiere ich Firewall-Regeln auf mehrere Amazon-Lightsail-Instances?

Kurzbeschreibung

Firewall-Regeln sind für jede Lightsail-Instance eindeutig. Wenn Sie möchten, dass mehrere Instances dieselben Regeln haben, müssen Sie die Regeln für jede der Instances bearbeiten. Sie können die AWS Command Line Interface (AWS CLI) und API-Aufrufe verwenden, um die aktuellen Firewall-Regeln abzurufen und dann in eine JSON-Datei auszugeben. Sie können die JSON-Datei verwenden, um alle Regeln in eine andere Lightsail-Instance zu kopieren.

Hinweis: Sie müssen die AWS CLI installieren und konfigurieren, um die folgenden Auflösungsschritte durchzuführen. Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS CLI verwenden. Sie können auch AWS CloudShell verwenden, um diese Schritte auszuführen.

Auflösung

1.    Führen Sie den folgenden Befehl aus, um die aktuellen Konfigurationen abzurufen, die Sie von der vorhandenen Instance kopieren möchten, und geben Sie sie dann in eine JSON-Datei aus. Dadurch wird eine JSON-Datei generiert, die die Firewall-Konfiguration enthält. Ersetzen Sie im folgenden Beispiel SourceInstanceName und RegionName durch die richtigen Informationen für Ihre Instance.

$ aws lightsail get-instance-port-states --instance-name SourceInstanceName --region RegionName | grep -v "state" > firewall.json

2.    Öffnen Sie in diesem Beispiel die JSON-Datei firewall.json, und ersetzen Sie dann "portStates" durch "portInfos". Dieser Parameter befindet sich am Anfang der Datei, wie im folgenden Beispiel gezeigt:

{
    "portStates": [
        {
            "fromPort": 80,
            "toPort": 80,
            "protocol": "tcp",
            "cidrs": [
                "0.0.0.0/0"
            ],
            "cidrListAliases": []
        },
        {
            "fromPort": 22,
            "toPort": 22,
            "protocol": "tcp",
            "cidrs": [
                "0.0.0.0/0"
            ],
            "cidrListAliases": []
        },
        {
            "fromPort": 8080,
            "toPort": 8080,
            "protocol": "tcp",
            "cidrs": [
                "11.11.11.0/20",
                "22.22.22.0/20"
            ],
            "cidrListAliases": []
        }
    ]
}

3.    Nachdem Sie den Parameter auf "portInfos" geändert haben, können Sie die JSON-Datei verwenden, um dieselben Konfigurationen zu anderen Instances hinzuzufügen. Ersetzen Sie im folgenden Beispiel destinationInstanceName, firewall.json und regionName durch die richtigen Informationen für Ihre Instance.

$ aws lightsail put-instance-public-ports --instance-name DestinationInstanceName  --cli-input-json file://firewall.json --region 
RegionName

Relevante Informationen

AWS-CLI-Befehlsreferenz – Lightsail

Amazon-Lightsail-API-Referenz – Aktionen

get-instance-port-states

open-instance-public-ports

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren