新しいリソース グループにリソースを作成したいのですが、別のリソース グループにあるリソースには仮想ネットワークを使用したいと考えています。どうすればいいですか?たとえば、redis/postgresql を resourcegroupA に作成したいが、resourcegroupB にある仮想ネットワークを利用したい。出来ますか?
これは、vnet を取得しているリソース グループです。
resource "azurerm_resource_group" "azresourcegroup" {
name =
"resourcegroupA"
location = var.resource_group_location
}
#-----CREATING VIRTUAL NETWORK-----
resource "azurerm_virtual_network" "vnet2" {
name = "virtualnetworkA"
location = azurerm_resource_group.azresourcegroup.location
resource_group_name = azurerm_resource_group.azresourcegroup.name
address_space = [var.virtual_network_address_prefix_infra,var.virtual_network_address_prefix]
このように別のリソースグループに使用しながら取得しました-
data "azurerm_resource_group" "azresourcegroup" {
name = "resoucegroupA"
}
data "azurerm_virtual_network" "vnet2" {
name = "virtualnetworkA"
resource_group_name = data.azurerm_resource_group.azresourcegroup.name
}
上記の仮想ネットワークを使用したいが、新しいリソース グループに他のリソースを作成したい -
resource "azurerm_resource_group" "main" {
name = "resourcegroupB"
location = var.resource_group_location
}
モジュールを使用して、他のRGで作成されたvnetを必要とするredisキャッシュを作成しています-
module "rediscache" {
source = "../../modules/rediscache"
prefix = var.prefix
environmentType = var.environmentType
virtual_network_name = var.virtual_network_name
unique_identifier = var.unique_identifier_kube
resource_group_name = azurerm_resource_group.main.name
resource_group_location = var.resource_group_location
redis_subnet_address_prefix = var.redis_subnet_address_prefix
azurerm_virtual_network_name = data.azurerm_virtual_network.vnet2.name
azurerm_log_analytics_workspace_id = azurerm_log_analytics_workspace.workspace.id
}
これを簡素化するために、vnet は別のリソース グループに作成され、redis は別のリソース グループに作成されます。しかし、その vnet を使用したいと考えています。またresource group name
、モジュールで使用される引数を からazurerm_resource_group.main.name
に変更するdata.azurerm_resource_group.azresourcegroup.name
と、不要な最初のリソース グループに redis が作成されます。助けてください。