Articles of amazon web services

Node.js + Socket.io,build立的连接正在增加

我的node.js + socket.io服务器通过aws ec2实例进行部署。 并有一些networking调整configuration。 echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range echo 60 > /proc/sys/net/ipv4/tcp_keepalive_time echo 10 > /proc/sys/net/ipv4/tcp_keepalive_intvl echo 3 > /proc/sys/net/ipv4/tcp_keepalive_probes echo 10 > /proc/sys/net/ipv4/tcp_fin_timeout echo 20000 > /proc/sys/net/core/netdev_max_backlog echo 2048 > /proc/sys/net/core/somaxconn echo 0 > /proc/sys/net/ipv4/tcp_tw_reuse 我用netstat命令监视连接状态。 netstat -anl | grep ":22000" | awk '/^tcp/ {t[$NF]++}END{for(state in t){print state, t[state]} }' 那么,发现“ESTABLISHED”的关系正在稳步增长。 TIME_WAIT […]

亚马逊AWS – 许多帐户在同一个应用程序

我有以下代码: … var AWS_Stg = require('aws-sdk'), AWS = require('aws-sdk'); AWS_Stg.config.update({ accessKeyId: '1ª Account', secretAccessKey: '1ª Account' }); AWS.config.update({ accessKeyId: '2ª Account', secretAccessKey: '2ª Account' }); … 但只能访问其中一个帐户。 如何在同一个应用程序(node.js)中访问多个帐户?

为什么nodemailer不能在AWS服务器-NodeJS上工作

