为 Azure 存储帐户创建专用终结点连接时出现 ResourceNotFound 错误
ResourceNotFound error when creating Private Endpoint connection for Azure storage account
我正尝试根据此 docs 为我的 Azure 存储帐户提供专用终结点连接,但我收到此错误
azure-native:storage:PrivateEndpointConnection (privateEndpointConnection):
error: cannot check existence of resource '/subscriptions/my_sub_id/resourceGroups/my_resource_group_id /providers/Microsoft.Storage/storageAc
counts/my_storage_account_name/privateEndpointConnections/privateEndpointConnection': status code 400, {"error":{"code":"ResourceNotFound","message":"The Resource Microsoft.St
orage/storageAccounts/my_storage_account_name/privateEndpointConnections/privateEndpointConnection under resource group my_resource_group_id was not found."}}
这是我的 Pulumi 堆栈代码
var resourceGroup = new ResourceGroup(resourceGroupName, new ResourceGroupArgs
{
ResourceGroupName = resourceGroupName,
});
var virtualNetwork = new VirtualNetwork("vnet", new VirtualNetworkArgs
{
ResourceGroupName = resourceGroup.Name,
Location = resourceGroup.Location,
AddressSpace = new AddressSpaceArgs { AddressPrefixes = new [] { "10.96.0.0/16" } },
});
var publicSubnet = new Subnet("public-subnet", new Pulumi.AzureNative.Network.SubnetArgs
{
ResourceGroupName = resourceGroup.Name,
VirtualNetworkName = virtualNetwork.Name,
AddressPrefix = "10.96.0.0/27",
Delegations =
{
new DelegationArgs { Name = "Microsoft.Web.serverFarms", ServiceName = "Microsoft.Web/serverFarms" },
}
});
var privateEndpointSubnet = new Subnet("private-endpoint-subnet", new Pulumi.AzureNative.Network.SubnetArgs
{
ResourceGroupName = resourceGroup.Name,
VirtualNetworkName = virtualNetwork.Name,
AddressPrefix = "10.96.1.0/27",
PrivateEndpointNetworkPolicies = VirtualNetworkPrivateEndpointNetworkPolicies.Disabled,
PrivateLinkServiceNetworkPolicies = VirtualNetworkPrivateLinkServiceNetworkPolicies.Enabled,
});
var storageAccount = new StorageAccount("storageaccount", new StorageAccountArgs
{
ResourceGroupName = resourceGroup.Name,
Sku = new SkuArgs
{
Name = SkuName.Standard_LRS
},
NetworkRuleSet = new NetworkRuleSetArgs
{
Bypass = Bypass.AzureServices,
DefaultAction = DefaultAction.Deny,
},
Kind = Kind.StorageV2
});
var privateEndpointConnection = new PrivateEndpointConnection("privateEndpointConnection", new PrivateEndpointConnectionArgs
{
AccountName = storageAccount.Name,
ResourceGroupName = resourceGroup.Name,
PrivateLinkServiceConnectionState = new PrivateLinkServiceConnectionStateArgs
{
Description = "Auto-Approved",
Status = "Approved",
ActionRequired = "None"
},
});
无法弄清楚我错过了什么,非常感谢任何帮助。
This (azure-ts-webapp-privateendpoint-vnet-injection) Pulumi 示例帮助我解决了我的问题,我能够为我的存储帐户使用专用端点连接
var storageAccount = new StorageAccount("storageaccount", new StorageAccountArgs
{
ResourceGroupName = resourceGroup.Name,
Sku = new SkuArgs
{
Name = SkuName.Standard_LRS
},
Kind = Kind.StorageV2
});
var privateDnsZone = new PrivateZone("private-dns-zone", new PrivateZoneArgs
{
ResourceGroupName = resourceGroup.Name,
Location = "global",
PrivateZoneName = "privatelink.azurewebsites.net",
});
var privateEndpoint = new PrivateEndpoint("account-storage-private-endpoint", new PrivateEndpointArgs
{
ResourceGroupName = resourceGroup.Name,
PrivateEndpointName = "account-storage-private-endpoint",
PrivateLinkServiceConnections =
{
new PrivateLinkServiceConnectionArgs
{
GroupIds =
{
"blob",
},
Name = "private-link-connection",
PrivateLinkServiceId = storageAccount.Id,
},
},
Subnet = new SubnetArgs { Id = privateEndpointSubnet.Id, },
});
new PrivateDnsZoneGroup("private-dns-zone-group", new PrivateDnsZoneGroupArgs
{
ResourceGroupName = resourceGroup.Name,
PrivateDnsZoneGroupName = privateEndpoint.Name,
PrivateEndpointName = privateEndpoint.Name,
PrivateDnsZoneConfigs =
{
new PrivateDnsZoneConfigArgs
{
Name = "config",
PrivateDnsZoneId = privateDnsZone.Id,
}
},
});
new VirtualNetworkLink("virtual-network-link", new VirtualNetworkLinkArgs
{
ResourceGroupName = resourceGroup.Name,
PrivateZoneName = privateDnsZone.Name,
RegistrationEnabled = false,
Location = "global",
VirtualNetwork = new SubResourceArgs { Id = virtualNetwork.Id }
});
我正尝试根据此 docs 为我的 Azure 存储帐户提供专用终结点连接,但我收到此错误
azure-native:storage:PrivateEndpointConnection (privateEndpointConnection):
error: cannot check existence of resource '/subscriptions/my_sub_id/resourceGroups/my_resource_group_id /providers/Microsoft.Storage/storageAc
counts/my_storage_account_name/privateEndpointConnections/privateEndpointConnection': status code 400, {"error":{"code":"ResourceNotFound","message":"The Resource Microsoft.St
orage/storageAccounts/my_storage_account_name/privateEndpointConnections/privateEndpointConnection under resource group my_resource_group_id was not found."}}
这是我的 Pulumi 堆栈代码
var resourceGroup = new ResourceGroup(resourceGroupName, new ResourceGroupArgs
{
ResourceGroupName = resourceGroupName,
});
var virtualNetwork = new VirtualNetwork("vnet", new VirtualNetworkArgs
{
ResourceGroupName = resourceGroup.Name,
Location = resourceGroup.Location,
AddressSpace = new AddressSpaceArgs { AddressPrefixes = new [] { "10.96.0.0/16" } },
});
var publicSubnet = new Subnet("public-subnet", new Pulumi.AzureNative.Network.SubnetArgs
{
ResourceGroupName = resourceGroup.Name,
VirtualNetworkName = virtualNetwork.Name,
AddressPrefix = "10.96.0.0/27",
Delegations =
{
new DelegationArgs { Name = "Microsoft.Web.serverFarms", ServiceName = "Microsoft.Web/serverFarms" },
}
});
var privateEndpointSubnet = new Subnet("private-endpoint-subnet", new Pulumi.AzureNative.Network.SubnetArgs
{
ResourceGroupName = resourceGroup.Name,
VirtualNetworkName = virtualNetwork.Name,
AddressPrefix = "10.96.1.0/27",
PrivateEndpointNetworkPolicies = VirtualNetworkPrivateEndpointNetworkPolicies.Disabled,
PrivateLinkServiceNetworkPolicies = VirtualNetworkPrivateLinkServiceNetworkPolicies.Enabled,
});
var storageAccount = new StorageAccount("storageaccount", new StorageAccountArgs
{
ResourceGroupName = resourceGroup.Name,
Sku = new SkuArgs
{
Name = SkuName.Standard_LRS
},
NetworkRuleSet = new NetworkRuleSetArgs
{
Bypass = Bypass.AzureServices,
DefaultAction = DefaultAction.Deny,
},
Kind = Kind.StorageV2
});
var privateEndpointConnection = new PrivateEndpointConnection("privateEndpointConnection", new PrivateEndpointConnectionArgs
{
AccountName = storageAccount.Name,
ResourceGroupName = resourceGroup.Name,
PrivateLinkServiceConnectionState = new PrivateLinkServiceConnectionStateArgs
{
Description = "Auto-Approved",
Status = "Approved",
ActionRequired = "None"
},
});
无法弄清楚我错过了什么,非常感谢任何帮助。
This (azure-ts-webapp-privateendpoint-vnet-injection) Pulumi 示例帮助我解决了我的问题,我能够为我的存储帐户使用专用端点连接
var storageAccount = new StorageAccount("storageaccount", new StorageAccountArgs
{
ResourceGroupName = resourceGroup.Name,
Sku = new SkuArgs
{
Name = SkuName.Standard_LRS
},
Kind = Kind.StorageV2
});
var privateDnsZone = new PrivateZone("private-dns-zone", new PrivateZoneArgs
{
ResourceGroupName = resourceGroup.Name,
Location = "global",
PrivateZoneName = "privatelink.azurewebsites.net",
});
var privateEndpoint = new PrivateEndpoint("account-storage-private-endpoint", new PrivateEndpointArgs
{
ResourceGroupName = resourceGroup.Name,
PrivateEndpointName = "account-storage-private-endpoint",
PrivateLinkServiceConnections =
{
new PrivateLinkServiceConnectionArgs
{
GroupIds =
{
"blob",
},
Name = "private-link-connection",
PrivateLinkServiceId = storageAccount.Id,
},
},
Subnet = new SubnetArgs { Id = privateEndpointSubnet.Id, },
});
new PrivateDnsZoneGroup("private-dns-zone-group", new PrivateDnsZoneGroupArgs
{
ResourceGroupName = resourceGroup.Name,
PrivateDnsZoneGroupName = privateEndpoint.Name,
PrivateEndpointName = privateEndpoint.Name,
PrivateDnsZoneConfigs =
{
new PrivateDnsZoneConfigArgs
{
Name = "config",
PrivateDnsZoneId = privateDnsZone.Id,
}
},
});
new VirtualNetworkLink("virtual-network-link", new VirtualNetworkLinkArgs
{
ResourceGroupName = resourceGroup.Name,
PrivateZoneName = privateDnsZone.Name,
RegistrationEnabled = false,
Location = "global",
VirtualNetwork = new SubResourceArgs { Id = virtualNetwork.Id }
});