Articles of amazon ec2

AWS EC2 IAMangular色凭证

使用AWS的Node sdk,我试图使用连接到我的Node应用程序正在运行的EC2实例的IAMangular色给出的凭据和权限。 根据sdk文档,可以使用EC2MetadataCredentials类来为sdk分配configuration属性。 在我使用sdk访问DynamoDB实例的文件中,我有configuration代码: import AWS from 'aws-sdk' AWS.config.region = 'us-east-1' AWS.config.credentials = new AWS.EC2MetadataCredentials({ httpOptions: { timeout: 5000 }, maxRetries: 10, retryDelayOptions: { base: 200 } }) const dynamodb = new AWS.DynamoDB({ endpoint: 'https://dynamodb.us-east-1.amazonaws.com', apiVersion: '2012-08-10' }) 但是,当我试图访问Web应用程序时,我总是得到一个错误: Uncaught TypeError:d.default.EC2MetadataCredentials不是一个构造函数 Uncaught TypeError:_awsSdk2.default.EC2MetadataCredentials不是一个构造函数 即使这是从文档的确切用法! 有什么我失踪的小东西? 更新: 从文件中删除credentials和region定义会导致另一个错误,它会说: Error: Missing region|credentials in config

无法从任何提供程序nodemailer aws加载凭据

