Quero copiar as regras de firewall para várias instâncias do Amazon Lightsail.
Breve descrição
Para usar a mesma regra de firewall para várias instâncias do Lightsail, você deve editar as regras de cada instância. Use comandos do Lightsail da AWS Command Line Interface (AWS CLI) e ações de API para recuperar as regras de firewall atuais. Coloque-os em um arquivo.json e use o arquivo .json para copiar todas as regras em outras instâncias do Lightsail.
Resolução
Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
-
Para recuperar a configuração atual que você deseja copiar da instância existente, execute o comando get-instance-port-states:
$ aws lightsail get-instance-port-states --instance-name SourceInstanceName --region RegionName | grep -v "state" > firewall.json
Observação: o comando anterior gera um arquivo.json com a configuração do firewall. Substitua SourceInstanceName pelo nome da instância de origem e RegionName pela região da AWS em que sua instância está.
-
Abra o arquivo.json e, em seguida, substitua portStates por 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": []
}
]
}
-
Para adicionar a mesma configuração a outras instâncias, execute o comando put-instance-public-ports:
$ aws lightsail put-instance-public-ports --instance-name DestinationInstanceName --cli-input-json file://firewall.json --region
RegionName
Observação: substitua DestinationInstanceName pela instância de destino, firewall.json pelo nome do arquivo.json e RegionName pela região em que sua instância está.