Azure Spring Apps에서 수신 구성 사용자 지정

이 문서의 적용 대상: ✔️ 기본/표준 ✔️ 엔터프라이즈

이 문서에서는 Azure Portal 및 Azure CLI를 사용하여 Azure Spring Apps에서 애플리케이션의 수신 설정을 지정하고 업데이트하는 방법을 보여 줍니다.

Azure Spring Apps 서비스는 기본 수신 컨트롤러를 사용하여 애플리케이션 트래픽 관리를 처리합니다. 사용자 지정을 위해 다음 수신 설정이 지원됩니다.

이름 수신 설정 기본값 유효 범위 설명
ingress-read-timeout proxy-read-timeout 300 [1,1800] 프록시 서버에서 응답을 읽기 위한 제한 시간(초)입니다.
ingress-send-timeout proxy-send-timeout 60 [1,1800] 프록시 서버로 요청을 전송하기 위한 제한 시간(초)입니다.
session-affinity affinity 없음 세션, 없음 요청이 이전 요청에 응답한 동일한 Pod 복제본으로 전달되는 선호도 형식입니다. 세션 선호도를 사용하려면 session-affinity를 쿠키로 설정합니다. 포털에서만 세션 선호도 사용 상자를 선택해야 합니다.
session-max-age session-cookie-max-age 0 [0, 604800] Max-Age 쿠키 지시문에 해당하는 쿠키가 만료될 때까지의 시간(초)입니다. session-max-age를 0으로 설정하면 만료 기간은 브라우저 세션 기간과 동일합니다.
backend-protocol backend-protocol 기본값 기본값, GRPC 백 엔드 프로토콜을 설정하여 NGINX가 백 엔드 서비스와 통신하는 방법을 나타냅니다. 기본값은 HTTP/HTTPS/WebSocket을 의미합니다. backend-protocol 설정은 클라이언트-앱 트래픽에만 적용됩니다. 동일한 서비스 인스턴스 내의 앱 간 트래픽의 경우 backend-protocol 설정을 수정하지 않고 앱 간 트래픽에 대한 프로토콜을 선택합니다. 프로토콜은 동일한 서비스 인스턴스 내에서 앱 간 트래픽에 대한 프로토콜 선택을 제한하지 않습니다.

필수 구성 요소

  • Azure 구독 Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

  • Azure Spring Apps 확장을 사용하는 Azure CLI. 다음 명령을 사용하여 이전 버전을 제거하고 최신 확장을 설치합니다. 이전에 spring-cloud 확장을 설치한 경우 구성 및 버전 불일치를 방지하기 위해 제거합니다.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    

수신 구성 설정

만들 때 다음 Azure CLI 명령을 사용하여 수신 구성을 설정합니다.

az spring app create \
    --resource-group <resource-group-name> \
    --service <service-name> \
    --name <service-name> \
    --ingress-read-timeout 300 \
    --ingress-send-timeout 60 \
    --session-affinity Cookie \
    --session-max-age 1800 \
    --backend-protocol Default \

이 명령은 다음 설정으로 앱을 만듭니다.

  • 수신 읽기 제한 시간: 300초
  • 수신 전송 제한 시간: 60초
  • 세션 선호도: 쿠키
  • 세션 쿠키 최대 기간: 1800초
  • 백 엔드 프로토콜: 기본값

기존 앱의 수신 설정 업데이트

다음 단계에서 기존 서비스 인스턴스에서 호스트하는 애플리케이션에 대한 수신 설정을 업데이트합니다.

  1. Azure Spring Apps 인스턴스가 포함된 Azure 구독과 연결된 계정을 사용하여 포털에 로그인합니다.

  2. 창으로 이동한 다음 구성하려는 앱을 선택합니다.

  3. 구성 창으로 이동한 다음 수신 설정 탭을 선택합니다.

  4. 수신 설정을 업데이트한 다음 저장을 선택합니다.

    Screenshot of Azure portal Configuration page showing the Ingress settings tab.

FAQ

  • gRPC를 어떻게 사용하도록 설정하나요?

    백 엔드 프로토콜을 GRPC로 설정합니다.

  • WebSocket을 사용하도록 설정하는 방법은 무엇인가요?

    백 엔드 프로토콜을 기본값으로 설정하면 WebSocket이 기본적으로 사용하도록 설정됩니다. WebSocket 연결 제한은 20000입니다. 해당 제한에 도달하면 연결이 실패합니다.

    WebSocket 기반의 RSocket을 사용할 수도 있습니다.

  • 수신 구성과 수신 설정의 차이점은 무엇인가요?

    수신 구성은 Azure CLI 및 SDK에서 계속 사용할 수 있으며 해당 설정은 서비스 인스턴스 내의 모든 앱에 적용됩니다. 수신 설정으로 앱이 구성되면 수신 구성이 영향을 미치지 않습니다. 향후 지원을 중단할 계획이므로 새 스크립트에서 수신 구성을 사용하지 않는 것이 좋습니다.

  • 수신 설정이 App Gateway/APIM과 함께 사용되는 경우 Azure Spring Apps 수신 및 App Gateway/APIM 모두에서 제한 시간을 설정하면 어떻게 되나요?

    더 짧은 시간 제한이 사용됩니다.

  • gRPC 또는 WebSocket에 대한 엔드투엔드 지원이 필요한 경우 App Gateway/APIM에 추가 구성이 필요하나요?

    App Gateway가 gRPC를 지원하는 한 추가 구성이 필요하지 않습니다.

  • 구성 가능한 포트가 지원되나요?

    구성 가능한 포트는 현재 지원되지 않습니다(80/443).

다음 단계