amazon-web-services - AWS:使用 lambda 和 s3 测试 ALB
问题描述
如下图所示,我有一条Route53
记录调用 anALB
触发 a Lambda
,并且此Lambda
函数会将一些代码从 git 存储库克隆到S3 bucket
.
它Route53
位于私有托管区域中,因此我找不到向 A 记录发送 POST 请求以Route53
触发整个过程的方法。有什么办法可以测试吗?
解决方案
无法直接从 Internet 访问私有托管区域(HZ)。它们只能在 VPC中使用。Fron文档:
私有托管区域是一个容器,其中包含有关您希望 Amazon Route 53 如何响应您使用 Amazon VPC 服务创建的一个或多个 VPC中的域及其子域的 DNS 查询的信息。
这意味着您的 POST 或 GETwww.bla-bla-amazon.com
将无法通过 Internet 解析,因此您无法从 Internet 调用 dns。为此,正如文档所写,您需要公共HZ:
如果您想在Internet上为您的域路由流量,请使用 Route 53公有托管区域。了解更多信息
但是,如果您想从 VPC 外部访问私有 HZ,您可以使用VPN或ssh tunnel间接进行。SSH 隧道更易于使用和设置,用于测试和开发目的。为此,您需要HZ 所在的 VPC 中的公共EC2 实例。从 AWS 外部,例如家庭/工作,您可以设置 SSH 隧道,将本地端口转发到您的 EC2,例如:
ssh -L -i priavte_ssh_key local_port:private_dns_of_your_service:remote_port ec2-user@ec2-instance-ip
这样,您将能够http://localhost:local_port
在您的家庭/工作计算机上使用来访问 VPC 中的私有资源。
顺便说一句,如果设置应该是私有的,那么 ALB 应该是内部的,而不是面向 Internet 的。
推荐阅读
- excel - 谷歌表格 - 带有条件的excel中的值总和
- python - 如何在python中绘制300x300 RBG图像的灰度值
- javascript - Vue.js API 获取
- odoo-10 - 如何在odoo10中通过psql进行发票支付
- c - 如何在 Navilnux 中修改此汇编代码?
- java - 将 cucumber 'index.html' 报告发送到电子邮件
- jenkins - 将 Jenkins 构建状态设置为“不稳定”时出现类转换错误
- angular - 获取错误代码 503:带有授权标头
- laravel - 使用表中的用户出生日期列按年龄获取用户
- algorithm - 为 { 0 ^ (3 ^ n) | 构建枚举器(打印机)n >=0} 最多有 10 个状态,包括打印和停止,有限的字母?