试图在VPC私有子网的aws实例上安装LAMP堆栈
使用这里描述的scheme2: http : //docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html
我已经设置了所有的相关子网,安全组,互联网网关和路由表。
随着我的设置,我可以成功:
– ping NAT
– SSH到NAT
– 从NAT ping外部网站(例如ping ietf.org )
– 从NAT的ping私人实例(例如ping 10.0.XX )
– ssh到私人实例
– 从私人实例ping通NAT
但是我不能从私人实例ping到互联网(即ping ietf.org不工作)
当我尝试从私人实例sudo yum update ,我得到以下错误:
Cannot find a valid baseurl for repo: amzn-main/latest
我认为这是一个路由或安全组错误…?
笔记:
– NAT实例禁用源/目的地检查
– NAT实例具有一个公有IP,但不具有弹性IP
– ACL未实现(保留为默认值)
– 公共子网路由表:
10.0.XX/XX local 0.0.0.0/0 internet gateway
– 专用子网的路由表:
10.0.XX/XX local 0.0.0.0/0 nat instance
– 安全组织如下:
私人实例入站
ALL Traffic = vpc_private_sg SSH(22) = vps_nat_sg MySQL(3306) = vpc_public_sg ALL ICMP = 0.0.0.0/0
私有实例出站
SSH(22) = vps_nat_sg HTTP(80) = 0.0.0.0/0 HTTPS(443) = 0.0.0.0/0 ALL ICMP = 0.0.0.0/0
NAT实例入站
ALL Traffic = vpc_private_sg SSH(22) = vps_nat_sg SSH(22) = 10.0.XX/XX HTTP(80) = 10.0.XX/XX HTTPS(443) = 10.0.XX/XX ALL ICMP = 0.0.0.0/0
NAT实例出站
SSH(22) = 10.0.XX/XX HTTP(80) = 0.0.0.0/0 HTTPS(443) = 0.0.0.0/0 ALL ICMP = 0.0.0.0/0
问题:
标准AMI实例作为NAT实例不能正常工作
如果您尝试使用标准AMI实例作为NAT实例,它将具有与上述问题中所述相同的症状:
硬解:
要获得标准AMI实例作为NAT实例工作,您需要对其进行自定义:
简单的解决scheme:
使用已经configuration用作NAT实例的Community amzn-ami-vpc-nat实例
对于大多数(使用NAT实例进行pipe理连接的用户)来说,自定义的NAT实例是不必要的。
AWS提供了为NAT使用而configuration的标准实例(即如上所述进行了修改)作为社区AMI实例。
Launch Instance Step 1: Choose an Amazon Machine Image (AMI)单击左侧的Community AMIsselect器 amzn-ami-vpc-nat 2017或更简单的nat 2017 (注意以下) 注意:
您在社区AMI实例search中包含年份的原因是,AWS保留了所有旧的NAT AMI版本(在撰写本文时为21,回到2013年) – 其中主要包括版本号中的一年
…最好/最简单的select最新版本。