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

Lesedauer: 2 Minute
0

Ich möchte Firewall-Regeln auf mehrere Amazon-Lightsail-Instances kopieren.

Kurzbeschreibung

Um dieselbe Firewall-Regel für mehrere Lightsail-Instances zu verwenden, müssen Sie die Regeln für jede Instance bearbeiten. Verwenden Sie Lightsail-Befehle für AWS Command Line Interface (AWS CLI) und API-Aktionen, um die aktuellen Firewall-Regeln abzurufen. Fügen Sie sie in eine JSON-Datei ein und verwenden Sie die JSON-Datei, um alle Regeln in andere Lightsail-Instances zu kopieren.

Lösung

**Hinweis:**Wenn Sie beim Ausführen von Befehlen in AWS CLI Fehlermeldungen erhalten, finden Sie weitere Informationen unter Beheben von AWS CLI-Fehlern. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.

  1. Um die aktuelle Konfiguration abzurufen, die Sie von der bestehenden Instance kopieren möchten, führen Sie den Befehl get-instance-port-states aus:

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

    Hinweis: Der obige Befehl generiert eine JSON-Datei mit der Firewallkonfiguration. Ersetzen Sie SourceInstanceName durch den Namen Ihrer Quell-Instance und RegionName durch die AWS-Region, in der sich Ihre Instance befindet.

  2. Öffnen Sie die JSON-Datei und ersetzen Sie portStates durch portInfos:

    {      
            "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. Um dieselbe Konfiguration zu anderen Instances hinzuzufügen, führen Sie den Befehl put-instance-public-ports aus:

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

    Hinweis: Ersetzen Sie DestinationInstanceName durch Ihre Ziel-Instance, firewall.json durch den Namen Ihrer JSON-Datei und RegionName durch die Region, in der sich Ihre Instance befindet.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 6 Monaten