如何使用 terraform 在 OCI 的现有默认路由 Table 中添加新规则
How to add new rule in existing Default Route Table in OCI using terraform
我正在尝试使用 terraform 在 OCI 的现有默认路由 Table 中创建规则。
基本上,我正在尝试为互联网网关添加规则,以便我可以使用 ssh 访问它。不确定,但我无法访问 TCP,直到我不在默认情况下添加规则 table,新的 table 不适合我..
但在 OCI 提供程序中,该选项仅适用于使用规则创建新路由 table,而不是在现有/默认路由中添加规则 table
我只能在 oci 提供程序中找到路由 table 的以下选项,其余属于 DRG。
https://registry.terraform.io/providers/hashicorp/oci/latest/docs/resources/core_route_table
我目前正在使用以下 terraform 代码:
resource "oci_core_internet_gateway" "test_internet_gateway" {
#Required
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.test_vcn.id
}
resource "oci_core_route_table" "test_route_table" {
#Required
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.test_vcn.id
#display_name = "Default Route Table for xyz"
route_rules {
#Required
network_entity_id = oci_core_internet_gateway.test_internet_gateway.id
#cidr_block = "0.0.0.0/0"
destination = "0.0.0.0/0"
}
}
任何解决方法或解决方案都会有所帮助!!!!
显示的 terraform 代码创建了一个路由 Table 并为 0.0.0.0/0 添加了路由规则。缺少的部分是将此路由 Table 映射到您的 VM 所在的子网。
这里有一些想法:
- 您创建整个 VCN 和计算 VM,从而完全管理您的基础架构。这还可以在 VCN 旁边创建一个子网并将路由 table 映射到它。
- 使用Terraform Resource discovery为现有基础设施生成TF代码。生成配置文件后,将其修改为将路由 Table 映射到子网。
最后,请check this page了解如何修改默认资源。这可能是您的快速胜利。
扩展@bmuthuv 的答案
下面的页面有一些关于我们如何管理默认 VCN 资源的线索:
https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/terraformbestpractices_topic-vcndefaults.htm
我已将资源 oci_core_route_table 替换为 oci_core_default_route_table。奇怪的是资源“oci_core_default_route_table”没有直接出现在注册表提供者文档中,您需要在 oci 注册页面上搜索“管理默认 VCN 资源”,如下所示:
https://registry.terraform.io/providers/hashicorp/oci/latest/docs
resource "oci_core_default_route_table" "this" {
#SOURCE PAGE : https://www.tfwriter.com/oci/r/oci_core_default_route_table.html
manage_default_resource_id = oci_core_subnet.test_subnet.route_table_id
route_rules {
#Required
network_entity_id = oci_core_internet_gateway.test_internet_gateway.id
destination = "0.0.0.0/0"
}
}
我正在尝试使用 terraform 在 OCI 的现有默认路由 Table 中创建规则。
基本上,我正在尝试为互联网网关添加规则,以便我可以使用 ssh 访问它。不确定,但我无法访问 TCP,直到我不在默认情况下添加规则 table,新的 table 不适合我..
但在 OCI 提供程序中,该选项仅适用于使用规则创建新路由 table,而不是在现有/默认路由中添加规则 table
我只能在 oci 提供程序中找到路由 table 的以下选项,其余属于 DRG。
https://registry.terraform.io/providers/hashicorp/oci/latest/docs/resources/core_route_table
我目前正在使用以下 terraform 代码:
resource "oci_core_internet_gateway" "test_internet_gateway" {
#Required
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.test_vcn.id
}
resource "oci_core_route_table" "test_route_table" {
#Required
compartment_id = var.compartment_ocid
vcn_id = oci_core_vcn.test_vcn.id
#display_name = "Default Route Table for xyz"
route_rules {
#Required
network_entity_id = oci_core_internet_gateway.test_internet_gateway.id
#cidr_block = "0.0.0.0/0"
destination = "0.0.0.0/0"
}
}
任何解决方法或解决方案都会有所帮助!!!!
显示的 terraform 代码创建了一个路由 Table 并为 0.0.0.0/0 添加了路由规则。缺少的部分是将此路由 Table 映射到您的 VM 所在的子网。
这里有一些想法:
- 您创建整个 VCN 和计算 VM,从而完全管理您的基础架构。这还可以在 VCN 旁边创建一个子网并将路由 table 映射到它。
- 使用Terraform Resource discovery为现有基础设施生成TF代码。生成配置文件后,将其修改为将路由 Table 映射到子网。
最后,请check this page了解如何修改默认资源。这可能是您的快速胜利。
扩展@bmuthuv 的答案
下面的页面有一些关于我们如何管理默认 VCN 资源的线索:
https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/terraformbestpractices_topic-vcndefaults.htm
我已将资源 oci_core_route_table 替换为 oci_core_default_route_table。奇怪的是资源“oci_core_default_route_table”没有直接出现在注册表提供者文档中,您需要在 oci 注册页面上搜索“管理默认 VCN 资源”,如下所示:
https://registry.terraform.io/providers/hashicorp/oci/latest/docs
resource "oci_core_default_route_table" "this" {
#SOURCE PAGE : https://www.tfwriter.com/oci/r/oci_core_default_route_table.html
manage_default_resource_id = oci_core_subnet.test_subnet.route_table_id
route_rules {
#Required
network_entity_id = oci_core_internet_gateway.test_internet_gateway.id
destination = "0.0.0.0/0"
}
}