Je souhaite copier les règles de pare-feu sur plusieurs instances Amazon Lightsail.
Brève description
Pour utiliser la même règle de pare-feu pour plusieurs instances Lightsail, vous devez modifier les règles pour chaque instance. Utilisez les commandes Lightsail de l’interface de la ligne de commande AWS (AWS CLI) et les actions d’API pour récupérer les règles de pare-feu actuelles. Placez-les dans un fichier .json, puis utilisez le fichier .json pour copier toutes les règles dans d’autres instances Lightsail.
Résolution
**Remarque :**Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez l’article Résoudre les erreurs AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
-
Pour récupérer la configuration actuelle que vous souhaitez copier à partir de l’instance existante, exécutez la commande get-instance-port-states :
$ aws lightsail get-instance-port-states --instance-name SourceInstanceName --region RegionName | grep -v "state" > firewall.json
Remarque : la commande précédente génère un fichier .json avec la configuration du pare-feu. Remplacez SourceInstanceName par le nom de votre instance source et RegionName par la région AWS dans laquelle se trouve votre instance.
-
Ouvrez le fichier .json, puis remplacez portStates par 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": []
}
]
}
-
Pour ajouter la même configuration à d’autres instances, exécutez la commande put-instance-public-ports :
$ aws lightsail put-instance-public-ports --instance-name DestinationInstanceName --cli-input-json file://firewall.json --region
RegionName
Remarque : remplacez DestinationInstanceName par votre instance de destination, firewall.json par le nom de votre fichier .json, et RegionName par la région dans laquelle se trouve votre instance.