View a markdown version of this page

Utilisation des groupes de sécurité dans Amazon EC2 - AWS SDK pour JavaScript

La AWS SDK pour JavaScript v2 a atteint la fin du support. Nous vous recommandons de migrer vers la AWS SDK pour JavaScript version 3. Pour plus de détails et d'informations sur la manière de migrer, veuillez consulter cette annonce.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des groupes de sécurité dans Amazon EC2

JavaScript code example that applies to Node.js execution

Cet exemple Node.js de code montre :

  • Procédure de récupération des informations sur vos groupes de sécurité.

  • Comment créer un groupe de sécurité pour accéder à une instance Amazon EC2.

  • Procédure de suppression d'un groupe de sécurité existant.

Scénario

Un groupe de sécurité Amazon EC2 agit comme un pare-feu virtuel qui contrôle le trafic pour une ou plusieurs instances. Vous ajoutez des règles à chaque groupe de sécurité pour autoriser le trafic vers ou depuis ses instances associées. Vous pouvez modifier les règles d'un groupe de sécurité à tout moment. Les nouvelles règles sont appliquées automatiquement à toutes les instances associées au groupe de sécurité.

Dans cet exemple, vous utilisez une série de Node.js modules pour effectuer plusieurs opérations Amazon EC2 impliquant des groupes de sécurité. Les Node.js modules utilisent le SDK pour gérer les instances JavaScript à l'aide des méthodes suivantes de la classe client Amazon EC2 :

Pour plus d'informations sur les groupes de sécurité Amazon EC2, consultez les groupes de sécurité Amazon EC2 pour les instances Linux dans le guide de l'utilisateur Amazon EC2 ou les groupes de sécurité Amazon EC2 pour les instances Windows dans le guide de l'utilisateur Amazon EC2.

Tâches prérequises

Pour configurer et exécuter cet exemple, réalisez tout d'abord les tâches ci-après :

Description de vos groupes de sécurité

Créez un Node.js module avec le nom de fichierec2_describesecuritygroups.js. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à Amazon EC2, créez un objet AWS.EC2 de service. Créez un objet JSON à transmettre en tant que paramètres, en incluant les ID des groupes de sécurité à décrire. Appelez ensuite la describeSecurityGroups méthode de l'objet de service Amazon EC2.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create EC2 service object var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" }); var params = { GroupIds: ["SECURITY_GROUP_ID"], }; // Retrieve security group descriptions ec2.describeSecurityGroups(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", JSON.stringify(data.SecurityGroups)); } });

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

node ec2_describesecuritygroups.js

Cet exemple de code se trouve ici sur GitHub.

Création d'un groupe et de règles de sécurité

Créez un Node.js module avec le nom de fichierec2_createsecuritygroup.js. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à Amazon EC2, créez un objet AWS.EC2 de service. Créez un objet JSON pour les paramètres qui spécifient le nom du groupe de sécurité, une description et l'ID du VPC. Transmettez les paramètres à la méthode createSecurityGroup.

Après avoir créé le groupe de sécurité, vous pouvez définir des règles autorisant le trafic entrant. Créez un objet JSON pour les paramètres qui spécifient le protocole IP et les ports entrants sur lesquels l'instance Amazon EC2 recevra le trafic. Transmettez les paramètres à la méthode authorizeSecurityGroupIngress.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Load credentials and set region from JSON file AWS.config.update({ region: "REGION" }); // Create EC2 service object var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" }); // Variable to hold a ID of a VPC var vpc = null; // Retrieve the ID of a VPC ec2.describeVpcs(function (err, data) { if (err) { console.log("Cannot retrieve a VPC", err); } else { vpc = data.Vpcs[0].VpcId; var paramsSecurityGroup = { Description: "DESCRIPTION", GroupName: "SECURITY_GROUP_NAME", VpcId: vpc, }; // Create the instance ec2.createSecurityGroup(paramsSecurityGroup, function (err, data) { if (err) { console.log("Error", err); } else { var SecurityGroupId = data.GroupId; console.log("Success", SecurityGroupId); var paramsIngress = { GroupId: "SECURITY_GROUP_ID", IpPermissions: [ { IpProtocol: "tcp", FromPort: 80, ToPort: 80, IpRanges: [{ CidrIp: "0.0.0.0/0" }], }, { IpProtocol: "tcp", FromPort: 22, ToPort: 22, IpRanges: [{ CidrIp: "0.0.0.0/0" }], }, ], }; ec2.authorizeSecurityGroupIngress(paramsIngress, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Ingress Successfully Set", data); } }); } }); } });

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

node ec2_createsecuritygroup.js

Cet exemple de code se trouve ici sur GitHub.

Suppression d'un groupe de sécurité

Créez un Node.js module avec le nom de fichierec2_deletesecuritygroup.js. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à Amazon EC2, créez un objet AWS.EC2 de service. Créez les paramètres JSON pour spécifier le nom du groupe de sécurité à supprimer. Ensuite, appelez la méthode deleteSecurityGroup.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create EC2 service object var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" }); var params = { GroupId: "SECURITY_GROUP_ID", }; // Delete the security group ec2.deleteSecurityGroup(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Security Group Deleted"); } });

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

node ec2_deletesecuritygroup.js

Cet exemple de code se trouve ici sur GitHub.