AWS Web 服务器拒绝连接
AWS web server refused to connect
provider "aws" {
region = "us-east-1"
}
provider "random" {}
resource "random_pet" "name" {}
resource "aws_instance" "web" {
ami = "ami-0022f774911c1d690"
instance_type = "t2.micro"
user_data = file("init-script.sh")
vpc_security_group_ids = [aws_security_group.web-sg.id]
tags = {
Name = random_pet.name.id
}
}
resource "aws_security_group" "web-sg" {
name = "${random_pet.name.id}-sg"
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
我正在使用 Terraform 部署 PHP 网络服务器。如图所示,ingress 和 egress 规则已定义,我应该能够连接。我做错了什么?
此外,我正在学习本教程:
https://learn.hashicorp.com/tutorials/terraform/resource?in=terraform/configuration-language
我自己克隆并 运行 本教程,它对我也不起作用。尝试连接时出现超时错误。
第一次观察 - 它很旧而且不是很好的教程。它采样的 AMI 甚至不再存在,我使用了最新的 AMZN Default Linux 2 AMI。
第二次观察 - 本教程中没有创建或使用此 EC2 实例的密钥对,这使得故障排除变得困难,因为您无法连接和查看日志。
第三次观察 - 与我的第一次观察有关,chkconfig
用于 init-script 并且如果您使用的是较新的 AMI (centos , redhat 或 amzn linux 图像)他们都可能使用 systemctl
代替。
结论:本教程确实需要更新,我不建议使用它,因为它几乎无法使用且非常过时。
provider "aws" {
region = "us-east-1"
}
provider "random" {}
resource "random_pet" "name" {}
resource "aws_instance" "web" {
ami = "ami-0022f774911c1d690"
instance_type = "t2.micro"
user_data = file("init-script.sh")
vpc_security_group_ids = [aws_security_group.web-sg.id]
tags = {
Name = random_pet.name.id
}
}
resource "aws_security_group" "web-sg" {
name = "${random_pet.name.id}-sg"
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
我正在使用 Terraform 部署 PHP 网络服务器。如图所示,ingress 和 egress 规则已定义,我应该能够连接。我做错了什么?
此外,我正在学习本教程:
https://learn.hashicorp.com/tutorials/terraform/resource?in=terraform/configuration-language
我自己克隆并 运行 本教程,它对我也不起作用。尝试连接时出现超时错误。
第一次观察 - 它很旧而且不是很好的教程。它采样的 AMI 甚至不再存在,我使用了最新的 AMZN Default Linux 2 AMI。
第二次观察 - 本教程中没有创建或使用此 EC2 实例的密钥对,这使得故障排除变得困难,因为您无法连接和查看日志。
第三次观察 - 与我的第一次观察有关,chkconfig
用于 init-script 并且如果您使用的是较新的 AMI (centos , redhat 或 amzn linux 图像)他们都可能使用 systemctl
代替。
结论:本教程确实需要更新,我不建议使用它,因为它几乎无法使用且非常过时。