Json 节点JS安全组创建AWS
我有一个JSON文件,我正在调用该文件:Json 节点JS安全组创建AWS,json,node.js,amazon-web-services,Json,Node.js,Amazon Web Services,我有一个JSON文件,我正在调用该文件: { "SecurityGroups": [ { "IpPermissionsEgress": [], "Description": "My security group", "IpPermissions": [ { "PrefixListIds": [], "FromPort": 22,
{
"SecurityGroups": [
{
"IpPermissionsEgress": [],
"Description": "My security group",
"IpPermissions": [
{
"PrefixListIds": [],
"FromPort": 22,
"IpRanges": [
{
"CidrIp": "203.0.113.0/24"
}
],
"ToPort": 22,
"IpProtocol": "tcp",
"UserIdGroupPairs": []
}
],
"GroupName": "MySecurityGroup",
"VPCId": "123456789012",
"GroupId": "sg-903004f8",
}
]
}
我的JSON文件如下所示:
SyntaxError: /Users/testuser/Documents/testsecuritygroups.json: Unexpected token } in JSON at position 696
at JSON.parse (<anonymous>)
at Object.Module._extensions..json (module.js:588:27)
我正试图通过此脚本在AWS中创建安全组。您传递给
createSecurityGroup
的参数似乎与这些参数不匹配--您可以尝试securityParams[0]。UserIdGroupPairs[0]
,这似乎很有帮助<代码>请求已过期:请求已过期。这是我收到的新错误。您从哪里得到该错误?哪个ec2
命令?我在脚本运行后会得到这个消息。我很确定,当我的本地机器和远程服务器的时间超过15分钟时,Amazon会抛出这个错误。您传递给createSecurityGroup
的参数似乎与这些参数不匹配--您可以尝试securityParams[0]。UserIdGroupPairs[0]
,这似乎很有帮助<代码>请求已过期:请求已过期。这是我收到的新错误。您从哪里得到该错误?哪个ec2
命令?我在脚本运行后会得到这个消息。我很确定,当我的本地机器和远程服务器的时间超过15分钟时,Amazon会抛出这个错误。
'use strict';
process.env.AWS_PROFILE
var PropertiesReader = require('properties-reader');
var AWS = require('aws-sdk')
var properties = PropertiesReader('/Users/testuser/.aws/credentials');
AWS.config.update({
accessKeyId : properties.get('aws_access_key_id'),
secretAccessKey : properties.get('aws_secret_access_key'),
region : 'us-east-1'
})
var ec2 = new AWS.EC2({apiVersion: '2016-11-15'});
// Load credentials and set region from JSON file
// Load in security group parameters
let securityParams = require('./securityParams.json');
let securityParamsJSON = JSON.stringify(securityParams);
module.exports = {
//Exports creation of Security Groups
createSecurityGroup: (req, res) => {
ec2.createSecurityGroup(securityParams[0].SecurityGroups[0], function(err, data) {
if (err) {
return (console.log("Error", err));
}
// Pass the Json as a parameter in this function
ec2.authorizeSecurityGroupIngress(securityParams.IpPermissions, function(err, data) {
if (err) {
res.serverError(err, err.stack);
} else {
res.ok(data);
console.log('Ingress Security Rules Created');
}
})
// Pass the Json as a parameter in this function
ec2.authorizeSecurityGroupEgress(securityParams.IpPermissionsEgress[0], function(err, data) {
if (err) {
res.serverError(err, err.stack);
} else {
res.ok(data);
console.log('Egress Security Rules Created');
}
})
})
}
}
module.exports.createSecurityGroup();