标签: amazon-vpc

使用Rubber部署到Amazon VPC

我目前使用橡胶来部署(创建实例,部署代码,运行迁移等)到EC2,一切都很好.我需要将我的服务器移动到亚马逊的VPC,以打开到我的Web服务器的VPN连接,并将数据库保留在专用网络上.我到处寻找,似乎橡胶此时不支持部署到VPC实例.我见过其他支持部署到VPC实例的capistrano宝石(https://github.com/kryptek/capistrano-getservers)所以我认为这是可能的.我想继续使用橡胶进行部署,因为我花了很多时间设置它并且我对它非常满意.有没有人有关于如何自定义默认橡胶配置以部署(创建/销毁实例和部署代码)到VPC实例的建议?我将手动创建VPC,我只想创建实例并将我的应用程序部署到带有橡胶的VPC中.

先感谢您.

deployment ruby-on-rails amazon-ec2 amazon-vpc rubber

10
推荐指数
0
解决办法
455
查看次数

为什么我不能在对等后从另一个VPC中的EC2实例连接AWS RDS实例

我在VPC A中的EC2实例上运行Tableau Server.同时,我在另一个VPC B中创建了一个postgres RDS.现在我想在Tableau Server和RDS之间建立连接.RDS VPC的CIDR为172.31.0.0/16,EC2 VPC的CIDR为10.0.0.0/16.

根据VPC中的A DB实例,在不同VPC中由EC2实例访问,我在VPC A和VPC B,pcx-xyz123之间创建了对等关系.此外,我还为VPC创建了以下路由表.

RDS VPC
Destination      Target
172.31.0.0/16    local
10.0.0.0/16      pcx-xyz123

EC2 VPC
Destination      Target
10.0.0.0/16      local
172.31.0.0/16    pcx-xyz123
Run Code Online (Sandbox Code Playgroud)

两个路由表都是主要的.每个都有0个子网(不确定这是否重要).

但是,我仍然无法从Tableau Server连接RDS.

这两个实例由同一帐户创建.它们都列在美国东部(俄亥俄州).所以我假设他们在同一个地区.另外两者都有us-east-2他们的主机名.从我的PC,我可以使用psql命令或pgAdmin连接到RDS.

为什么我不能连接这两个实例?

编辑:我在与Tableau Server相同的VPC的同一子网内创建了另一个EC2 Linux实例,仅用于调试目的.我以相同的方式配置了对等和路由表,并将子网与路由表相关联.但是,我仍然无法连接到EC2 Linux实例上的RDS.

amazon-ec2 amazon-web-services amazon-rds amazon-vpc

10
推荐指数
4
解决办法
5608
查看次数

连接 AWS Api Gateway 和私有 ALB

我有一个任务来配置 API 网关以将流量路由到 Lambda 或负载均衡器(内部,在 VPC 下)。我认为可以使用简单的 HTTP 集成或 AWS 服务为 ALB 创建简单的集成。但是经过一段时间的谷歌搜索后,我发现只有一种解决方案 - 是配置 NLB,然后使用VPC_Link 集成。在这种情况下,一切看起来都在工作。

但是我仍然找到了一些像这样的文章,其中人们描述了如何在没有 VPC_links 的情况下集成 Api Gateway 和 LB。就我而言invalid endpoint address,将内部 ALB 与 apigateway 集成时,我总是看到错误。我想这仅适用于公共资源(面向 LB 的互联网)?

问题的第二部分。当我配置 VPC_link 时,我仍然需要在集成中提供一些端点以进行证书检查和其他事情。但是看起来这个端点仍然必须可以公开访问?问题是我在 ALB 下的服务有多个端点,我需要在这个端点提供路径Endpoint URL,这个端点应该是公开的,就像我现在看到的那样。因此,出于测试原因,我提供了我们需要执行的公共资源的 url 和端点路径。这有效,但对我来说看起来太丑了。可能有任何漂亮的解决方案。

amazon-web-services amazon-vpc aws-api-gateway aws-load-balancer

10
推荐指数
2
解决办法
4605
查看次数

如何在Amazon Virtual Private Cloud上设置网络ACL?

我已经建立了亚马逊虚拟私有云(VPC).在VPC内部我有2个网络,我在其中创建实例.出于安全原因,我想在这些网络上放置一些网络访问控制列表(网络ACL),除了机器防火墙.在亚马逊示例之后,我有一个公共网络(暴露于互联网访问)10.0.0.0/24和3个私人网络10.0.1.0/24,10.0.2.0/24,10.0.3.0/24.它们之间的流量被路由.


所以对于网络10.0.1.0/24作为ACL,我把它:

Inbound:
10.0.0.0/24 port 80 (HTTP)
10.0.0.0/24 port 22 (SSH)
10.0.2.0/24 port 3306 (MySql)
10.0.3.0/24 port 3306 (MySql)

Outbound
ALL ALL
Run Code Online (Sandbox Code Playgroud)

对于网络10.0.2.0/24和10.0.3.0/24:

Inbound 
10.0.1.0/24 port 3306 (MySql)

Outbound
ALL ALL
Run Code Online (Sandbox Code Playgroud)

对于此处的公共网络10.0.0.0/24,我有一个公开的负载均衡器,它将流量重定向到专用网络10.0.1.0/24,其中应用程序通过HTTP进行响应:

Inbound
0.0.0.0/0 port 80 (HTTP)
0.0.0.0/0 port 443 (HTTPS)
0.0.0.0/0 port 22 (SSH)

Outbound
ALL ALL
Run Code Online (Sandbox Code Playgroud)

问题是,当我将这些规则付诸行动时,所有流量都会冻结并且应用程序无法使用.发生了什么?难道我做错了什么?

networking acl traffic amazon-web-services amazon-vpc

9
推荐指数
1
解决办法
9004
查看次数

在CloudFormation模板中以编程方式生成子网CIDR块(或将整数添加到一起)

我们正在调整我们的应用程序CloudFormation模板以使用VPC.在此模板中,我们需要以编程方式生成用于VPC子网的CIDR块,以确保它们不会在CloudFormation堆栈之间发生冲突.

我最初的计划是通过将字符串连接在一起来生成CIDR,例如:

"ProxyLoadBalancerSubnetA" : {
  "Type" : "AWS::EC2::Subnet",
  "Properties" : {
    "VpcId" : { "Ref" : "Vpc" },
    "AvailabilityZone" : "eu-west-1a",
    "CidrBlock" : { "Fn::Join" : [ ".", [ { "Ref" : "VpcCidrPrefix" }, "0.0/24" ] ] }
  }
},
Run Code Online (Sandbox Code Playgroud)

然而,在进一步考虑之后,我们需要使用单个VPC,而不是为每个堆栈使用VPC.

AWS限制VPC使用最大的/16CIDR块(我们已经要求提高此限制,但显然不可能).这意味着我们不再可能使用此连接方法,因为我们的每个堆栈都需要总共超过255个地址的子网.

我想在运行中生成CIDR块,而不必将它们定义为CloudFormation模板的参数,

我有一个想法是每个堆栈都有一个"基本整数",并为每个子网的CIDR块添加.

例如:

    "CidrBlock" : { "Fn::Join" : [ ".", [ { "Ref" : "VpcCidrPrefix" }, { "Fn::Sum", [ { "Ref" : "VpcCidrStart" }, 3 ] }, "0/24 ] ] }
Run Code Online (Sandbox Code Playgroud)

其中VpcCidrStart是一个整数,用于设置第三个CIDR八位字节应在脚本中开始的值,并且3是子网号. …

cidr amazon-web-services aws-cloudformation amazon-vpc

9
推荐指数
2
解决办法
3168
查看次数

禁用EC2安全组中的规则不会影响已建立的MongoDB连接

情况就是这样:

  1. 实例X能够连接到YTCP端口上的实例27017(EC2安全组允许)
  2. X 有mongo shell
  3. YMongoDB正在运行,接受来自X端口的连接27017
  4. X,使用mongo shell连接到数据库实例Y
  5. 从这个mongo shell会话开始X,查询Y和插入到Y.一切都很成功.
  6. 更改安全组Y:删除27017#1中提到的端口规则
  7. X仍然可以从/ insert查询到托管的数据库Y.这不是预期的.
  8. 退出mongo shell会话 X
  9. 再次尝试第4步并失败.这是正常的和预期的.

期望EC2网络防火墙将终止违反规则的连接(安全组策略).

你能解释一下上面的#7是怎么回事吗?那怎么可以避免(那时候X什么都做不了Y)?

谢谢.

amazon-ec2 mongodb amazon-web-services amazon-vpc aws-security-group

9
推荐指数
1
解决办法
323
查看次数

为什么我可以从off-VPC aws lambda调用on-VPC aws lambda但反之不然?

所以,如果我有两个lambdas,一个在私有VPC中,一个不在VPC上,从公共lambda内部调用私有lambda可以工作,但我不能从私有lambda调用公共.

没有NAT设置.

为什么是这样?看来我理论上不应该从公众那里打电话给私人.

amazon-web-services amazon-vpc aws-lambda

9
推荐指数
2
解决办法
3134
查看次数

CloudFormation 在启动 EC2 实例时抛出“参数 groupId 的值 () 无效。该值不能为空”

我想为公共子网中的单个 Linux EC2 实例编写一个完整的 CloudFormation 模板。我使用AWS CloudFormation 模板创建了一个以安全组为起点的 EC2 实例。此模板在您的默认 VPC 中启动一个实例。

我的目标是拥有一个自包含模板,可以在新堆栈中创建所需的所有内容,但不会创建到默认 VPC 中。我想要一个新的 VPC、安全组、路由表、互联网网关、子网并启动一个新的 Linux EC2 实例。

所以我使用了上面的模板并添加了所需的资源并使用Refs链接它们。一切都很好:VPC、子网、安全组、Internet GW、RouteTables 等。但我的 EC2 会出错,堆栈会回滚。

状态原因是:

Value () for parameter groupId is invalid. The value cannot be empty (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterValue; Request ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx)

CloudFormation 模板中的 EC2 资源如下所示:

"EC2Instance" : {
        "Type" : "AWS::EC2::Instance",
        "Properties" : {
          "InstanceType" : { "Ref" : "InstanceType" },
          "SecurityGroups" : [ { "Ref" : …
Run Code Online (Sandbox Code Playgroud)

aws-cloudformation amazon-vpc aws-security-group

9
推荐指数
1
解决办法
7181
查看次数

aws-vpc 容器无法访问互联网

我在 AWS ECS 集群中创建了 ECS 服务。我的容器使用 awsvpc 网络模式。该服务没有负载均衡器。

但它不能触及任何公共互联网资源。

当我转到 ECS 实例并通过 ssh 进入 docker 容器时,我无法获取任何公共资源。

root@ip-10-3-1-23:/app# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  *^C
Run Code Online (Sandbox Code Playgroud)
root@ip-10-3-1-23:/app# wget google.com
--2019-08-31 22:34:38--  http://google.com/
Resolving google.com (google.com)... 172.217.9.206, 2607:f8b0:4004:807::200e
Connecting to google.com (google.com)|172.217.9.206|:80... ^C
root@ip-10-3-1-23:/app# 
Run Code Online (Sandbox Code Playgroud)

EC2 实例安全组:

入站:

Type            Protocol        Port Range      Source                      Description
All TCP         TCP …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-ecs amazon-vpc

9
推荐指数
1
解决办法
2933
查看次数

9
推荐指数
3
解决办法
4775
查看次数