在新安装的EC2上:
安全组是默认的.对于入站和出站,"所有流量"允许为0.0.0.0/0.
"网络ACL"有入一定的局限性,因为我们希望我们的这个域名的网站,为我们的慈善组织的内部网络.但是从这台服务器,我们想通过SSH安装一些东西,所以我们需要wget和curl.所以出境也是
100 ALL Traffic 0.0.0.0/0 ALLOW
默认情况下会添加最后一个"DENY".
有了这些设置,这似乎很正常,我还缺少什么?请注意,所有iptables规则都已刷新,我们不会尽我所能使用iptables.所有防火墙内容都由Amazon VPC安全设置管理.
有什么想法或指针吗?谢谢.
我目前正在为我的应用程序使用AWS CloudFormation.现在我能够自动缩放实例.现在,我想把所有东西放在亚马逊VPC上.我们可以使用CloudFormation创建VPC吗?当我们在模板中有ELB时,我们如何通过CloudFormation管理弹性IP地址?我在AWS CloudFormation示例模板上找到了一个与VPC相关的示例,但它只将资源配置到现有VPC中,并且不在模板中创建新的VPC.
scalability amazon-ec2 vpc amazon-web-services aws-cloudformation
如何在CloudFormation脚本中引用现有VPC的VPC Id(之前已在单独的CloudFormation脚本中创建)以便在VPC中创建子网?
是否可以使用Cloud Formation JSON获取VPC ID?
就像是:
{ "Fn::GetAtt" : [ "MyVPCName", "VPCId" ] }
Run Code Online (Sandbox Code Playgroud) 有没有办法在AWS账户中找到未使用的VPC?
我的意思是VPC没有任何EC2实例,RDS和与之相关的其他服务.
一种方法是在运行实例,RDS和其他服务中使用VPC ID进行搜索,以确定它是否正在使用中.有没有其他方法或AWS CLI来查找未使用的VPC?
我有一个在 AWS VPC 中运行的 Lambda 函数。此 Lambda 需要同时访问 RDS 和 DynamoDB,因此需要配置一个 VPC 端点以访问 DynamoDB。我已经设法使用手动配置使其工作,如亚马逊博客中所述,但我正在努力使用 Terraform 将等效的基础设施定义为代码。
我知道我应该aws_vpc_endpoint在 Terraform 中定义一个(此处的文档),但是在为其配置路由表时我有点迷茫。
到目前为止,这就是我所得到的,我不确定这是正确的,我在route_table_ids配置中留下了一个问号。对于记录,如果我不配置任何路由表,端点将正确创建,但 Lambda 无法访问 DynamoDB。
data "aws_vpc" "default" {
default = true
}
resource "aws_vpc_endpoint" "private-dynamodb" {
vpc_id = "${data.aws_vpc.default.id}"
service_name = "com.amazonaws.${var.region}.dynamodb"
route_table_ids = ["${WHAT_SHOULD_I_PUT_HERE?}"]
policy = <<POLICY
{
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Principal": "*"
}
]
}
POLICY
}
Run Code Online (Sandbox Code Playgroud)
我还检查了如何使用手动配置创建端点,我看到它有一个关联的路由表,其中包含以下设置:
我没有配置项目,并且每次运行我的作业时都会收到此错误“网络默认设置没有打开 TCP 端口 1-65535 以与其他 VM 进行内部连接的规则。仅具有目标标记“数据流”或空目标标记集的规则适用。如果您不指定这样的规则,则任何具有多于一个工作人员来混洗数据的管道都将挂起。原因:没有与您的网络关联的防火墙规则。'
google_cloud_options = p_options.view_as(GoogleCloudOptions)
google_cloud_options.region = 'europe-west1'
google_cloud_options.project = 'my-project'
google_cloud_options.job_name = 'rim'
google_cloud_options.staging_location = 'gs://my-bucket/binaries'
google_cloud_options.temp_location = 'gs://my-bucket/temp'
p_options.view_as(StandardOptions).runner = 'DataflowRunner'
p_options.view_as(SetupOptions).save_main_session = True
p_options.view_as(StandardOptions).streaming = True
p_options.view_as(WorkerOptions).subnetwork = 'regions/europe-west1/subnetworks/test'
p = beam.Pipeline(options=p_options)
Run Code Online (Sandbox Code Playgroud)
我们正在创建一个控制台来管理、查看日志和指标,在多云环境中在 Kubernetes 上创建资源。
该控制台(web应用程序)在GCP部署在GKE,但我们不能找出我们如何可以连接并具有重叠的IP达到多个VPC K8S API的服务器,而不会暴露他们的公网IP。
我画了一个小图来暴露这个问题。
是否有一些产品或最佳实践可以安全地执行此操作?Mongo Atlas或Confluent Cloud 等
产品供应商似乎已经解决了这个问题,他们可以在多个云中创建基础设施并对其进行管理。
将 lambda 函数部署到 VPC 时,您需要向 lambda 执行角色授予一系列与网络接口相关的权限。AWS 手册建议为此使用 AWSLambdaVPCAccessExecutionRole 托管策略,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"ec2:CreateNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DeleteNetworkInterface",
"ec2:AssignPrivateIpAddresses",
"ec2:UnassignPrivateIpAddresses"
],
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
正如我们所看到的,这一策略并不限制 lambda 可以修改的网络接口,因此可能会允许它扰乱自己的 VPC 外部的网络。我想限制 lambda 可以对其实际部署到的 VPC 或子网执行的操作。然而,到目前为止,我还没有为此制定出可行的政策。
我尝试像这样检查策略中的 VPC:
"Condition": {"StringEquals": {"ec2:Vpc": "${my_vpc_arn}" }}
Run Code Online (Sandbox Code Playgroud)
但仍然被拒绝许可。
CloudTrail 事件包含以下授权消息),用aws sts decode-authorization-message)解码:https: //pastebin.com/P9t3QWEY,其中我看不到任何有用的密钥来检查。
那么是否可以限制 VPC 部署的 lambda 仅修改特定网络接口?
可供微软测试的IE6/7/8 XP SP3图像将于明天(!)4月30日到期.我有点担心微软尚未发布新图片,因为我经常使用这些图像很容易测试IE6/7兼容性问题的方法.
这里有没有其他人在较长的时间内有这些VPC图像的经验,知道他们明天会发布新的图像,所以没有失效?或者有没有人知道一个很好的方法来引起微软合适的人的注意,并确保图像刷新发生?
否则,有没有人对如何在不涉及这些免费图像的同一台机器上测试IE6/7有一个很好的建议?
vpc ×10
amazon-ec2 ×3
amazon-iam ×1
amazon-vpc ×1
apache-beam ×1
curl ×1
json ×1
lambda ×1
networking ×1
policy ×1
routetable ×1
scalability ×1
subnet ×1
terraform ×1
virtual-pc ×1