Come posso copiare le regole dei firewall di Lightsail esistenti su istanze di Lightsail differenti?

Ultimo aggiornamento: 28/09/2021

Come faccio a copiare le regole del firewall su più istanze Amazon Lightsail?

Breve descrizione

Le regole del firewall sono uniche per ogni istanza di Lightsail. Se si desidera che più istanze abbiano le stesse regole, è necessario modificare le regole per ciascuna istanza. È possibile utilizzare AWS Command Line Interface (AWS CLI) e le chiamate API per recuperare le regole del firewall correnti e quindi eseguirne l'output in un file.json. È possibile utilizzare il file.json per copiare tutte le regole in un'altra istanza di Lightsail.

Nota: è necessario installare econfigurare l'interfaccia a AWS CLI per eseguire i seguenti passaggi di risoluzione. Se ricevi un messaggio di errore durante l’esecuzione dei comandi AWS CLI, assicurati di utilizzare la versione più recente di AWS CLI. È inoltre possibile utilizzare AWS CloudShell per eseguire questi passaggi.

Risoluzione

1.    Eseguire il seguente comando per recuperare le configurazioni correnti che si desidera copiare dall'istanza esistente e quindi inviarle in un file.json. Questo genera un file.json contenente la configurazione del firewall. Nell'esempio seguente, sostituisci SourceInstanceName eRegionName con le informazioni corrette per la tua istanza.

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

2.    Aprire il file.json, firewall.json in questo esempio, quindi sostituire“portStates” con“portInfos”. Questo parametro si trova all'inizio del file, come illustrato nell'esempio seguente:

{
    "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.    Dopo aver modificato il parametro in“portInfos", è possibile utilizzare il file.json per aggiungere le stesse configurazioni ad altre istanze. Nell'esempio seguente, sostituire DestinationInstanceName,firewall.json e RegionName con le informazioni corrette per la tua istanza.

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