가상 네트워크 아키텍처 4 - SQL 데이터베이스 프라이빗 엔드포인트
요약
이 기사는 가상 네트워크 아키텍처 시리즈의 Part.4입니다. api-management-vnet에서 Azure SQL 데이터베이스가 포함된 프라이빗 엔드포인트에 대해 자세히 설명합니다.
목차
프라이빗 엔드포인트 구성
SqlServerId:existingSql.id
VirtualNetwork2SubnetIdSql:existingVnet2.properties.subnets[2].id
resource PrivateEndpointSql 'Microsoft.Network/privateEndpoints@2021-03-01' = {
properties: {
privateLinkServiceConnections: [
{
properties: {
privateLinkServiceId: SqlServerId
groupIds: [
'sqlServer'
]
}
}
]
subnet: {
id: VirtualNetwork2SubnetIdSql
properties: {
privateEndpointNetworkPolicies: 'Enabled'
}
}
}
}
사설 DNS: PrivateDns2.bicep에 DNS 이름이
privatelink.database.windows.net
인 사설 DNS를 배포합니다.var pdns_name_sql = 'privatelink${environment().suffixes.sqlServerHostname}'
resource PrivateDnsSql 'Microsoft.Network/privateDnsZones@2020-06-01' = {
name: pdns_name_sql
location: 'global'
}
가상 네트워크 링크: 배포된 개인 DNS를 SQL Server 서브넷이 있는 가상 네트워크에 연결합니다PrivateDns2.bicep .
VirtualNetwork2Id:existingVnet2.id
resource VnetLinkSql 'Microsoft.Network/privateDnsZones/virtualNetworkLinks@2020-06-01' = {
name: '${PrivateDnsSql.name}/${PrivateDnsSql.name}-link'
location: 'global'
properties: {
registrationEnabled: false
virtualNetwork: {
id: VirtualNetwork2Id
}
}
}
프라이빗 DNS A 레코드: DNS A 레코드를 생성하고 PrivateDns2.bicep에 배포된 프라이빗 엔드포인트의 IP 주소를 설정합니다.
output PrivateEndpointSqlIpAddress string = PrivateEndpointSql.properties.customDnsConfigs[0].ipAddresses[0]
resource PrivateDnsASql 'Microsoft.Network/privateDnsZones/A@2020-06-01' = {
name: '${PrivateDnsSql.name}/${SqlServerName}'
properties: {
ttl: 3600
aRecords: [
{
ipv4Address: PrivateEndpointSqlIpAddress
}
]
}
}
SQL 데이터베이스에 대한 액세스
App Service and Functions need to access the SQL Database to insert and extract the data records. Both can access through V-net integration and Private Endpoint. In SqlDatabase2.bicep , 공용 네트워크 액세스가 비활성화되어 아무도 공용 IP를 통해 액세스할 수 없습니다.
resource SqlServer 'Microsoft.Sql/servers@2021-02-01-preview' = {
properties: {
publicNetworkAccess: 'Disabled'
}
}
SQL 프로젝트 업데이트
The biggest problem is when you want to update SQL projects including data schema on the Azure SQL Database. In this sample template, you cannot update the SQL project because a Linux based self-hosted agent does not support build and deployment of SQL Database projects. On the other hand, a Windows based self-hosted agent in the docker container on Azure Container Instance cannot be deployed on the virtual network as I mentioned in the previous article . Possible workaround is to create a Windows based self-hosted agent on a Virtual Machine, to change IP filtering rules when in code deployment, or to wait for the Windows docker container supporting the virtual network deployment.
Reference
이 문제에 관하여(가상 네트워크 아키텍처 4 - SQL 데이터베이스 프라이빗 엔드포인트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/koheikawata/virtual-network-architecture-4-sql-database-private-endpoit-49o2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
resource SqlServer 'Microsoft.Sql/servers@2021-02-01-preview' = {
properties: {
publicNetworkAccess: 'Disabled'
}
}
The biggest problem is when you want to update SQL projects including data schema on the Azure SQL Database. In this sample template, you cannot update the SQL project because a Linux based self-hosted agent does not support build and deployment of SQL Database projects. On the other hand, a Windows based self-hosted agent in the docker container on Azure Container Instance cannot be deployed on the virtual network as I mentioned in the previous article . Possible workaround is to create a Windows based self-hosted agent on a Virtual Machine, to change IP filtering rules when in code deployment, or to wait for the Windows docker container supporting the virtual network deployment.
Reference
이 문제에 관하여(가상 네트워크 아키텍처 4 - SQL 데이터베이스 프라이빗 엔드포인트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/koheikawata/virtual-network-architecture-4-sql-database-private-endpoit-49o2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)