AWS Code Sample
Catalog

ec2_createsecuritygroup.js

ec2_createsecuritygroup.js demonstrates how to create a security group for an Amazon EC2 instance.

/** * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * This file is licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. A copy of * the License is located at * * http://aws.amazon.com/apache2.0/ * * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ // ABOUT THIS NODE.JS SAMPLE: This sample is part of the SDK for JavaScript Developer Guide topic at // https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/ec2-example-security-groups.html // Load the AWS SDK for Node.js var AWS = require('aws-sdk'); // Load credentials and set region from JSON file AWS.config.loadFromPath('./config.json'); // 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 = { GroupName: 'SECURITY_GROUP_NAME', 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); } }); } }); } });

Sample Details

Service: ec2

Last tested: 2018-06-02

Author: AWS-JSDG

Type: full-example

On this page: