View a markdown version of this page

Arbeiten mit Sicherheitsgruppen in Amazon EC2 - AWS SDK für JavaScript

Die AWS SDK für JavaScript Version 2 hat das Ende des Supports erreicht. Wir empfehlen Ihnen, auf Version 3 zu AWS SDK für JavaScript migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in dieser Ankündigung.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit Sicherheitsgruppen in Amazon EC2

JavaScript code example that applies to Node.js execution

Dieses Node.js Codebeispiel zeigt:

  • So rufen Sie grundlegende Informationen über Ihre Sicherheitsgruppen ab.

  • So erstellen Sie eine Sicherheitsgruppe für den Zugriff auf eine Amazon EC2-Instance.

  • So löschen Sie eine bestehende Sicherheitsgruppe.

Das Szenario

Eine Amazon EC2-Sicherheitsgruppe fungiert als virtuelle Firewall, die den Datenverkehr für eine oder mehrere Instances steuert. Sie fügen jeder Sicherheitsgruppe Regeln hinzu, um den Datenaustausch mit den verknüpften Instances zu gestatten. Diese Regeln können Sie jederzeit ändern, wobei die neuen Regeln automatisch auf alle Instances der Sicherheitsgruppe angewendet werden.

In diesem Beispiel verwenden Sie eine Reihe von Node.js Modulen, um mehrere Amazon EC2-Operationen mit Sicherheitsgruppen durchzuführen. Die Node.js Module verwenden das SDK JavaScript zur Verwaltung von Instances mithilfe der folgenden Methoden der Amazon EC2-Client-Klasse:

Weitere Informationen zu den Amazon EC2-Sicherheitsgruppen finden Sie unter Amazon EC2 Amazon Security Groups for Linux Instances im Amazon EC2-Benutzerhandbuch oder Amazon EC2 Security Groups für Windows-Instances im Amazon EC2-Benutzerhandbuch.

Erforderliche Aufgaben

Zum Einrichten und Ausführen dieses Beispiels schließen Sie zunächst diese Aufgaben ab:

Beschreiben Ihrer Sicherheitsgruppen

Erstellen Sie ein Node.js Modul mit dem Dateinamenec2_describesecuritygroups.js. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf Amazon EC2 zuzugreifen, erstellen Sie ein AWS.EC2 Serviceobjekt. Erstellen Sie ein JSON-Objekt, das als Parameter übergeben werden soll, einschließlich der Gruppen-IDs für die Sicherheitsgruppen, die Sie beschreiben möchten. Rufen Sie dann die describeSecurityGroups Methode des Amazon EC2-Serviceobjekts auf.

// 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)); } });

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

node ec2_describesecuritygroups.js

Diesen Beispielcode finden Sie hier auf GitHub.

Erstellen von Regeln und einer Sicherheitsgruppe

Erstellen Sie ein Node.js Modul mit dem Dateinamenec2_createsecuritygroup.js. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf Amazon EC2 zuzugreifen, erstellen Sie ein AWS.EC2 Serviceobjekt. Erstellen Sie ein JSON-Objekt für die Parameter, die den Namen der Sicherheitsgruppe, eine Beschreibung und die ID für die VPC festlegen. Übergeben Sie die Parameter an die createSecurityGroup-Methode.

Nachdem Sie die Sicherheitsgruppe erfolgreich erstellt haben, können Sie Regeln zum Zulassen des eingehenden Datenverkehrs definieren. Erstellen Sie ein JSON-Objekt für Parameter, die das IP-Protokoll und die eingehenden Ports angeben, über die die Amazon EC2-Instance Datenverkehr empfängt. Übergeben Sie die Parameter an die authorizeSecurityGroupIngress-Methode.

// 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); } }); } }); } });

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

node ec2_createsecuritygroup.js

Diesen Beispielcode finden Sie hier auf. GitHub

Löschen einer Sicherheitsgruppe

Erstellen Sie ein Node.js Modul mit dem Dateinamenec2_deletesecuritygroup.js. Stellen Sie sicher, dass Sie das SDK, wie zuvor dargestellt, konfigurieren. Um auf Amazon EC2 zuzugreifen, erstellen Sie ein AWS.EC2 Serviceobjekt. Erstellen Sie die JSON-Parameter, um den Namen der Sicherheitsgruppe anzugeben, die Sie löschen möchten. Rufen Sie anschließend die Methode deleteSecurityGroup auf.

// 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"); } });

Um das Beispiel auszuführen, geben Sie Folgendes in der Befehlszeile ein.

node ec2_deletesecuritygroup.js

Diesen Beispielcode finden Sie hier auf GitHub.