我使用nodemailer 0.7.1,我可以在我的本地主机上发送电子邮件。 但是当我使用它与AWS服务器,没有得到任何这样的邮件。 请帮帮我。 var smtpTransport = mailer.createTransport("SMTP",{ service: "Gmail", auth: { user: "from@gmail.com", pass: "**************" } }); var mail = { from : "from@gmail.com", to : "to@gmail.com", subject : "dummy subject", html : "dummy message" } smtpTransport.sendMail(mail, function(error, response){ if(error){ console.log(error+"console error"); smtpTransport.close(); } else{ logger.info("Mail sent: " + response.message); smtpTransport.close(); }

AWSfile upload超过5MB – nodejs

我正在使用这个模块上传文件到亚马逊 https://www.npmjs.com/package/streaming-s3 ,如果文件小于或等于5 MB,则工作正常。 我试图上传大小为6 MB的PDF文件。 它显示上传成功,但是当我试图通过aws打开该文件。 它显示无法加载PDF文档 当我检查大小Aws它显示5 MB。 我正在使用以下代码在AWS上进行上传 var options = { concurrentParts: 2, waitTime: 20000, retries: 2, maxPartSize: 10 * 1024 * 1024 }; //call stream function to upload the file to s3 var uploader = new streamingS3(fileReadStream, config.aws.accessKey, config.aws.secretKey, awsHeader, options); //start uploading uploader.begin();// important if callback not provided. // […]

在Node.js中显示检索到的aws实例到HTML页面

我有一个代码从aws中检索实例 var aws = require('aws-sdk'); aws.config.update({ accessKeyId: 'YOUR_ACCESS_KEY', secretAccessKey: 'YOUR_SECRET_KEY', region: 'us-west-2' }); var ec2 = new aws.EC2(); function printStatuses() { ec2.describeInstances({}, function(err, data) { if(err) { console.error(err.toString()); } else { var currentTime = new Date(); console.log(currentTime.toString()); for(var r=0,rlen=data.Reservations.length; r<rlen; r++) { var reservation = data.Reservations[r]; for(var i=0,ilen=reservation.Instances.length; i<ilen; ++i) { var instance = reservation.Instances[i]; […]

Amazon Cloudwatch日志过滤 – JSON语法

我有一个logging错误的AWS Lambda函数。 错误logging如下: console.error(err); 我正在尝试创build一个使用JSON日志过滤语法的Cloudwatchfilter: { $.errorType = "ValidationException" } 我可以看到日志中的错误 2015-11-24T20:26:02.852Z 76800706-2d78-45ed-9068-46ccccafe6af { "errorMessage": "1 validation error detected: Value '[]' at 'xxxxxx' failed to satisfy constraint: Member must have length greater than or equal to 1", "errorType": "ValidationException", "stackTrace": [ …etc… ] } 是否需要某种特殊设置或手动login到CloudWatch以支持JSONfilter语法? 我无法在CloudWatch文档中find任何信息。 文档: http://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-model-logging.html http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/FilterAndPatternSyntax.html#d0e19372

AWS lambda node.js

我在从node.js.写入的Lambda函数将数据保存到DynamoDB时遇到了问题。 我想问一下,如果我的代码写得不错,因为我将需要每秒钟保存约100个项目,而且我找不到其他方式将数据从Lambda函数保存到DynamoDB,而不是使用put函数。 当我尝试保存约500个项目(500条logging)时,它使任务超时延迟。 如果我保存了大约50个项目,它有时会保存所有的数据,但有时有大约20个项目,有时它不保存任何东西。 我的lambda代码: var AWS = require("aws-sdk"); var dynamodb = new AWS.DynamoDB.DocumentClient(); var numberOfInsertedRows = 0; var actualInsertedRow = 0; var insertItem = function(oneRow, context){ var params = {}; params.TableName = 'MyTable'; params.Item = oneRow; dynamodb.put(params, function(err, data) { if (err) { console.log('ERROR'); console.log(err); context.fail('some error'); } else { actualInsertedRow++; if(actualInsertedRow == numberOfInsertedRows){ […]

aws s3file upload使用aws-sdk nodejs

我试图从用户{angularjs前端}上传文件到aws s3桶,并parsing文件到nodejs api路由,但不断收到错误:“TypeError:无法读取未定义的属性”文件“..我能够从postman(铬扩展)上传文件通过发送文件的请求,但我不知道如何parsing文件从angular度到节点js。 下面是在做什么: // NODEJS代码: router.post('/user/upload', multipartMiddleware, function(req, res){ var file = req.files.file; var body = fs.createReadStream(file.path); var filename = 'post7/media.jpg'; var s3bucket3 = new AWS.S3(); s3bucket3.createBucket({Bucket: 'artistarc-user-post-media'}, function() { var data = {Bucket: 'artistarc-user-post-media', Key: filename, Body: body}; s3bucket3.putObject(data, function(err, data) { if (err) { console.log("Error uploading data: ", err); } else { […]

将node.js应用程序部署到弹性beanstalk(使用快速)

我今天整天都在将应用程序部署到弹性beanstalk中。 我有以下项目结构(单个页面的应用程序构build与反应) dist/ index.html bundle.js package.json app.js 我压缩它,并上传到运行node.js的弹性beanstalk 这里是app.js var express = require('express'); var app = express(); app.use(express.static(__dirname + '/dist')); app.get('/*', function(req, res){ res.sendFile(__dirname + '/dist/index.html'); }); app.listen(8080, function() { console.log('Listening on port: ' + 8080); }); 在当地,这一切都很好,但一些警告警告。

node.js自动调整/负载平衡的任何方法? 与socket.io

我正在尝试部署一个node.js项目,以便它可以使用loadbalancer进行自动缩放。 我尝试了AWS ELB弹性豆茎。 花了很多时间后,ELB不像预期的那样连接socket.io。 从这里我已经search了很多方法来解决这个问题: nginx代理 更改了loadbalancer上的监听器,以允许TCP端口3000(其他端口也取决于论坛/问题,我看着) redis服务器共享不同节点之间的套接字连接。 我无法真正把所有的网站,我试图让这个工作。 但它一直没有奏效。 唯一我可能还没有尝试使用route53 … 所以问题是: 如果有人有一个适当的node.js应用程序与socket.io使用弹性beanstalk(或EC2实例与负载平衡器和自动缩放)工作,有没有办法做到这一点,该方法是什么? 如果有一些链接有一些一步一步的方法,将是可怕的。 提前致谢!