我基本上想要一个EC2,一个接口在公共子网,一个在私有子网。我应该能够通过公共接口从外界SSH,私有网络将用于与私有网络中的数据库通信。
在地形上。。。
我不能SSH,连接超时,谁能看看这个?
conf_vpc_cidr_block = "10.100.0.0/16"
conf_vpc_enable_dns_support = "true"
conf_vpc_enable_dns_hostnames = "true"
conf_vpc_enable_classiclink = "false"
conf_vpc_instance_tenancy = "default"
conf_private_subnet_cidr_block = "10.100.100.0/24"
conf_private_subnet_map_public_ip_on_launch = "false"
conf_private_subnet_availability_zone = "eu-north-1a"
conf_public_subnet_cidr_block = "10.100.200.0/24"
conf_public_subnet_map_public_ip_on_launch = "true"
conf_public_subnet_availability_zone = "eu-north-1a"
conf_instance_ami = "ami-000e50175c5f86214"
conf_instance_type = "t3.micro"
provider "aws" {
region = var.conf_aws_region
profile = var.conf_aws_profile
}
resource "aws_vpc" "Terraform_XX_VPC" {
cidr_block = var.conf_vpc_cidr_block
enable_dns_support = var.conf_vpc_enable_dns_support
enable_dns_hostnames = var.conf_vpc_enable_dns_hostnames
enable_classiclink = var.conf_vpc_enable_classiclink
instance_tenancy = var.conf_vpc_instance_tenancy
}
resource "aws_subnet" "Terraform_XX_Private_SN" {
vpc_id = "${aws_vpc.Terraform_XX_VPC.id}"
cidr_block = var.conf_private_subnet_cidr_block
map_public_ip_on_launch = var.conf_private_subnet_map_public_ip_on_launch
availability_zone = var.conf_private_subnet_availability_zone
}
resource "aws_subnet" "Terraform_XX_Public_SN" {
vpc_id = "${aws_vpc.Terraform_XX_VPC.id}"
cidr_block = var.conf_public_subnet_cidr_block
map_public_ip_on_launch = var.conf_public_subnet_map_public_ip_on_launch
availability_zone = var.conf_public_subnet_availability_zone
}
resource "aws_internet_gateway" "Terraform_XX_IGW" {
vpc_id = "${aws_vpc.Terraform_XX_VPC.id}"
}
resource "aws_route_table" "Terraform_XX_Route_Public" {
vpc_id = "${aws_vpc.Terraform_XX_VPC.id}"
route {
cidr_block = "0.0.0.0/0"
gateway_id = "${aws_internet_gateway.Terraform_XX_IGW.id}"
}
}
resource "aws_route_table_association" "Terraform_XX_Route_Table_Public_Association" {
subnet_id = "${aws_subnet.Terraform_XX_Public_SN.id}"
route_table_id = "${aws_route_table.Terraform_XX_Route_Public.id}"
}
resource "aws_security_group" "Terraform_XX_SG_ALLOW_SSH" {
name = "Terraform_XX_SG_ALLOW_SSH"
description = "Allow SSH"
vpc_id = "${aws_vpc.Terraform_XX_VPC.id}"
ingress {
from_port = 22
to_port = 22
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"]
}
}
resource "aws_instance" "Terraform_XX_EC2" {
ami = var.conf_instance_ami
instance_type = var.conf_instance_type
key_name = "${local.environmentLC}"
network_interface {
device_index = 0
network_interface_id = "${aws_network_interface.Terraform_XX_EC2_Private_Intf.id}"
#delete_on_termination = true
}
network_interface {
device_index = 1
network_interface_id = "${aws_network_interface.Terraform_XX_EC2_Public_Intf.id}"
#delete_on_termination = true
}
}
resource "aws_network_interface" "Terraform_XX_EC2_Private_Intf" {
subnet_id = "${aws_subnet.Terraform_XX_Private_SN.id}"
private_ips = ["10.100.100.5"]
security_groups = [aws_security_group.Terraform_XX_SG_ALLOW_SSH.id]
}
resource "aws_network_interface" "Terraform_XX_EC2_Public_Intf" {
subnet_id = "${aws_subnet.Terraform_XX_Public_SN.id}"
private_ips = ["10.100.200.5"]
security_groups = [aws_security_group.Terraform_XX_SG_ALLOW_SSH.id]
}
resource "aws_eip" "Terraform_XX_EC2_EIP" {
vpc = true
network_interface = "${aws_network_interface.Terraform_XX_EC2_Public_Intf.id}"
}
我可以通过将device_index交换为公共和私有接口来解决这个问题
问题内容: 我的意思是: 我用谷歌搜索,发现了这个: 表示定义接口方法的实现。但是接口没有实现,因此是不可能的。 但是,interface是100%抽象的类,抽象类可以实现接口(100%抽象的类)而无需实现其方法。将其定义为“接口”时会出现什么问题? 详细来说, 问题答案: 表示实现,当旨在声明仅提供不提供实现时。 A 100%,是功能上等同于,但它也可以实现,如果你想(在这种情况下,它不会保持1
我使用的界面看起来大致如下: 并且我目前正在使用一个匿名类来实现接口,但我并不关心这两种方法中的一种。大致如下: 现在,我已经在Java8中尽可能地使用新的lambda表达式,我想在这种情况下使用增加的简单性。毕竟,我只是在实现其中的一个方法,但由于接口中有两个方法,所以我不能在一个lambda表达式中使用它。
问题内容: 我想知道我们可以在一个接口内定义一个接口。喜欢 这是面试中提出的问题。任何实时使用。 问题答案: 是的,我们可以做到。Java中的嵌套接口的定义如下: 嵌套接口是其声明出现在另一个类或接口的主体内的任何接口。顶级接口是不是嵌套接口的接口。 请参阅此为多。 进一步 … 一个原因可能是外部接口具有一种将回调实现作为参数的方法。在这种情况下,嵌套接口是回调方法必须实现的协定。我没有理由在顶层
定义一个接口还是很方便的,我先给出一个PHP语言中的形式。 <?php interface i_myinterface { public function hello(); } 那它在扩展中的实现是这样的。 zend_class_entry *i_myinterface_ce; static zend_function_entry i_myinterface_method[]={
在我的应用程序中有一个对象树。要构成该树,每个对象都有一个父引用。由于某些对象类型可以是多个父对象类型的子对象,所有潜在的父对象类型都通过实现公共接口来统一。我尽可能地缩小了问题的范围(JAXB抱怨父成员变量(注释为@XmlIDREF和@xmldattribute)是一个接口): 这是我在尝试运行它时得到的例外: com.sun.xml.internal.bind.v2.runtime.非法注释异
问题内容: 尝试部署应用程序时,似乎出现以下异常: 我的代码运行良好,直到将返回类型从List更改为List > 这是部分Web服务: 我也尝试过通过删除@SOAPBinding并尝试使用默认值,但是会出现相同的结果。 感谢任何帮助 更新 我要注意一些事情。我将所有List更改为ArrayList,然后进行编译。我之所以说编译但不起作用是因为它的行为很奇怪。我得到一个类型为Object的对象:Re