我一直在努力寻找一个解决我的问题一段时间。 我一直在尝试使用nodemailer和nodemailer-ses-transport。 这里是nodemailer代码: var cfg = require('../config/config'); var nodemailer = require('nodemailer'); var aws = require('nodemailer-ses-transport'); var transporter = nodemailer.createTransport(aws({ accessKeyId: cfg.KEY, secretAccessKey: cfg.SKEY, default_region: cfg.REG, ratelimit: 5 })); router.post('/signup', function(req, res, next){ passport.authenticate('local.signup', function(err, user, info) { if (err) { return next(err); } // Redirect if it fails if (!user) { return res.redirect('/signup'); } req.logIn(user, […]

无法在AWS EC2的公共IP上使用webpackdevserver托pipe反应应用程序

我正在运行AWS EC2上的react应用程序,它通过localhost:3000访问时在本地工作 我想让它公共访问,所以我通过公共ip到以下命令 var webpackDevServer = new WebpackDevServer(bundler, { publicPath: '/', hot: false, quiet: false, noInfo: true, stats: { colors: true } }); webpackDevServer.listen(3000, '18.230.124.435', function () { console.log('Bundling project, please wait…'); }); 我正在使用gulp来运行任务。 我geting一个错误错误:听EADDRNOTAVAIL 18.230.124.435:3000 我在这里做错了什么?

从弹性beanstalk提供静态文件不起作用

我得到了一个angular色的应用程序,从本地主机工作得很好,但在豆茎它没有提供所有我的文件。 只有我的index.html和styles.css被find并提供,都在一个名为public的文件夹中。 我的构build文件是在path/build/build.js,它不会服务它,但在本地主机它会。 我目前只是从我的服务器提供的文件,而不是使用staticfiles.config,因为这是完全不工作。 文件夹结构: root: /public : index.html ,styles.css /src: modularized angular and htmls for routes . /build: build.js const express = require('express'); const path = require('path'); const fs = require('fs'); const bodyParser = require('body-parser'); const emailController = require('./controllers/emailController'); const app = express(); const port = process.env.PORT || 3000; app.use(bodyParser.json()); app.use(express.static(path.resolve(__dirname, '../public'))); app.use(express.static(path.resolve(__dirname, '../'))); […]

在Amazon EC2空白页问题上部署Rails + React应用程序

我有轨道5 + react.js的组合应用程序。 我已经在Amazon EC2服务器上部署了它。 应用程序设置完成。 到现在为止没有错误。 问题是“变得空白页” 。 内容不在屏幕上呈现。 节点模块已经安装在服务器上。 来自我的package.json文件的代码 "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "webpack": "./node_modules/.bin/webpack –watch", "heroku-postbuild": "webpack –config webpack.config.prod.js" } 告诉我发生了什么事

Amazon Linux Node.js服务器拒绝连接

直到今天上午我的节点服务器(EC2亚马逊Linux)工作正常。 我启动了npm start ./bin/www,然后从我的浏览器连接到它,并且一年多没有问题。 今天早上,它一直在说ERR连接被拒绝。 我的服务器说连接到3000. Netstat说3000是开放的,但每当我尝试连接说拒绝。 不知道发生了什么事。 这就像它没有达到节点服务器。 我没有任何其他服务器运行。 看起来问题是安全组,但端口80是开放给所有来源,我现在也增加了8080。

用于VS Node.js中的AWS Lambdafunction的锐利图像库

我正在使用Visual Studio中的AWS Lambda函数来调用快速图像大小。 最初,我使用ImageMagick来调整这些图像的大小,但整个过程需要很长的时间来处理。 ImageMagick的替代scheme似乎是另一个图像库Sharp。 Sharp应该会使用Native AWS Lambda代码来更快地调整图像大小。 根据这篇文章,夏普需要在EC2实例中构build( https://github.com/awslabs/serverless-image-resizing )。 我还没有能够得到这个工作呢。 有没有人有这个工作呢? 如果是这样的话,那么在EC2中是否有一个预build的Sharp库,或者我应该自己构build它? 我确实在npmfind了一个Sharp库,但是我无法使它正常工作。 npm中的Sharp库甚至与AWS Lambda函数兼容吗? 如果是这样,是否通过使用本地处理增加了速度?

使用Websockets设置AWS ElasticBean

我正在尝试设置Websockets以便将消息发送到AWS ,以便我可以处理消息并将一些有效内容发送到云中的其他资源,并向客户端部分提供自定义响应。 但是,我无法得到这个工作。 主要目标是通过WSS://向WS://发送消息, WSS://根据有效负载内容使用WS:// (如果可能的话)的第一种方法,它将返回自定义响应。 然后closures连接,如果不需要进一步的操作。 我已经尝试了这里和这里张贴的build议。 但是,或者我对负载平衡 , Websockets , TCP和HTTP的了解不够,我不能看到一些解决scheme的缺失,我做的一切都是错误的,或者两者兼而有之。 至于现在,我有一个像这样的Elastic Beanstalk示例项目结构: + nodejs-v1 |–+ .ebextensions | |— socketupgrade.config | |–+ .elasticbeasntalk | |— config.yaml | |— .gitignore |— app.js |— cron.yaml |— index.html |— package.json Elastic Beanstalk环境和应用程序是标准创build的,并且还确保了Balancer是应用程序 , 而不是经典的 ,因此Application Load Balancer可以使用Websockets作为许多源和文档状态。 它使用端口80上的HTTP进行设置。粘滞性启用一天。 这里是使用的代码: app.js : 'use strict'; const express = […]

从node.js提供VM实例的推荐方法和工具?

我试图在云中实施一个“ 实验室 ”,让人们有一个沙盒去实验和学习; 即为devops(厨师/傀儡),安装或configuration软件等。我有一个node.js服务器实现来pipe理这个,寻找合理的方式来解决这个问题。 各种select令人眼花缭乱:直接傀儡或厨师,或stream浪似乎是适当的。 但是Openstack,cloudfoundry,Amazon EC2也提供了自己的function集。 理想情况下,微云解决scheme(每个实例多个虚拟机)将是理想的,因为不会有任何大的计算负载。 build议最赞赏。 干杯

WebSocket通过亚马逊ELB或直接(远程IP问题)

我们使用WebSockets与我们的EC2实例进行通信。 我们的脚本使用nodejs和Express服务,然后初始化WebSocket。 现在ELB被使用,这使得生活更难以识别客户IP。 使用x-forwarded-for标头,我们可以在HTTP上下文中获得IP,但是当涉及服务器中的WebSocket上下文时,它看起来不是由Amazon转发的。 我们确定了2个选项: 直接与实例(使用其公共DNS)通信WebSocket。 保持某种sessionid,在HTTP中存储IP,并将其与sessionid相关联。 客户端将使用HTTP响应来获取其sessionid,并将其用于WebSocket上。 服务器将识别客户端并从caching中parsing其IP。 两个选项都不是很好:1不是容错,2是复杂的。 有更多的解决scheme吗? 亚马逊能以某种方式转发IP吗? 最佳做法是什么? 谢谢