참조: 자체 호스팅 게이트웨이 Azure Arc 구성 설정
적용 대상: 개발자 | 프리미엄
이 문서에서는 API Management 자체 호스팅 게이트웨이 컨테이너에 대한 Azure Arc 확장을 구성하는 데 사용되는 필수 및 선택적 설정에 대한 참조를 제공합니다.
Important
Azure Arc의 API Management 자체 호스팅 게이트웨이는 현재 미리 보기로 제공됩니다. 미리 보기 중에는 다음 지역에서 API Management 게이트웨이 확장을 사용할 수 있습니다.
- 아시아(동부, 남동부)
- 오스트레일리아(중부, 중부 2, 동부 및 남동부)
- 브라질(남부 및 남동부)
- 캐나다(중부, 동부)
- 유럽(북부, 서부)
- 프랑스(중부 및 남부)
- 독일(북부 및 중서부)
- 인도(중부, 남부, 서부, Jio 중부 및 Jio 서부)
- 일본(동부 및 서부)
- 한국(중부 및 남부)
- 노르웨이(동부 및 서부)
- 남아프리카(북부 및 서부)
- 스웨덴(중부)
- 스위스(북부 및 서부)
- 아랍에미리트(UAE - 중부 및 북부)
- 영국(UK - 남부)
- 미국(US - 중부, 중부 EUAP, 동부, 동부 2, 동부 2 EUAP, 중북부, 중남부, 중서부, 서부, 서부 2, 서부 3)
구성 API 통합
구성 API는 사용하도록 설정된 경우 자체 호스팅 게이트웨이에서 Azure API Management에 연결하여 최신 구성을 가져오고 메트릭을 보내는 데 사용됩니다.
모든 구성 옵션에 대한 개요는 다음과 같습니다.
속성 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
gateway.configuration.uri |
자체 호스팅 게이트웨이에 대한 Azure API Management의 구성 엔드포인트입니다. Azure Portal의 게이트웨이>배포에서 이 값을 찾습니다. | 예 | 해당 없음 |
gateway.auth.token |
Azure API Management 서비스에 인증할 인증 키입니다. 일반적으로 GatewayKey 로 시작합니다. |
예 | 해당 없음 |
gateway.configuration.backup.enabled |
사용하도록 설정하면 스토리지 볼륨에 다운로드한 최신 구성의 백업 복사본이 저장됩니다. | false |
|
gateway.configuration.backup.persistentVolumeClaim.accessMode |
PVC(영구 볼륨 클레임) Pod에 대한 액세스 모드 | ReadWriteMany |
|
gateway.configuration.backup.persistentVolumeClaim.size |
만들 PVC(영구 볼륨 클레임)의 크기 | 50Mi |
|
gateway.configuration.backup.persistentVolumeClaim.storageClassName |
PVC(영구 볼륨 클레임)에 사용할 스토리지 클래스 이름입니다. 값이 할당되지 않은 경우(null ) 플랫폼 기본값이 사용됩니다. 지정된 스토리지 클래스는 액세스 모드를 지원 ReadWriteMany 해야 하며 지원되는 볼륨 공급자 및 지원되는 액세스 모드에 대해 자세히 알아봅니다. |
null |
인스턴스 간 검색 및 동기화
속성 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
service.instance.heartbeat.port |
하트비트를 다른 인스턴스로 보내기 위해 자체 호스팅 게이트웨이 배포 인스턴스에 사용되는 UDP 포트입니다. | 아니요 | 4291 |
service.instance.synchronization.port |
여러 인스턴스에서 속도 제한을 동기화하기 위해 자체 호스팅 게이트웨이 인스턴스에 사용되는 UDP 포트입니다. | 아니요 | 4290 |
메트릭
이름 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
telemetry.metrics.cloud |
Azure Monitor로 메트릭을 내보내도록 사용 설정 여부를 나타냅니다. | 아니요 | true |
telemetry.metrics.local |
StatsD를 통해 로컬 메트릭 수집을 사용하도록 설정합니다. 값은 none , statsd 옵션 중 하나입니다. |
아니요 | 해당 없음 |
telemetry.metrics.localStatsd.endpoint |
StatsD 엔드포인트. | telemetry.metrics.local 이 statsd 로 설정된 경우 예, 그렇지 않으면 아니요입니다. |
해당 없음 |
telemetry.metrics.localStatsd.sampling |
StatsD 메트릭 샘플링 속도. 값은 0과 1 사이여야 합니다(예: 0.5). | 아니요 | 해당 없음 |
telemetry.metrics.localStatsd.tagFormat |
StatsD 내보내기 태그 지정 형식. 값은 ibrato , dogStatsD , influxDB 옵션 중 하나입니다. |
아니요 | 해당 없음 |
telemetry.metrics.opentelemetry.enabled |
Kubernetes에서 OpenTelemetry 수집기로 메트릭 내보내기를 사용할지 여부를 나타냅니다. | 아니요 | false |
telemetry.metrics.opentelemetry.collector.uri |
메트릭을 보낼 OpenTelemetry 수집기의 URI입니다. | observability.opentelemetry.enabled 이 true 로 설정된 경우 예, 그렇지 않으면 아니요입니다. |
해당 없음 |
로그
속성 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
telemetry.logs.std |
표준 스트림에 로깅을 사용하도록 설정합니다. 값은 none , text , json 옵션 중 하나입니다. |
아니요 | text |
telemetry.logs.local |
로컬 로깅을 사용하도록 설정합니다. 값은 none , auto , localsyslog , rfc5424 , journal , json 옵션 중 하나입니다. |
아니요 | auto |
telemetry.logs.localConfig.localsyslog.endpoint |
로컬 syslogs에 대한 엔드포인트 | telemetry.logs.local 이 localsyslog 로 설정된 경우 예, 그렇지 않으면 아니요입니다. |
해당 없음 |
telemetry.logs.localConfig.localsyslog.facility |
로컬 syslog 기능 코드(예 7 : .)를 지정합니다. |
아니요 | 해당 없음 |
telemetry.logs.localConfig.rfc5424.endpoint |
rfc5424 엔드포인트. | telemetry.logs.local 이 rfc5424 로 설정된 경우 예, 그렇지 않으면 아니요입니다. |
해당 없음 |
telemetry.logs.localConfig.rfc5424.facility |
rfc5424당 시설 코드(예: 7 ) |
아니요 | 해당 없음 |
telemetry.logs.localConfig.journal.endpoint |
저널 엔드포인트. | telemetry.logs.local 이 journal 로 설정된 경우 예, 그렇지 않으면 아니요입니다. |
해당 없음 |
트래픽 라우팅
속성 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
service.type |
게이트웨이를 노출하는 데 사용할 Kubernetes 서비스의 유형입니다. (문서) | 아니요 | ClusterIP |
service.http.port |
HTTP 트래픽을 노출하는 데 사용할 포트입니다. | 아니요 | 8080 |
service.http.nodePort |
HTTP 트래픽을 노출하는 데 사용할 노드의 포트입니다. 이를 위해서는 NodePort 서비스 유형으로 필요합니다. |
아니요 | 해당 없음 |
service.https.port |
HTTPS 트래픽을 노출하는 데 사용할 포트입니다. | 아니요 | 8081 |
service.https.nodePort |
HTTPS 트래픽을 노출하는 데 사용할 노드의 포트입니다. 이를 위해서는 NodePort 서비스 유형으로 필요합니다. |
아니요 | 해당 없음 |
service.annotations |
게이트웨이에 대한 Kubernetes 서비스에 추가할 주석입니다. | 아니요 | 해당 없음 |
ingress.annotations |
게이트웨이에 대한 Kubernetes 수신에 추가할 주석입니다. (실험적) | 아니요 | 해당 없음 |
ingress.enabled |
Kubernetes 수신을 사용해야 하는지 여부를 나타냅니다. (실험적) | 아니요 | false |
ingress.tls |
Kubernetes 수신에 대한 TLS 구성입니다. (실험적) | 아니요 | 해당 없음 |
ingress.hosts |
Kubernetes 수신에 사용할 호스트의 구성입니다. (실험적) | 아니요 | 해당 없음 |
통합
자체 호스팅 게이트웨이는 다양한 다른 기술과 통합됩니다. 이 섹션에서는 사용할 수 있는 구성 옵션에 대한 개요를 제공합니다.
Dapr
속성 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
dapr.enabled |
Dapr 통합을 사용해야 하는지 여부를 나타냅니다. | 아니요 | false |
dapr.app.id |
Dapr 통합에 사용할 애플리케이션 ID | None | |
dapr.config |
어떤 구성 CRD Dapr을 사용해야 하는지 정의합니다. | tracing |
|
dapr.logging.level |
Dapr 사이드카의 로그 세부 정보 수준 | info |
|
dapr.logging.useJsonOutput |
로깅이 JSON 형식이어야 하는지 여부 표시 | true |
Azure Monitor
속성 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
monitoring.customResourceId |
로그를 보낼 Azure Log Analytics 작업 영역의 리소스 ID입니다. | 아니요 | 해당 없음 |
monitoring.ingestionKey |
로그를 보낼 Azure Log Analytics 작업 영역에서 인증할 수집 키입니다. | 아니요 | 해당 없음 |
monitoring.workspaceId |
로그를 보낼 Azure Log Analytics 작업 영역의 작업 영역 ID입니다. | 아니요 | 해당 없음 |
이미지 및 워크로드 예약
Kubernetes는 배포해야 하는 작업과 예약 방법에 많은 유연성을 제공하는 강력한 오케스트레이션 플랫폼입니다.
이 섹션에서는 사용되는 이미지에 영향을 주는 데 사용할 수 있는 사용 가능한 구성 옵션, 이미지를 예약하고 자체 복구하도록 구성하는 방법에 대해 간략하게 설명합니다.
속성 | 설명 | 필수 항목 | 기본값 |
---|---|---|---|
replicaCount |
실행할 자체 호스팅 게이트웨이의 인스턴스 수입니다. | 아니요 | 3 |
image.repository |
실행할 이미지입니다. | 아니요 | mcr.microsoft.com/azure-api-management/gateway |
image.pullPolicy |
컨테이너 이미지를 끌어당기는 데 사용할 정책입니다. | 아니요 | IfNotPresent |
image.tag |
사용할 컨테이너 이미지 태그입니다. | 아니요 | 앱 버전의 확장이 사용됩니다. |
imagePullSecrets |
컨테이너 이미지를 끌어오면 컨테이너 레지스트리를 사용하여 인증하는 데 사용할 Kubernetes 비밀입니다. | 아니요 | 해당 없음 |
probes.readiness.httpGet.path |
컨테이너의 준비 프로브에 사용할 URI 경로 | 아니요 | /status-0123456789abcdef |
probes.readiness.httpGet.port |
컨테이너의 활동성 프로브에 사용할 포트 | 아니요 | http |
probes.liveness.httpGet.path |
컨테이너의 활동성 프로브에 사용할 URI 경로 | 아니요 | /status-0123456789abcdef |
probes.liveness.httpGet.port |
컨테이너의 활동성 프로브에 사용할 포트 | 아니요 | http |
highAvailability.enabled |
클러스터에서 게이트웨이를 고가용성으로 예약해야 하는지 여부를 나타냅니다. | 아니요 | false |
highAvailability.disruption.maximumUnavailable |
자발적 중단으로 인해 사용할 수 없는 Pod의 양입니다. | 아니요 | 25% |
highAvailability.podTopologySpread.whenUnsatisfiable |
요구 사항을 충족할 수 없는 경우 노드 간에 Pod를 분산하는 방법을 표시합니다. Kubernetes 문서에서 자세히 알아보기 | 아니요 | ScheduleAnyway |
resources |
게이트웨이에 할당할 CPU/메모리 리소스를 정의하는 기능 | 아니요 | 해당 없음 |
nodeSelector |
선택기를 사용하여 게이트웨이가 실행되어야 하는 노드를 식별하는 기능입니다. | 아니요 | 해당 없음 |
affinity |
Pod 예약에 대한 선호도(문서) | 아니요 | 해당 없음 |
tolerations |
Pod 예약에 대한 관용(문서) | 아니요 | 해당 없음 |
다음 단계
- 프로덕션의 Kubernetes에서 자체 호스팅 게이트웨이 실행 참고 자료에 관한 자세한 정보
- Docker에 자체 호스팅 게이트웨이 배포
- Kubernetes에 자체 호스팅 게이트웨이 배포
- Azure Arc 지원 Kubernetes 클러스터에 자체 호스팅 게이트웨이 배포
- 자체 호스팅 게이트웨이에서 Dapr 지원 사용
- 자체 호스팅 게이트웨이 컨테이너 이미지에 대한 구성 옵션에 대해 자세히 알아보기