Microsoft.ApiManagement 서비스 2018-06-01-preview
- 최신
- 2024-06-01-preview
- 2024-05-01
- 2023-09-01-preview
- 2023-05-01-preview
- 2023-03-01-preview
- 2022-09-01-preview
- 2022-08-01
- 2022-04-01-preview
- 2021-12-01-preview
- 2021-08-01
- 2021-04-01-preview
- 2021-01-01-preview
- 2020-12-01
- 2020-06-01-preview
- 2019-12-01
- 2019-12-01-preview
- 2019-01-01
- 2018-06-01-preview
- 2018-01-01
- 2017-03-01
- 2016-10-10
- 2016-07-07
Bicep 리소스 정의
다음을 대상으로 하는 작업으로 서비스 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ApiManagement/서비스 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.ApiManagement/service@2018-06-01-preview' = {
identity: {
type: 'string'
}
location: 'string'
name: 'string'
properties: {
additionalLocations: [
{
location: 'string'
sku: {
capacity: int
name: 'string'
}
virtualNetworkConfiguration: {
subnetResourceId: 'string'
}
}
]
certificates: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
encodedCertificate: 'string'
storeName: 'string'
}
]
customProperties: {
{customized property}: 'string'
}
hostnameConfigurations: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
defaultSslBinding: bool
encodedCertificate: 'string'
hostName: 'string'
keyVaultId: 'string'
negotiateClientCertificate: bool
type: 'string'
}
]
notificationSenderEmail: 'string'
publisherEmail: 'string'
publisherName: 'string'
virtualNetworkConfiguration: {
subnetResourceId: 'string'
}
virtualNetworkType: 'string'
}
sku: {
capacity: int
name: 'string'
}
tags: {
{customized property}: 'string'
}
}
속성 값
AdditionalLocation
이름 | 묘사 | 값 |
---|---|---|
위치 | Azure 데이터 센터 지역 간의 추가 지역의 위치 이름입니다. | string(필수) |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
virtualNetworkConfiguration | 위치에 대한 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
ApiManagementServiceBasePropertiesCustomProperties
이름 | 묘사 | 값 |
---|
ApiManagementServiceIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | ID 형식입니다. 현재 지원되는 유일한 형식은 'SystemAssigned'입니다. | 'SystemAssigned'(필수) |
ApiManagementServiceProperties
이름 | 묘사 | 값 |
---|---|---|
additionalLocations | API Management 서비스의 추가 데이터 센터 위치입니다. | AdditionalLocation[] |
인증서 | API Management 서비스에 설치해야 하는 인증서 목록입니다. 설치할 수 있는 지원되는 최대 인증서는 10개입니다. | CertificateConfiguration[] |
customProperties | API Management 서비스의 사용자 지정 속성입니다.
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 설정하면 모든 TLS(1.0, 1.1 및 1.2)에 대한 암호화 TLS_RSA_WITH_3DES_EDE_CBC_SHA 비활성화됩니다.
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 설정은 TLS 1.1만 사용하지 않도록 설정하는 데 사용할 수 있으며 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 설정은 API Management 서비스에서 TLS 1.0을 사용하지 않도록 설정하는 데 사용할 수 있습니다. |
ApiManagementServiceBasePropertiesCustomProperties |
hostnameConfigurations | API Management 서비스의 사용자 지정 호스트 이름 구성입니다. | hostnameConfiguration |
notificationSenderEmail | 알림을 보낼 전자 메일 주소입니다. | 문자열 제약 조건: 최대 길이 = |
publisherEmail | 게시자 전자 메일입니다. | 문자열 제약 조건: 최대 길이 = (필수) |
publisherName | 게시자 이름입니다. | 문자열 제약 조건: 최대 길이 = (필수) |
virtualNetworkConfiguration | API Management 서비스의 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
virtualNetworkType | API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다. | 'External' 'Internal' 'None' |
ApiManagementServiceSkuProperties
이름 | 묘사 | 값 |
---|---|---|
용량 | SKU의 용량(SKU의 배포된 단위 수)입니다. 기본값은 1입니다. | int |
이름 | Sku의 이름입니다. | '기본' '소비' '개발자' '프리미엄' 'Standard'(필수) |
ApimResourceTags
이름 | 묘사 | 값 |
---|
CertificateConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
storeName | System.Security.Cryptography.x509certificates.StoreName 인증서 저장소 위치입니다. 루트 및 CertificateAuthority만 유효한 위치입니다. | 'CertificateAuthority' 'Root'(필수) |
CertificateInformation
이름 | 묘사 | 값 |
---|---|---|
만료 | 인증서의 만료 날짜입니다. 날짜는 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식을 준수합니다. |
string(필수) |
제목 | 인증서의 주체입니다. | string(필수) |
지문 | 인증서의 지문입니다. | string(필수) |
HostnameConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
defaultSslBinding | 이 호스트 이름과 연결된 인증서를 기본 SSL 인증서로 설정하려면 true를 지정합니다. 클라이언트가 SNI 헤더를 보내지 않으면 이 문제가 발생하는 인증서가 됩니다. 이 속성은 서비스에 여러 사용자 지정 호스트 이름을 사용하도록 설정하고 기본 ssl 인증서를 결정해야 하는 경우에 유용합니다. 이 설정은 프록시 호스트 이름 형식에만 적용됩니다. | bool |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
hostName | Api Management 서비스에서 구성할 호스트 이름입니다. | string(필수) |
keyVaultId | Ssl 인증서를 포함하는 KeyVault 비밀에 대한 URL입니다. 버전이 포함된 절대 URL이 제공되면 ssl 인증서의 자동 업데이트가 작동하지 않습니다. 이렇게 하려면 MSI를 사용하여 Api Management 서비스를 구성해야 합니다. 비밀은 application/x-pkcs12 |
문자열 |
negotiateClientCertificate | 호스트 이름에서 항상 클라이언트 인증서를 협상하려면 true를 지정합니다. 기본값은 false입니다. | bool |
형 | 호스트 이름 형식입니다. | 'Management' '포털' 'Proxy' 'Scm'(필수) |
Microsoft.ApiManagement/service
이름 | 묘사 | 값 |
---|---|---|
신원 | Api Management 서비스의 관리 서비스 ID입니다. | ApiManagementServiceIdentity |
위치 | 리소스 위치입니다. | string(필수) |
이름 | 리소스 이름 | 문자열 제약 조건: 최소 길이 = 1 최대 길이 = 1 패턴 = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (필수) |
속성 | API Management 서비스의 속성입니다. | ApiManagementServiceProperties(필수) |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
VirtualNetworkConfiguration
이름 | 묘사 | 값 |
---|---|---|
subnetResourceId | API Management 서비스를 배포할 가상 네트워크에 있는 서브넷의 전체 리소스 ID입니다. | 문자열 제약 조건: 패턴 = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
빠른 시작 샘플
다음 빠른 시작 샘플은 이 리소스 유형을 배포합니다.
Bicep 파일 | 묘사 |
---|---|
내부 API Management 및 Web App 사용하여 Application Gateway |
Azure Web App에서 호스트되는 웹 API를 서비스하는 가상 네트워크(내부 모드) API Management 인스턴스로 인터넷 트래픽을 라우팅하는 Application Gateway입니다. |
다중region Premium 계층 API Management 인스턴스 만들기 | 이 템플릿은 추가 위치가 있는 API Management 인스턴스를 만드는 방법을 보여 줍니다. 기본 위치는 리소스 그룹의 위치와 동일합니다. 추가 위치의 경우 템플릿은 NorthCentralUs 및 미국 동부 2를 표시합니다. 기본 위치는 추가 위치와 달라야 합니다. |
MSI ID가 있는 API Management 인스턴스 만들기 | 이 템플릿은 MSI ID가 있는 Azure API Management의 개발자 인스턴스를 만듭니다. |
템플릿 사용하여 API Management 인스턴스 만들기 | 이 템플릿은 Azure API Management의 개발자 인스턴스를 만듭니다. |
프라이빗 엔드포인트 사용하여 API Management 서비스 만들기 | 이 템플릿은 API Management 서비스, 가상 네트워크 및 가상 네트워크에 API Management 서비스를 노출하는 프라이빗 엔드포인트를 만듭니다. |
KeyVault SSL을 사용하여 API Management 서비스 만들기 | 이 템플릿은 사용자 할당 ID로 구성된 API Management 서비스를 배포합니다. 이 ID를 사용하여 KeyVault에서 SSL 인증서를 가져오고 4시간마다 확인하여 업데이트를 유지합니다. |
App Gateway 사용하여 내부 VNet에서 API Management 만들기 | 이 템플릿은 Azure Application Gateway로 보호되는 프라이빗 네트워크에서 Azure API Management 인스턴스를 만드는 방법을 보여 줍니다. |
공용 IP 사용하여 외부 VNet에 API Management 배포 |
이 템플릿은 외부 모드에서 가상 네트워크의 서브넷 내에서 프리미엄 계층에서 Azure API Management 인스턴스를 만들고 서브넷에서 권장되는 NSG 규칙을 구성하는 방법을 보여 줍니다. 인스턴스는 두 가용성 영역에 배포됩니다. 또한 템플릿은 구독에서 공용 IP 주소를 구성합니다. |
공용 IP 사용하여 내부 VNet에 API Management 배포 | 이 템플릿은 내부 모드에서 가상 네트워크의 서브넷 내에서 프리미엄 계층에서 Azure API Management 인스턴스를 만들고 서브넷에서 권장되는 NSG 규칙을 구성하는 방법을 보여 줍니다. 인스턴스는 두 가용성 영역에 배포됩니다. 또한 템플릿은 구독에서 공용 IP 주소를 구성합니다. |
가용성 영역 API Management 배포 |
이 템플릿은 Azure API Management의 프리미엄 인스턴스를 만들고 가용성 영역에 배포합니다. |
외부 Azure Cache for Redis 사용하여 API Management 배포 |
이 템플릿은 외부 Azure Cache for Redis 인스턴스를 API Management 외부 캐시로 사용하여 소비 계층에서 Azure API Management 인스턴스를 만드는 방법을 보여 줍니다. |
API Management 원본 사용하여 Front Door 표준/프리미엄 |
이 템플릿은 Front Door Premium 및 API Management 인스턴스를 만들고 NSG 및 전역 API Management 정책을 사용하여 트래픽이 Front Door 원본을 통해 들어왔다는 것을 확인합니다. |
ARM 템플릿 리소스 정의
다음을 대상으로 하는 작업으로 서비스 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ApiManagement/서비스 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.ApiManagement/service",
"apiVersion": "2018-06-01-preview",
"name": "string",
"identity": {
"type": "string"
},
"location": "string",
"properties": {
"additionalLocations": [
{
"location": "string",
"sku": {
"capacity": "int",
"name": "string"
},
"virtualNetworkConfiguration": {
"subnetResourceId": "string"
}
}
],
"certificates": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"encodedCertificate": "string",
"storeName": "string"
}
],
"customProperties": {
"{customized property}": "string"
},
"hostnameConfigurations": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"defaultSslBinding": "bool",
"encodedCertificate": "string",
"hostName": "string",
"keyVaultId": "string",
"negotiateClientCertificate": "bool",
"type": "string"
}
],
"notificationSenderEmail": "string",
"publisherEmail": "string",
"publisherName": "string",
"virtualNetworkConfiguration": {
"subnetResourceId": "string"
},
"virtualNetworkType": "string"
},
"sku": {
"capacity": "int",
"name": "string"
},
"tags": {
"{customized property}": "string"
}
}
속성 값
AdditionalLocation
이름 | 묘사 | 값 |
---|---|---|
위치 | Azure 데이터 센터 지역 간의 추가 지역의 위치 이름입니다. | string(필수) |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
virtualNetworkConfiguration | 위치에 대한 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
ApiManagementServiceBasePropertiesCustomProperties
이름 | 묘사 | 값 |
---|
ApiManagementServiceIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | ID 형식입니다. 현재 지원되는 유일한 형식은 'SystemAssigned'입니다. | 'SystemAssigned'(필수) |
ApiManagementServiceProperties
이름 | 묘사 | 값 |
---|---|---|
additionalLocations | API Management 서비스의 추가 데이터 센터 위치입니다. | AdditionalLocation[] |
인증서 | API Management 서비스에 설치해야 하는 인증서 목록입니다. 설치할 수 있는 지원되는 최대 인증서는 10개입니다. | CertificateConfiguration[] |
customProperties | API Management 서비스의 사용자 지정 속성입니다.
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 설정하면 모든 TLS(1.0, 1.1 및 1.2)에 대한 암호화 TLS_RSA_WITH_3DES_EDE_CBC_SHA 비활성화됩니다.
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 설정은 TLS 1.1만 사용하지 않도록 설정하는 데 사용할 수 있으며 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 설정은 API Management 서비스에서 TLS 1.0을 사용하지 않도록 설정하는 데 사용할 수 있습니다. |
ApiManagementServiceBasePropertiesCustomProperties |
hostnameConfigurations | API Management 서비스의 사용자 지정 호스트 이름 구성입니다. | hostnameConfiguration |
notificationSenderEmail | 알림을 보낼 전자 메일 주소입니다. | 문자열 제약 조건: 최대 길이 = |
publisherEmail | 게시자 전자 메일입니다. | 문자열 제약 조건: 최대 길이 = (필수) |
publisherName | 게시자 이름입니다. | 문자열 제약 조건: 최대 길이 = (필수) |
virtualNetworkConfiguration | API Management 서비스의 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
virtualNetworkType | API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다. | 'External' 'Internal' 'None' |
ApiManagementServiceSkuProperties
이름 | 묘사 | 값 |
---|---|---|
용량 | SKU의 용량(SKU의 배포된 단위 수)입니다. 기본값은 1입니다. | int |
이름 | Sku의 이름입니다. | '기본' '소비' '개발자' '프리미엄' 'Standard'(필수) |
ApimResourceTags
이름 | 묘사 | 값 |
---|
CertificateConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
storeName | System.Security.Cryptography.x509certificates.StoreName 인증서 저장소 위치입니다. 루트 및 CertificateAuthority만 유효한 위치입니다. | 'CertificateAuthority' 'Root'(필수) |
CertificateInformation
이름 | 묘사 | 값 |
---|---|---|
만료 | 인증서의 만료 날짜입니다. 날짜는 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식을 준수합니다. |
string(필수) |
제목 | 인증서의 주체입니다. | string(필수) |
지문 | 인증서의 지문입니다. | string(필수) |
HostnameConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
defaultSslBinding | 이 호스트 이름과 연결된 인증서를 기본 SSL 인증서로 설정하려면 true를 지정합니다. 클라이언트가 SNI 헤더를 보내지 않으면 이 문제가 발생하는 인증서가 됩니다. 이 속성은 서비스에 여러 사용자 지정 호스트 이름을 사용하도록 설정하고 기본 ssl 인증서를 결정해야 하는 경우에 유용합니다. 이 설정은 프록시 호스트 이름 형식에만 적용됩니다. | bool |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
hostName | Api Management 서비스에서 구성할 호스트 이름입니다. | string(필수) |
keyVaultId | Ssl 인증서를 포함하는 KeyVault 비밀에 대한 URL입니다. 버전이 포함된 절대 URL이 제공되면 ssl 인증서의 자동 업데이트가 작동하지 않습니다. 이렇게 하려면 MSI를 사용하여 Api Management 서비스를 구성해야 합니다. 비밀은 application/x-pkcs12 |
문자열 |
negotiateClientCertificate | 호스트 이름에서 항상 클라이언트 인증서를 협상하려면 true를 지정합니다. 기본값은 false입니다. | bool |
형 | 호스트 이름 형식입니다. | 'Management' '포털' 'Proxy' 'Scm'(필수) |
Microsoft.ApiManagement/service
이름 | 묘사 | 값 |
---|---|---|
apiVersion | api 버전 | '2018-06-01-preview' |
신원 | Api Management 서비스의 관리 서비스 ID입니다. | ApiManagementServiceIdentity |
위치 | 리소스 위치입니다. | string(필수) |
이름 | 리소스 이름 | 문자열 제약 조건: 최소 길이 = 1 최대 길이 = 1 패턴 = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (필수) |
속성 | API Management 서비스의 속성입니다. | ApiManagementServiceProperties(필수) |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
형 | 리소스 종류 | 'Microsoft.ApiManagement/service' |
VirtualNetworkConfiguration
이름 | 묘사 | 값 |
---|---|---|
subnetResourceId | API Management 서비스를 배포할 가상 네트워크에 있는 서브넷의 전체 리소스 ID입니다. | 문자열 제약 조건: 패턴 = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.
템플렛 | 묘사 |
---|---|
내부 API Management 및 Web App 사용하여 Application Gateway Azure |
Azure Web App에서 호스트되는 웹 API를 서비스하는 가상 네트워크(내부 모드) API Management 인스턴스로 인터넷 트래픽을 라우팅하는 Application Gateway입니다. |
다중region Premium 계층 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 추가 위치가 있는 API Management 인스턴스를 만드는 방법을 보여 줍니다. 기본 위치는 리소스 그룹의 위치와 동일합니다. 추가 위치의 경우 템플릿은 NorthCentralUs 및 미국 동부 2를 표시합니다. 기본 위치는 추가 위치와 달라야 합니다. |
템플릿 사용하여 API Management 인스턴스 및 모든 하위 리소스 만들기 Azure 배포 |
이 템플릿은 API Management 서비스를 만들고 하위 엔터티를 구성하는 방법을 보여 줍니다. |
MSI ID가 있는 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 MSI ID가 있는 Azure API Management의 개발자 인스턴스를 만듭니다. |
템플릿 사용하여 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 Azure API Management의 개발자 인스턴스를 만듭니다. |
사용자 지정 호스트 이름이 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 포털에 대한 사용자 지정 호스트 이름 및 프록시에 대한 여러 사용자 지정 호스트 이름을 사용하여 Azure API Management의 인스턴스를 만드는 방법을 보여 줍니다. |
프라이빗 엔드포인트 사용하여 API Management 서비스 만들기 Azure 배포 |
이 템플릿은 API Management 서비스, 가상 네트워크 및 가상 네트워크에 API Management 서비스를 노출하는 프라이빗 엔드포인트를 만듭니다. |
KeyVault SSL을 사용하여 API Management 서비스 만들기 Azure 배포 |
이 템플릿은 사용자 할당 ID로 구성된 API Management 서비스를 배포합니다. 이 ID를 사용하여 KeyVault에서 SSL 인증서를 가져오고 4시간마다 확인하여 업데이트를 유지합니다. |
API Management 인스턴스 만들기 및 모니터링 Azure 배포 |
이 템플릿은 Azure API Management 서비스 및 Log Analytics 작업 영역의 인스턴스를 만들고 Log Analytics를 사용하여 API Management 서비스에 대한 모니터링을 설정합니다. |
App Gateway 사용하여 내부 VNet에서 API Management 만들기 Azure 배포 |
이 템플릿은 Azure Application Gateway로 보호되는 프라이빗 네트워크에서 Azure API Management 인스턴스를 만드는 방법을 보여 줍니다. |
KeyVault 사용하여 사용자 지정 프록시 ssl을 사용하여 API Management 만들기 Azure 배포 |
이 템플릿은 Azure API Management의 인스턴스를 만들고 keyvault의 ssl 인증서를 사용하여 프록시에 대한 사용자 지정 호스트 이름을 구성하는 방법을 보여 줍니다. |
Azure API Management 앞에서 Azure Front Door 만들기 Azure 배포 |
이 샘플에서는 Azure API Management 앞에서 Azure Front Door를 전역 부하 분산 장치로 사용하는 방법을 보여 줍니다. |
공용 IP 사용하여 외부 VNet에 API Management 배포 Azure |
이 템플릿은 외부 모드에서 가상 네트워크의 서브넷 내에서 프리미엄 계층에서 Azure API Management 인스턴스를 만들고 서브넷에서 권장되는 NSG 규칙을 구성하는 방법을 보여 줍니다. 인스턴스는 두 가용성 영역에 배포됩니다. 또한 템플릿은 구독에서 공용 IP 주소를 구성합니다. |
공용 IP 사용하여 내부 VNet에 API Management 배포 Azure 배포 |
이 템플릿은 내부 모드에서 가상 네트워크의 서브넷 내에서 프리미엄 계층에서 Azure API Management 인스턴스를 만들고 서브넷에서 권장되는 NSG 규칙을 구성하는 방법을 보여 줍니다. 인스턴스는 두 가용성 영역에 배포됩니다. 또한 템플릿은 구독에서 공용 IP 주소를 구성합니다. |
가용성 영역 API Management 배포 Azure |
이 템플릿은 Azure API Management의 프리미엄 인스턴스를 만들고 가용성 영역에 배포합니다. |
외부 Azure Cache for Redis 사용하여 API Management 배포 Azure |
이 템플릿은 외부 Azure Cache for Redis 인스턴스를 API Management 외부 캐시로 사용하여 소비 계층에서 Azure API Management 인스턴스를 만드는 방법을 보여 줍니다. |
API Management 원본 사용하여 Front Door 표준/프리미엄 Azure |
이 템플릿은 Front Door Premium 및 API Management 인스턴스를 만들고 NSG 및 전역 API Management 정책을 사용하여 트래픽이 Front Door 원본을 통해 들어왔다는 것을 확인합니다. |
Terraform(AzAPI 공급자) 리소스 정의
다음을 대상으로 하는 작업으로 서비스 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ApiManagement/서비스 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service@2018-06-01-preview"
name = "string"
identity = {
type = "string"
}
location = "string"
sku = {
capacity = int
name = "string"
}
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
additionalLocations = [
{
location = "string"
sku = {
capacity = int
name = "string"
}
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
}
]
certificates = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
encodedCertificate = "string"
storeName = "string"
}
]
customProperties = {
{customized property} = "string"
}
hostnameConfigurations = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
defaultSslBinding = bool
encodedCertificate = "string"
hostName = "string"
keyVaultId = "string"
negotiateClientCertificate = bool
type = "string"
}
]
notificationSenderEmail = "string"
publisherEmail = "string"
publisherName = "string"
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
virtualNetworkType = "string"
}
})
}
속성 값
AdditionalLocation
이름 | 묘사 | 값 |
---|---|---|
위치 | Azure 데이터 센터 지역 간의 추가 지역의 위치 이름입니다. | string(필수) |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
virtualNetworkConfiguration | 위치에 대한 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
ApiManagementServiceBasePropertiesCustomProperties
이름 | 묘사 | 값 |
---|
ApiManagementServiceIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | ID 형식입니다. 현재 지원되는 유일한 형식은 'SystemAssigned'입니다. | 'SystemAssigned'(필수) |
ApiManagementServiceProperties
이름 | 묘사 | 값 |
---|---|---|
additionalLocations | API Management 서비스의 추가 데이터 센터 위치입니다. | AdditionalLocation[] |
인증서 | API Management 서비스에 설치해야 하는 인증서 목록입니다. 설치할 수 있는 지원되는 최대 인증서는 10개입니다. | CertificateConfiguration[] |
customProperties | API Management 서비스의 사용자 지정 속성입니다.
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 설정하면 모든 TLS(1.0, 1.1 및 1.2)에 대한 암호화 TLS_RSA_WITH_3DES_EDE_CBC_SHA 비활성화됩니다.
Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 설정은 TLS 1.1만 사용하지 않도록 설정하는 데 사용할 수 있으며 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 설정은 API Management 서비스에서 TLS 1.0을 사용하지 않도록 설정하는 데 사용할 수 있습니다. |
ApiManagementServiceBasePropertiesCustomProperties |
hostnameConfigurations | API Management 서비스의 사용자 지정 호스트 이름 구성입니다. | hostnameConfiguration |
notificationSenderEmail | 알림을 보낼 전자 메일 주소입니다. | 문자열 제약 조건: 최대 길이 = |
publisherEmail | 게시자 전자 메일입니다. | 문자열 제약 조건: 최대 길이 = (필수) |
publisherName | 게시자 이름입니다. | 문자열 제약 조건: 최대 길이 = (필수) |
virtualNetworkConfiguration | API Management 서비스의 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
virtualNetworkType | API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다. | 'External' 'Internal' 'None' |
ApiManagementServiceSkuProperties
이름 | 묘사 | 값 |
---|---|---|
용량 | SKU의 용량(SKU의 배포된 단위 수)입니다. 기본값은 1입니다. | int |
이름 | Sku의 이름입니다. | '기본' '소비' '개발자' '프리미엄' 'Standard'(필수) |
ApimResourceTags
이름 | 묘사 | 값 |
---|
CertificateConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
storeName | System.Security.Cryptography.x509certificates.StoreName 인증서 저장소 위치입니다. 루트 및 CertificateAuthority만 유효한 위치입니다. | 'CertificateAuthority' 'Root'(필수) |
CertificateInformation
이름 | 묘사 | 값 |
---|---|---|
만료 | 인증서의 만료 날짜입니다. 날짜는 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식을 준수합니다. |
string(필수) |
제목 | 인증서의 주체입니다. | string(필수) |
지문 | 인증서의 지문입니다. | string(필수) |
HostnameConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
defaultSslBinding | 이 호스트 이름과 연결된 인증서를 기본 SSL 인증서로 설정하려면 true를 지정합니다. 클라이언트가 SNI 헤더를 보내지 않으면 이 문제가 발생하는 인증서가 됩니다. 이 속성은 서비스에 여러 사용자 지정 호스트 이름을 사용하도록 설정하고 기본 ssl 인증서를 결정해야 하는 경우에 유용합니다. 이 설정은 프록시 호스트 이름 형식에만 적용됩니다. | bool |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
hostName | Api Management 서비스에서 구성할 호스트 이름입니다. | string(필수) |
keyVaultId | Ssl 인증서를 포함하는 KeyVault 비밀에 대한 URL입니다. 버전이 포함된 절대 URL이 제공되면 ssl 인증서의 자동 업데이트가 작동하지 않습니다. 이렇게 하려면 MSI를 사용하여 Api Management 서비스를 구성해야 합니다. 비밀은 application/x-pkcs12 |
문자열 |
negotiateClientCertificate | 호스트 이름에서 항상 클라이언트 인증서를 협상하려면 true를 지정합니다. 기본값은 false입니다. | bool |
형 | 호스트 이름 형식입니다. | 'Management' '포털' 'Proxy' 'Scm'(필수) |
Microsoft.ApiManagement/service
이름 | 묘사 | 값 |
---|---|---|
신원 | Api Management 서비스의 관리 서비스 ID입니다. | ApiManagementServiceIdentity |
위치 | 리소스 위치입니다. | string(필수) |
이름 | 리소스 이름 | 문자열 제약 조건: 최소 길이 = 1 최대 길이 = 1 패턴 = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (필수) |
속성 | API Management 서비스의 속성입니다. | ApiManagementServiceProperties(필수) |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. |
형 | 리소스 종류 | "Microsoft.ApiManagement/service@2018-06-01-preview" |
VirtualNetworkConfiguration
이름 | 묘사 | 값 |
---|---|---|
subnetResourceId | API Management 서비스를 배포할 가상 네트워크에 있는 서브넷의 전체 리소스 ID입니다. | 문자열 제약 조건: 패턴 = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |