서비스 수준 목표(SLO) - Amazon CloudWatch

서비스 수준 목표(SLO)

Application Signals를 사용하여 중요한 비즈니스 운영 또는 종속성을 위한 서비스의 서비스 수준 목표를 생성할 수 있습니다. 이러한 서비스에 SLO를 생성하면 SLO 대시보드에서 SLO를 추적하여 가장 중요한 운영을 한눈에 파악할 수 있습니다.

운영자가 중요한 운영의 현재 상태를 확인하는 데 사용할 수 있는 빠른 뷰를 생성하는 것 외에도 SLO를 사용하여 서비스의 장기 성능을 추적하여 기대와 부합하는지 확인할 수 있습니다. 고객과 서비스 수준 계약을 체결한 경우 SLO는 이러한 조건을 충족할 수 있는 훌륭한 도구입니다.

SLO를 통해 서비스 상태를 평가하는 작업은 핵심 성능 지표인 서비스 수준 지표(SLI)를 기반으로 명확하고 측정 가능한 목표를 설정하는 것부터 시작됩니다. SLO는 설정된 임곗값 및 목표를 기준으로 SLI 성능을 추적하고 애플리케이션 성능이 임곗값에 얼마나 도달했는지 또는 얼마나 가까운지 보고합니다.

Application Signals는 주요 성능 지표에서 SLO를 설정하는 데 도움이 됩니다. Application Signals는 검색한 모든 서비스와 작업에 대한 LatencyAvailability 지표를 자동으로 수집합니다. 이들 지표는 SLI로 사용하기에 이상적인 경우가 많습니다. SLO 생성 마법사를 사용하면 이러한 지표를 SLO에 사용할 수 있습니다. 그런 다음, Application Signals 대시보드를 사용하여 모든 SLO의 상태를 추적할 수 있습니다.

서비스가 호출하거나 사용하는 특정 운영 또는 종속성에 대해 SLO를 설정할 수 있습니다. LatencyAvailability 지표를 사용하는 것 외에도 CloudWatch 지표 또는 지표 표현식을 SLI로 사용할 수 있습니다.

SLO를 생성하는 것은 CloudWatch Application Signals를 최대한 활용하는 데 매우 중요합니다. SLO를 생성한 후에는 Application Signals 콘솔에서 SLO의 상태를 확인하여 이러한 중요한 서비스와 작업 중 어떤 것이 잘 수행되고 있고 어떤 것이 비정상인지 빠르게 확인할 수 있습니다. 추적할 SLO가 있으면 다음과 같은 주요 이점이 있습니다.

  • 서비스 운영자는 SLI를 기준으로 측정된 중요 서비스의 현재 운영 상태를 더 쉽게 확인할 수 있습니다. 그러면 비정상 서비스와 작업을 신속하게 분류하고 식별할 수 있습니다.

  • 측정 가능한 비즈니스 목표를 기준으로 서비스 성과를 장기간 추적할 수 있습니다.

SLO를 설정할 대상을 선택하면 중요한 것에 우선순위를 둘 수 있습니다. Application Signals 대시보드에는 우선순위를 지정한 항목에 대한 정보가 자동으로 표시됩니다.

SLO를 생성할 때 CloudWatch 경보를 동시에 생성하여 SLO를 모니터링하도록 선택할 수도 있습니다. 임곗값 위반과 경고 수준을 모니터링하는 경보를 설정할 수 있습니다. 이러한 경보는 SLO 지표가 설정한 임곗값을 위반하거나 경고 임곗값에 가까워지면 자동으로 알려줄 수 있습니다. 예를 들어, SLO가 경고 임곗값에 가까워지면 팀이 장기 성능 목표를 달성하기 위해 애플리케이션 변동을 늦춰야 할 수도 있음을 알 수 있습니다.

SLO 개념

SLO에는 다음 구성 요소가 포함됩니다.

  • 사용자가 지정하는 주요 성능 지표인 서비스 수준 지표(SLI). 애플리케이션에 대해 원하는 성능 수준을 나타냅니다. Application Signals는 검색한 모든 서비스와 작업에 대한 주요 지표인 LatencyAvailability를 자동으로 수집합니다. 이들은 SLO를 설정하는 데 이상적인 지표인 경우가 많습니다.

    SLI에 사용할 임곗값을 선택합니다. 예를 들어, 지연 시간은 200ms입니다.

  • 각 시간 간격 동안 SLI가 임곗값을 충족할 것으로 예상되는 시간 또는 요청의 백분율인 목표 또는 달성 목표. 시간 간격은 짧게는 몇 시간 또는 길게는 1년일 수 있습니다.

    간격은 달력 간격 또는 연속 간격일 수 있습니다.

    • 달력 간격은 달력에 맞춰 조정됩니다(예: 매월 추적되는 SLO). CloudWatch는 한 달의 일수를 기준으로 상태, 예산 및 달성 수치를 자동으로 조정합니다. 달력 간격은 달력에 맞춰 측정되는 비즈니스 목표에 더 적합합니다.

    • 연속 간격은 순서대로 계산됩니다. 연속 간격은 애플리케이션의 최근 사용자 경험을 추적하는 데 더 적합합니다.

  • 기간은 더 짧으며 여러 기간이 간격을 구성합니다. 애플리케이션의 성능은 간격 내의 각 기간 동안 SLI와 비교됩니다. 각 기간에 대해 애플리케이션이 필요한 성능을 달성했는지 여부가 결정됩니다.

예를 들어, 달력 간격이 1일이고 기간이 1분인 상태에서 목표를 99%로 설정하면 애플리케이션이 하루 중 1분 기 중 99% 동안 성공 임곗값을 충족하거나 달성해야 합니다. 충족하거나 달성하면 해당 날짜의 SLO가 충족된 것입니다. 다음 날은 새로운 평가 간격이며, 애플리케이션은 둘째 날의 SLO를 충족하려면 둘째 날의 1분 기간 중 99% 동안 성공 임곗값을 충족하거나 달성해야 합니다.

SLI는 Application Signals에서 수집한 새로운 표준 애플리케이션 지표 중 하나를 기준으로 할 수 있습니다. 또는 임의의 CloudWatch 지표 또는 지표 표현식일 수 있습니다. SLI에 사용할 수 있는 표준 애플리케이션 지표는 LatencyAvailability입니다. Availability는 성공적인 응답을 총 요청으로 나눈 값을 나타냅니다. (1 - 장애 발생률)*100으로 계산되며, 여기서 장애 응답은 5xx 오류입니다. 성공 응답은 5XX 오류가 없는 응답입니다. 4XX 응답은 성공으로 처리됩니다.

기간 기반 SLO에 대한 오류 할당 및 달성 계산

SLO에 대한 정보를 보면 SLO의 현재 상태와 오류 할당을 확인할 수 있습니다. 오류 할당은 임곗값을 위반할 수 있지만 여전히 SLO를 충족할 수 있는 간격 내의 시간입니다. 총 오류 할당은 전체 간격 동안 허용될 수 있는 총 위반 시간입니다. 남은 오류 할당은 현재 간격 동안 허용할 수 있는 남은 위반 시간입니다. 이는 전체 오류 할당에서 이미 발생한 위반 시간을 뺀 값입니다.

다음 그림은 30일 간격, 1분 기간 및 99% 달성 목표를 가진 목표에 대한 달성 및 오류 할당 개념을 보여줍니다. 30일에는 43,200번의 1분 기간이 포함됩니다. 43,200분의 99%는 42,768분이므로 SLO를 충족하려면 해당 월의 42,768분이 정상이어야 합니다. 현재 간격에서 지금까지 1분 기간 중 130번이 비정상이었습니다.

SLO 간격의 총 기간과 이 SLO의 달성 및 오류 예산 수치를 보여주는 막대 차트 다이어그램입니다.

각 기간 내 성공 여부 판단

각 기간 내에서 SLI 데이터는 SLI에 사용된 통계를 기준으로 단일 데이터 포인트로 집계됩니다. 이 데이터 포인트는 기간의 전체 길이를 나타냅니다. 이 단일 데이터 포인트를 SLI 임곗값과 비교하여 기간이 정상인지 확인합니다. 대시보드에서 현재 시간 범위 중 비정상 기간을 확인하면 서비스 운영자에게 서비스를 분류해야 함을 알릴 수 있습니다.

기간이 비정상으로 확인되면 해당 기간 전체가 오류 할당에 대해 실패로 계산됩니다. 오류 할당을 추적하면 서비스가 장기간에 걸쳐 원하는 성능을 달성하고 있는지 알 수 있습니다.

기간 제외

기간 제외는 시작 및 종료 날짜가 정의된 시간 블록입니다. 이 기간은 SLO의 성능 지표에서 제외되며 일회성 또는 반복 시간 제외 기간을 예약할 수 있습니다. 예약된 유지 관리를 예로 들 수 있습니다.

참고
  • 기간 기반 SLO의 경우 제외 기간의 SLI 데이터는 비위반으로 간주됩니다.

  • 요청 기반 SLO의 경우 제외 기간의 모든 양호한 요청과 잘못된 요청은 제외됩니다.

  • 요청 기반 SLO의 간격이 완전히 제외되면 기본 달성률 지표인 100%가 게시됩니다.

  • 시작 날짜가 미래인 기간만 지정할 수 있습니다.

요청 기반 SLO에 대한 오류 할당 및 달성 계산

SLO를 생성한 후 이에 대한 오류 할당 보고서를 검색할 수 있습니다. 오류 할당은 애플리케이션이 SLO의 목표를 준수하지 않더라도 애플리케이션이 목표를 달성할 수 있는 요청의 양입니다. 요청 기반 SLO의 경우 나머지 오류 할당은 동적이며 총 요청 수에서 올바른 요청 수의 비율에 따라 증가하거나 감소할 수 있습니다.

다음 표는 간격이 5일이고 달성 목표가 85%인 요청 기반 SLO의 계산을 보여줍니다. 이 예에서는 1일차 이전에는 트래픽이 없다고 가정합니다. SLO는 10일차에 목표를 달성하지 못했습니다.

Time 전체 요청 잘못된 요청 지난 5일간 누적 총 요청 수 지난 5일간 누적 총 올바른 요청 수 요청 기반 달성 총 할당 요청 남은 할당 요청

1일차

10 1

10

9

9/10 = 90%

1.5

0.5

2일차

5

1

15

13

13/15=86%

2.3

0.3

3일차

1

1

16

13

13/16=81%

2.4

-0.6

4일차

24

0

40

37

37/40=92%

6.0

3.0

5일차

20

5

60

52

52/60=87%

9.0

1.0

6일차

6

2

56

47

47/56=84%

8.4

-0.6

7일차

10

3

61

50

50/61=82%

9.2

-1.8

8일차

15

6

75

59

59/75=79%

11.3

-4.7
9일차

12

1

63

46

46/63=73%

9.5

-7.5

10일차

5

57

40

40/57=70%

8.5

-8.5

지난 5일간의 최종 달성

70%

연소율 계산 및 선택적인 연소율 경보 설정

Application Signals를 사용하여 서비스 수준 목표의 연소율을 계산할 수 있습니다. 연소율은 서비스가 SLO의 달성 목표와 비교하여 오류 예산을 소비하는 속도를 나타내는 지표입니다. 이 수치는 기준 오류율의 배수로 표시됩니다.

연소율은 달성 목표에 따라 달라지는 기준 오류율에 따라 계산됩니다. 달성 목표는 SLO 목표를 달성하기 위해 달성해야 하는 정상 기간 또는 성공적인 요청을 백분율로 표현한 것입니다. 기준 오류율은 (100% - 달성 목표 백분율)이며, 이 숫자는 SLO의 시간 간격이 끝날 때 정확한 전체 오류 예산을 사용합니다. 따라서 달성 목표가 99%인 SLO의 기준 오류율은 1%입니다.

연소율을 모니터링하면 기준 오류율과 어느 정도 차이가 있는지 알 수 있습니다. 달성 목표 99%의 예를 다시 들면 다음과 같습니다.

  • 연소율 = 1: 연소율이 항상 기준 오류율로 정확히 유지되는 경우 SLO 목표를 정확하게 충족합니다.

  • 연소율 < 1: 연소율이 기준 오류율보다 낮으면 SLO 목표를 초과하도록 순조롭게 진행 중입니다.

  • 연소율 > 1: 연소율이 기준 오류율보다 높으면 SLO 목표에 실패할 가능성이 있습니다.

SLO의 연소율을 생성할 때 CloudWatch 경보를 동시에 생성하여 연소율을 모니터링하도록 선택할 수도 있습니다. 연소율의 임곗값을 설정할 수 있으며, 연소율 지표가 설정한 임곗값을 위반하면 경보가 자동으로 알려줍니다. 예를 들어, 연소율이 임곗값에 가까워지면 SLO가 팀에서 허용할 수 있는 수치보다 오류 예산을 빠르게 연소 중이며 팀이 장기 성능 목표를 달성하기 위해 애플리케이션 변동을 늦춰야 할 수도 있음을 알 수 있습니다.

경보를 생성하면 요금이 부과됩니다. CloudWatch 요금에 대한 자세한 내용은 Amazon CloudWatch 요금을 참조하세요.

연소율 계산

연소율을 계산하려면 룩백 기간을 지정해야 합니다. 룩백 기간은 오류율을 측정하는 기간입니다.

burn rate = error rate over the look-back window / (100% - attainment goal)

참고

연소율 기간에 대한 데이터가 없는 경우 Application Signals는 달성을 기반으로 연소율을 계산합니다.

오류율은 연소율 기간 동안의 총 이벤트 수에 대한 불량 이벤트 수의 비율로 계산됩니다.

  • 기간 기반 SLO의 경우 오류율은 불량한 기간을 총 기간으로 나눈 값으로 계산됩니다. 총 기간은 룩백 기간 동안의 전체 기간을 나타냅니다.

  • 요청 기반 SLO의 경우에는 잘못된 요청을 총 요청으로 나눈 값입니다. 총 요청 수는 룩백 기간 동안의 요청 수입니다.

룩백 기간은 SLO 기간의 배수여야 하며 SLO 간격보다는 작아야 합니다.

연소율 경보에 대한 적절한 임곗값 결정

연소율 경보를 구성할 때 연소율 값을 경보 임곗값으로 선택해야 합니다. 이 임곗값의 값은 SLO 간격 길이 및 룩백 기간에 따라 달라지며, 팀이 채택하려는 방법이나 멘탈 모델에 따라 달라집니다. 임곗값을 결정하는 데 주로 사용할 수 있는 두 가지 방법이 있습니다.

방법 1: 팀이 룩백 기간에 사용하려는 예상 총 오류 예산의 비율을 결정합니다.

예상 오류 예산의 X%가 최종 연소율 룩백 기간(시간) 내에 소비될 때 경보를 받으려면 연소율 임곗값은 다음과 같아야 합니다.

burn rate threshold = X% * SLO interval length / look-back window size

예를 들어, 1시간 이상 소요된 30일(720시간) 오류 예산의 5%에는 5% * 720 / 1 = 36의 연소율이 필요합니다. 따라서 연소율 룩백 기간이 1시간인 경우 연소율 임곗값을 36으로 설정합니다.

CloudWatch 콘솔을 사용하여 이 방법을 통한 연소율 경보를 생성할 수 있습니다. 숫자 X를 지정할 수 있으며 임곗값은 위의 공식을 사용하여 정해집니다.

SLO 간격 길이는 SLO 간격 유형에 따라 다음과 같이 정해집니다.

  • 롤링 간격을 사용하는 SLO의 경우 간격 길이 단위는 시간입니다.

  • 일정 기반 간격을 사용하는 SLO의 경우:

    • 단위가 일 또는 주인 경우 간격 길이 단위는 시간입니다.

    • 단위가 한 달인 경우 30일을 예상 길이로 하고 이를 시간으로 변환합니다.

방법 2: 다음 간격의 시간 단위 예산 소진 확인

가장 최근 룩백 기간의 현재 오류율을 통해 예산 소진까지의 시간이 X시간 미만(현재 남은 예산이 100%라고 가정)임이 파악될 시 경보를 통해 이를 알리도록 하려면 다음 공식을 사용하여 연소율 임곗값을 결정할 수 있습니다.

burn rate threshold = SLO interval length / X

위 공식에서 예산 소진까지의 시간(X)은 총 잔여 예산이 현재 100%라고 가정하므로 이 간격에 이미 사용된 예산 금액은 고려하지 않는다는 점을 분명히 밝힙니다. 또한 이를 다음 간격의 예산 소진까지의 시간으로 생각할 수 있습니다.

연소율 경보 연습

예를 들어 롤링 간격이 28일인 SLO를 살펴보겠습니다. 이 SLO에 대한 연소 속도 경보를 설정할 때는 다음 두 단계를 거칩니다.

  1. 연소율과 룩백 기간을 설정합니다.

  2. 연소율을 모니터링하는 CloudWatch 경보를 생성합니다.

시작하려면 서비스가 지정된 기간 내에 소비할 총 오류 예산의 양을 결정합니다. 즉, '총 오류 예산의 X%가 M분 이내에 소비되면 알림을 받기로 합니다'라는 문장을 사용하여 목표를 고정합니다.

예를 들어, 총 오류 예산의 2%가 60분 이내에 소비될 때 알림을 받도록 목표를 설정할 수 있습니다.

연소율을 설정하려면 먼저 룩백 기간을 정의해야 합니다. 룩백 기간은 M이며, 이 예제에서는 60분입니다.

다음으로 CloudWatch 경보를 생성합니다. 이때 연소율의 임곗값을 지정해야 합니다. 연소율이 이 임곗값을 초과하면 경보가 사용자에게 이를 알립니다. 임곗값을 찾으려면 다음 공식을 사용합니다.

burn rate threshold = X% * SLO interval length/ look-back window size

이 예제에서는 오류 예산의 2%가 60분 이내에 소비되는 경우 알림을 받기를 원하기 때문에 X는 2입니다. 간격 길이는 40,320분(28일)이고 60분은 룩백 기간이므로 결괏값은 다음과 같습니다.

burn rate threshold = 2% * 40,320 / 60 = 13.44.

이 예제에서는 13.44를 경보 임곗값으로 설정합니다.

기간이 서로 다른 여러 경보

룩백 기간이 여럿인 경보들을 설정하면 짧은 기간에 따라 급격한 오류율 증가를 빠르게 감지할 수 있으며, 동시에 눈에 띄지 않은 상태로 유지되면 결국 오류 예산 고갈로 이어질 더 작은 오류율 증가를 감지할 수 있습니다.

또한 장기 연소율과 단기 연소율(장기의 1/12)에 복합 경보를 설정할 수 있으며, 두 연소율이 모두 임곗값을 위반하는 경우에만 알림을 받을 수 있습니다. 이렇게 하면 여전히 발생하는 상황에 대해서만 알림을 받을 수 있습니다. CloudWatch의 복합 경보에 대한 자세한 내용은 경보 결합을(를) 참조하세요.

참고

연소율을 생성할 때 연소율에 대한 지표 경보를 설정할 수 있습니다. 다수의 연소율 경보에 대해 복합 경보를 하나만 설정하려면 복합 경보 생성의 지침을 사용해야 합니다.

Google Site 신뢰성 엔지니어링 워크북에서 권장하는 단일 복합 경보 전략은 세 가지 복합 경보입니다.

  • 하나는 기간이 한 시간이고 하나는 기간이 5분인 한 쌍으로 구성된 경보 쌍을 주시하는 단일 복합 경보입니다.

  • 하나는 기간이 여섯 시간이고 하나는 기간이 30분인 한 쌍으로 구성된 경보 쌍을 주시하는 두 번째 복합 경보입니다.

  • 하나는 기간이 3일이고 하나는 기간이 6시간인 한 쌍으로 구성된 경보 쌍을 주시하는 세 번째 복합 경보입니다.

이렇게 설정하기 위해서는 다음 단계를 거쳐야 합니다.

  1. 각각 기간이 5분, 30분, 1시간, 6시간, 3일인 연소율 다섯 개를 생성합니다.

  2. 다음 세 쌍의 CloudWatch 경보를 생성합니다. 각 쌍에는 장기간 1개와 장기간의 1/12에 해당하는 단기간이 1개 포함되며 임곗값은 연소율 경보에 대한 적절한 임곗값 결정의 단계를 사용하여 결정됩니다. 관련 쌍의 경보 각각에 임곗값을 계산할 때는 계산에서 해당 쌍의 장기간 값을 사용합니다.

    • 1시간 단위 연소율과 5분 단위 연소율에 대한 경보(임곗값은 총 예산의 2%로 결정됨)

    • 6시간 단위 연소율과 30분 단위 연소율에 대한 경보(임곗값은 총 예산의 5%로 결정됨)

    • 3일 단위 연소율과 6시간 단위 연소율에 대한 경보(임곗값은 총 예산의 10%로 결정됨)

  3. 이 세 쌍 각각에 대해 복합 경보를 생성하여 개별 경보 두 개가 모두 ALARM 상태가 될 때 알림을 받습니다. 복합 경보에 대한 자세한 내용은 복합 경보 생성을(를) 참조하세요.

    예를 들어, 첫 번째 쌍(1시간 단위 및 5분 단위 기간)에 대한 경보의 이름이 OneHourBurnRate과(와) FiveMinuteBurnRate인 경우 CloudWatch 복합 경보 규칙은 ALARM(OneHourBurnRate) AND ALARM(FiveMinuteBurnRate)이(가) 됩니다.

이전 전략은 간격 길이가 3시간 이상인 SLO에만 가능합니다. 간격 길이가 이보다 짧은 SLO의 경우 경보 하나의 룩백 기간이 다른 경보의 룩백 기간의 1/12인 한 쌍의 연소율 경보로 시작하는 것이 좋습니다. 그런 다음 이 쌍에 복합 경보를 설정합니다.

SLO 생성

중요한 애플리케이션의 지연 시간 및 가용성 SLO를 모두 설정하는 것이 좋습니다. Application Signals에서 수집한 이러한 지표는 일반적인 비즈니스 목표에 부합합니다.

CloudWatch 지표 또는 단일 시계열을 생성하는 지표 수학 표현식에 SLO를 설정할 수도 있습니다.

계정에서 처음으로 SLO를 생성할 때 CloudWatch는 (아직 없는 경우) 계정에 AWSServiceRoleForCloudWatchApplicationSignals 서비스 연결 역할을 자동으로 생성합니다. 이 서비스 연결 역할을 사용하여 CloudWatch Logs 데이터, X-Ray 추적 데이터, CloudWatch 지표 데이터, 태깅 데이터를 수집할 수 있습니다. CloudWatch 서비스 연결 역할에 대한 자세한 내용은 CloudWatch에 서비스 연결 역할 사용 섹션을 참조하세요.

SLO를 만들 때 기간 기반 SLO인지 요청 기반 SLO인지 지정합니다. 각 유형의 SLO는 달성 목표 대비 애플리케이션의 성과를 평가하는 방식이 다릅니다.

  • 기간 기반 SLO는 지정된 총 시간 간격 내에서 정의된 기간을 사용합니다. Application Signals는 각 기간에 대해 애플리케이션이 목표를 달성했는지 여부를 결정합니다. 달성률은 number of good periods/number of total periods로 계산됩니다.

    예를 들어, 기간 기반 SLO의 경우 99.9%의 달성 목표를 충족한다는 것은 해당 기간 내에 애플리케이션이 최소 99.9%의 기간 동안 성능 목표를 충족해야 한다는 의미입니다.

  • 요청 기반 SLO는 미리 정의된 기간을 사용하지 않습니다. 대신 SLO는 해당 기간 동안 number of good requests/number of total requests를 측정합니다. 언제든지 지정한 타임스탬프까지의 기간 동안 총 요청 수 대비 올바른 요청 수의 비율을 확인하고 이 비율을 SLO에 설정된 목표와 비교하여 측정할 수 있습니다.

기간 기반 SLO 생성

다음 절차에 따라 기간 기반 SLO를 생성합니다.

기간 기반 SLO를 생성하려면 다음을 수행하세요.
  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 서비스 수준 목표(SLO)를 선택합니다.

  3. SLO 생성을 선택합니다.

  4. SLO 이름을 입력합니다. 지연 시간 또는 가용성과 같은 적절한 키워드와 함께 서비스 또는 운영 이름을 포함하면 분류 중 SLO 상태가 무엇을 나타내는지 빠르게 식별할 수 있습니다.

  5. 서비스 수준 지표(SLI) 설정에서 다음 중 하나를 수행합니다.

    • 표준 애플리케이션 지표인 Latency 또는 Availability 중 하나에 SLO 설정

      1. 서비스 작업을 선택합니다.

      2. 이 SLO가 모니터링할 계정을 선택합니다.

      3. 이 SLO에서 모니터링할 서비스를 선택합니다.

      4. 이 SLO에서 모니터링할 작업을 선택합니다.

      5. 계산 방법 선택에서 기간을 선택합니다.

        서비스 선택작업 선택 드롭다운은 지난 24시간 동안 활성화된 서비스와 작업으로 채워집니다.

      6. 가용성 또는 지연 시간을 선택한 다음, 임곗값을 설정합니다.

    • 모든 CloudWatch 지표 또는 CloudWatch 지표 수학 표현식에 SLO 설정

      1. CloudWatch 지표를 선택합니다.

      2. CloudWatch 지표 선택을 선택합니다.

        지표 선택 화면이 나타납니다. 찾아보기 또는 쿼리 탭을 사용하여 원하는 지표를 찾거나 지표 수학 표현식을 생성합니다.

        원하는 지표를 선택한 후 그래프로 표시된 지표 탭을 선택하고 SLO에 사용할 통계기간을 선택합니다. 그런 다음 지표 선택을 선택합니다.

        이러한 화면에 대한 자세한 내용은 지표 그래프 작성CloudWatch 그래프에 수학 표현식 추가 섹션을 참조하세요.

      3. 계산 방법 선택에서 기간을 선택합니다.

      4. 조건 설정에서 성공 지표로 사용할 SLO의 비교 연산자와 임곗값을 선택합니다.

    • 표준 애플리케이션 지표인 Latency 또는 Availability 중 하나에 서비스 종속성에 대한 SLO 설정

      1. 서비스 종속성을 선택합니다.

      2. 서비스 선택에서 이 SLO가 모니터링할 서비스를 선택합니다.

      3. 선택한 서비스에 따라 작업 선택에서 특정 작업을 하나 선택하거나, 모든 작업을 선택하여 종속성을 호출하는 이 서비스의 모든 작업에서 지표를 사용할 수 있습니다.

      4. 종속성 선택에서 신뢰성을 측정할 필수 종속성을 검색하고 선택할 수 있습니다.

        종속성을 선택한 후 종속성을 기반으로 업데이트된 그래프와 기록 데이터를 볼 수 있습니다.

  6. 5단계에서 서비스 작업 또는 서비스 종속성을 선택한 경우 이 SLO의 기간 길이를 설정합니다.

  7. SLO의 간격달성 목표를 설정합니다. 간격 및 달성 목표와 이 둘의 상호 작용 방식에 대한 자세한 내용은 SLO 개념 섹션을 참조하세요.

  8. (선택 사항) SLO 연소율 설정과 관련하여 다음을 수행합니다.

    • 연소율에 대한 룩백 기간의 길이를 분 단위로 설정합니다. 이 길이를 선택하는 자세한 방법은 연소율 경보 연습을(를) 참조합니다.

    • 이 SLO에 대해 연소율을 더 생성하려면 연소율을 더 추가를 선택하고 추가 연소율에 대한 룩백 기간을 설정합니다.

  9. (선택 사항) 다음을 수행하여 연소율 경보를 생성합니다.

    • 연소율 경보 설정에서 경보를 생성하려는 각 연소율의 확인란을 선택합니다. 경보 각각에 다음을 수행합니다.

      • 경보가 ALARM 상태가 될 때 알림에 사용할 Amazon SNS 주제를 지정합니다.

      • 연소율 임곗값을 설정하거나 아래에 유지하려는 마지막 룩백 기간에 연소된 총 예산 추정치의 비율을 지정합니다. 연소된 총 예산 추정치의 비율을 설정하면 연소율 임곗값이 계산되어 경보에 사용됩니다. 설정할 임곗값을 결정하거나 이 옵션을 사용하여 연소율 임곗값을 계산하는 방법을 이해하려면 연소율 경보에 대한 적절한 임곗값 결정을(를) 참조하세요.

  10. (선택 사항) SLO에 대해 하나 이상의 CloudWatch 경보 또는 경고 임곗값을 설정합니다.

    1. CloudWatch 경보는 Amazon SNS를 사용하여 SLI 성능을 기준으로 애플리케이션이 비정상일 경우 사전에 알릴 수 있습니다.

      경보를 생성하려면 경보 확인란 중 하나를 선택하고 경보가 ALARM 상태가 될 때 알림에 사용할 Amazon SNS 주제를 입력하거나 생성합니다. CloudWatch 경보에 대한 자세한 내용은 Amazon CloudWatch 경보 사용 섹션을 참조하세요. 경보를 생성하면 요금이 부과됩니다. CloudWatch 요금에 대한 자세한 내용은 Amazon CloudWatch 요금을 참조하세요.

    2. 경고 임곗값을 설정하면 Application Signals 화면에 표시되어 현재 정상이더라도 충족되지 않을 위험이 있는 SLO를 식별하는 데 도움이 됩니다.

      경고 임곗값을 설정하려면 경고 임곗값에 임곗값을 입력합니다. SLO의 오류 할당이 경고 임곗값보다 낮으면 여러 Application Signals 화면에 SLO가 경고로 표시됩니다. 경고 임곗값은 오류 할당 그래프에도 표시됩니다. 경고 임곗값을 기준으로 하는 SLO 경고 경보를 생성할 수도 있습니다.

  11. (선택 사항) SLO 기간 제외 설정에서 다음을 수행합니다.

    • 기간 제외에서 SLO 성능 지표에서 제외할 기간을 설정합니다.

      기간 설정을 선택하고 매시간 또는 매월의 시작 기간을 입력하거나, CRON으로 기간 설정을 선택하고 CRON 표현식을 입력할 수 있습니다.

    • 반복에서 이 기간 제외를 반복할지 여부를 설정합니다.

    • (선택 사항) 이유 추가에서 기간 제외 이유를 입력하도록 선택할 수 있습니다. 예약된 유지 관리를 예로 들 수 있습니다.

    • 기간 추가를 선택하여 최대 10개의 시간 제외 기간을 추가합니다.

  12. 이 SLO에 태그를 추가하려면 태그 탭을 선택한 다음, 새 태그 추가를 선택합니다. 태그를 사용하면 리소스를 손쉽게 관리, 식별, 정리, 검색 및 필터링할 수 있습니다. 태그 지정에 대한 자세한 내용은 AWS 리소스 태그 지정을 참조하세요.

    참고

    이 SLO와 관련된 애플리케이션이 AWS Service Catalog AppRegistry에 등록된 경우 awsApplication 태그를 사용하여 이 SLO를 AppRegistry의 해당 애플리케이션과 연결할 수 있습니다. 자세한 내용은 What is AppRegistry?를 참조하세요.

  13. SLO 생성을 선택합니다. 경보를 하나 이상 생성하도록 선택한 경우 이를 반영하기 위해 버튼 이름이 변경됩니다.

요청 기반 SLO 생성

다음 절차에 따라 요청 기반 SLO를 생성합니다.

요청 기반 SLO를 생성하려면 다음을 수행하세요.
  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 서비스 수준 목표(SLO)를 선택합니다.

  3. SLO 생성을 선택합니다.

  4. SLO 이름을 입력합니다. 지연 시간 또는 가용성과 같은 적절한 키워드와 함께 서비스 또는 운영 이름을 포함하면 분류 중 SLO 상태가 무엇을 나타내는지 빠르게 식별할 수 있습니다.

  5. 서비스 수준 지표(SLI) 설정에서 다음 중 하나를 수행합니다.

    • 표준 애플리케이션 지표인 Latency 또는 Availability 중 하나에 SLO 설정

      1. 서비스 작업을 선택합니다.

      2. 이 SLO에서 모니터링할 서비스를 선택합니다.

      3. 이 SLO에서 모니터링할 작업을 선택합니다.

      4. 계산 방법 선택에서 요청을 선택합니다.

      5. 서비스 선택작업 선택 드롭다운은 지난 24시간 동안 활성화된 서비스와 작업으로 채워집니다.

      6. 가용성 또는 지연 시간을 선택합니다. 지연 시간을 선택하는 경우 임곗값을 설정합니다.

    • 모든 CloudWatch 지표 또는 CloudWatch 지표 수학 표현식에 SLO 설정

      1. CloudWatch 지표를 선택합니다.

      2. 대상 요청 정의에 대해 다음을 수행합니다.

        1. 올바른 요청을 측정할지 아니면 잘못된 요청을 측정할지 선택합니다.

        2. CloudWatch 지표 선택을 선택합니다. 이 지표는 총 요청 수 대비 대상 요청 수 비율의 분자입니다. 지연 시간 지표를 사용하는 경우 절사 수(TC) 통계를 사용합니다. 임곗값이 9ms이고 미만(<) 비교 연산자를 사용하는 경우 임곗값 TC(:임곗값 - 1)를 사용합니다. TC에 대한 자세한 내용은 구문 섹션을 참조하세요.

          지표 선택 화면이 나타납니다. 찾아보기 또는 쿼리 탭을 사용하여 원하는 지표를 찾거나 지표 수학 표현식을 생성합니다.

      3. 총 요청 수 정의에서 소스에 사용할 CloudWatch 지표를 선택합니다. 이 지표는 총 요청 수 대비 대상 요청 수 비율의 분모입니다.

        지표 선택 화면이 나타납니다. 찾아보기 또는 쿼리 탭을 사용하여 원하는 지표를 찾거나 지표 수학 표현식을 생성합니다.

        원하는 지표를 선택한 후 그래프로 표시된 지표 탭을 선택하고 SLO에 사용할 통계기간을 선택합니다. 그런 다음 지표 선택을 선택합니다.

        요청당 하나의 데이터 포인트를 내보내는 지연 시간 지표를 사용하는 경우 샘플 수 통계를 사용하여 전체 요청 수를 계산합니다.

        이러한 화면에 대한 자세한 내용은 지표 그래프 작성CloudWatch 그래프에 수학 표현식 추가 섹션을 참조하세요.

    • 표준 애플리케이션 지표인 Latency 또는 Availability 중 하나에 서비스 종속성에 대한 SLO 설정

      1. 서비스 종속성을 선택합니다.

      2. 서비스 선택에서 이 SLO가 모니터링할 서비스를 선택합니다.

      3. 선택한 서비스에 따라 작업 선택에서 특정 작업을 하나 선택하거나, 모든 작업을 선택하여 종속성을 호출하는 이 서비스의 모든 작업에서 지표를 사용할 수 있습니다.

      4. 종속성 선택에서 신뢰성을 측정할 필수 종속성을 검색하고 선택할 수 있습니다.

        종속성을 선택한 후 종속성을 기반으로 업데이트된 그래프와 기록 데이터를 볼 수 있습니다.

  6. SLO의 간격달성 목표를 설정합니다. 간격 및 달성 목표와 이 둘의 상호 작용 방식에 대한 자세한 내용은 SLO 개념 섹션을 참조하세요.

  7. (선택 사항) SLO 연소율 설정과 관련하여 다음을 수행합니다.

    • 연소율에 대한 룩백 기간의 길이를 분 단위로 설정합니다. 이 길이를 선택하는 자세한 방법은 연소율 경보 연습을(를) 참조합니다.

    • 이 SLO에 대해 연소율을 더 생성하려면 연소율을 더 추가를 선택하고 추가 연소율에 대한 룩백 기간을 설정합니다.

  8. (선택 사항) 다음을 수행하여 연소율 경보를 생성합니다.

    • 연소율 경보 설정에서 경보를 생성하려는 각 연소율의 확인란을 선택합니다. 경보 각각에 다음을 수행합니다.

      • 경보가 ALARM 상태가 될 때 알림에 사용할 Amazon SNS 주제를 지정합니다.

      • 연소율 임곗값을 설정하거나 아래에 유지하려는 마지막 룩백 기간에 연소된 총 예산 추정치의 비율을 지정합니다. 연소된 총 예산 추정치의 비율을 설정하면 연소율 임곗값이 계산되어 경보에 사용됩니다. 설정할 임곗값을 결정하거나 이 옵션을 사용하여 연소율 임곗값을 계산하는 방법을 이해하려면 연소율 경보에 대한 적절한 임곗값 결정을(를) 참조하세요.

  9. (선택 사항) SLO에 대해 하나 이상의 CloudWatch 경보 또는 경고 임곗값을 설정합니다.

    1. CloudWatch 경보는 Amazon SNS를 사용하여 SLI 성능을 기준으로 애플리케이션이 비정상일 경우 사전에 알릴 수 있습니다.

      경보를 생성하려면 경보 확인란 중 하나를 선택하고 경보가 ALARM 상태가 될 때 알림에 사용할 Amazon SNS 주제를 입력하거나 생성합니다. CloudWatch 경보에 대한 자세한 내용은 Amazon CloudWatch 경보 사용 섹션을 참조하세요. 경보를 생성하면 요금이 부과됩니다. CloudWatch 요금에 대한 자세한 내용은 Amazon CloudWatch 요금을 참조하세요.

    2. 경고 임곗값을 설정하면 Application Signals 화면에 표시되어 현재 정상이더라도 충족되지 않을 위험이 있는 SLO를 식별하는 데 도움이 됩니다.

      경고 임곗값을 설정하려면 경고 임곗값에 임곗값을 입력합니다. SLO의 오류 할당이 경고 임곗값보다 낮으면 여러 Application Signals 화면에 SLO가 경고로 표시됩니다. 경고 임곗값은 오류 할당 그래프에도 표시됩니다. 경고 임곗값을 기준으로 하는 SLO 경고 경보를 생성할 수도 있습니다.

  10. (선택 사항) SLO 기간 제외 설정에서 다음을 수행합니다.

    • 기간 제외에서 SLO 성능 지표에서 제외할 기간을 설정합니다.

      기간 설정을 선택하고 매시간 또는 매월의 시작 기간을 입력하거나, CRON으로 기간 설정을 선택하고 CRON 표현식을 입력할 수 있습니다.

    • 반복에서 이 기간 제외를 반복할지 여부를 설정합니다.

    • (선택 사항) 이유 추가에서 기간 제외 이유를 입력하도록 선택할 수 있습니다. 예약된 유지 관리를 예로 들 수 있습니다.

    • 기간 추가를 선택하여 최대 10개의 시간 제외 기간을 추가합니다.

  11. 이 SLO에 태그를 추가하려면 태그 탭을 선택한 다음, 새 태그 추가를 선택합니다. 태그를 사용하면 리소스를 손쉽게 관리, 식별, 정리, 검색 및 필터링할 수 있습니다. 태그 지정에 대한 자세한 내용은 AWS 리소스 태그 지정을 참조하세요.

    참고

    이 SLO와 관련된 애플리케이션이 AWS Service Catalog AppRegistry에 등록된 경우 awsApplication 태그를 사용하여 이 SLO를 AppRegistry의 해당 애플리케이션과 연결할 수 있습니다. 자세한 내용은 What is AppRegistry?를 참조하세요.

  12. SLO 생성을 선택합니다. 경보를 하나 이상 생성하도록 선택한 경우 이를 반영하기 위해 버튼 이름이 변경됩니다.

SLO 상태 보기 및 분류

CloudWatch 콘솔에서 서비스 수준 목표 또는 서비스 옵션을 사용하여 SLO의 상태를 빠르게 확인할 수 있습니다. 서비스 뷰에서는 설정한 SLO를 기준으로 계산된 비정상 서비스 비율을 한눈에 볼 수 있습니다. 서비스 옵션 사용에 대한 자세한 내용은 Application Signals를 사용하여 애플리케이션의 운영 상태 모니터링 섹션을 참조하세요.

서비스 수준 목표 뷰는 조직의 거시적 뷰를 제공합니다. 충족된 SLO와 충족되지 않은 SLO를 전체적으로 볼 수 있습니다. 이를 통해 선택한 SLI에 따라 장기간에 걸쳐 얼마나 많은 서비스와 작업이 기대와 부합하는지 확인할 수 있습니다.

서비스 수준 목표 뷰를 사용하여 모든 SLO 보기
  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 서비스 수준 목표(SLO)를 선택합니다.

    서비스 수준 목표(SLO) 목록이 나타납니다.

    SLI 상태 열에서 SLO의 현재 상태를 빠르게 확인할 수 있습니다. 모든 비정상 SLO가 목록 맨 위에 오도록 SLO를 정렬하려면 비정상 SLO가 모두 맨 위에 올 때까지 SLI 상태 열을 선택합니다.

    SLO 테이블에는 다음과 같은 기본 열이 있습니다. 목록 위의 기어 아이콘을 선택하여 표시되는 열을 조정할 수 있습니다. 목표, SLI, 달성 및 간격에 대한 자세한 내용은 SLO 개념 섹션을 참조하세요.

    • SLO의 이름

    • 목표 열에는 SLO 목표를 달성하기 위해 SLI 임곗값을 성공적으로 충족해야 하는 각 간격 기간의 비율이 표시됩니다. SLO의 간격 길이도 표시됩니다.

    • SLI 상태에는 애플리케이션의 현재 작동 상태가 정상인지 여부가 표시됩니다. 현재 선택한 시간 범위 중 SLO에 대해 비정상인 기간이 있으면 SLI 상태비정상이 표시됩니다.

    • 이 SLO가 종속성을 모니터링하도록 구성된 경우 종속성원격 작업 열에 해당 종속성 관계에 대한 세부 정보가 표시됩니다.

    • 종료 달성은 선택한 시간 범위가 종료되는 시점의 달성 기준입니다. 이 열을 기준으로 정렬하면 충족되지 않을 위험이 가장 높은 SLO를 확인할 수 있습니다.

    • 달성 델타는 선택한 시간 범위의 시작과 끝 사이의 달성 수준 차이입니다. 델타가 음수이면 지표가 하향 추세를 보이고 있는 것입니다. 이 열을 기준으로 정렬하면 SLO의 최신 추세를 확인할 수 있습니다.

    • 종료 오류 할당(%)은 해당 기간의 총 시간 중 비정상 기간이 있더라도 SLO를 성공적으로 달성할 수 있는 비율입니다. 이 값을 5%로 설정하고 해당 간격의 남은 기간 중 5% 이하에서 SLI가 비정상 상태인 경우에도 SLO는 여전히 성공적으로 달성됩니다.

    • 오류 할당 델타는 선택한 시간 범위의 시작과 끝 사이의 오류 할당 차이입니다. 델타가 음수이면 지표가 실패 추세를 보이고 있는 것입니다.

    • 종료 오류 할당(시간)은 해당 간격에서 비정상이면서도 SLO를 성공적으로 달성할 수 있는 실제 시간입니다. 예를 들어, 이 시간이 14분이면 남은 간격 중 14분 미만 동안 SLI가 비정상 상태인 경우에도 SLO를 성공적으로 달성할 수 있습니다.

    • 종료 오류 할당(요청)은 해당 간격에서 비정상이면서도 SLO를 성공적으로 달성할 수 있는 요청의 양입니다. 요청 기반 SLO의 경우 이 값은 동적이며 시간 경과에 따라 누적 총 요청 수가 변경됨에 따라 변동될 수 있습니다.

    • 서비스, 작업유형 열에는 이 SLO가 설정된 서비스와 작업에 대한 정보가 표시됩니다.

  3. SLO의 달성 및 오류 할당 그래프를 보려면 SLO 이름 옆에 있는 라디오 버튼을 선택합니다.

    페이지 상단의 그래프에는 SLO 달성오류 할당 상태가 표시됩니다. 이 SLO와 연결된 SLI 지표에 대한 그래프도 표시됩니다.

  4. 목표에 미치지 못하는 SLO를 추가로 분류하려면 해당 SLO와 관련된 서비스 이름, 작업 이름 또는 종속성 이름을 선택합니다. 세부 정보 페이지로 이동하여 추가로 분류할 수 있습니다. 자세한 내용은 서비스 세부 정보 페이지에서 자세한 서비스 활동 및 운영 상태 확인 섹션을 참조하세요.

  5. 페이지에 있는 차트와 테이블의 시간 범위를 변경하려면 화면 상단에서 새 시간 범위를 선택합니다.

기존 SLO 편집

기존 SLO를 편집하려면 다음 단계를 따르세요. SLO를 편집할 때 임곗값, 간격, 달성 목표 및 태그만 변경할 수 있습니다. 서비스, 운영 또는 지표와 같은 다른 측면을 변경하려면 기존 SLO를 편집하는 대신 새 SLO를 생성합니다.

기간 또는 임곗값과 같은 SLO 핵심 구성의 일부를 변경하면 달성 및 상태에 대한 이전의 모든 데이터 포인트 및 평가가 무효화됩니다. SLO가 효과적으로 삭제되고 다시 생성됩니다.

참고

SLO를 편집하는 경우 해당 SLO와 관련된 경보는 자동으로 업데이트되지 않습니다. 경보를 SLO와 동기화된 상태로 유지하려면 경보를 업데이트해야 할 수 있습니다.

기존 SLO 편집
  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 서비스 수준 목표(SLO)를 선택합니다.

  3. 편집하려는 SLO 옆의 라디오 단추를 선택하고 작업, SLO 편집을 선택합니다.

  4. 변경한 후 변경 사항 저장을 선택합니다.

SLO 삭제

기존 SLO를 삭제하려면 다음 단계를 따르세요.

참고

SLO를 삭제하는 경우 해당 SLO와 관련된 경보는 자동으로 삭제되지 않습니다. 직접 삭제해야 합니다. 자세한 내용은 경보 관리 섹션을 참조하세요.

SLO 삭제
  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 서비스 수준 목표(SLO)를 선택합니다.

  3. 편집하려는 SLO 옆의 라디오 단추를 선택하고 작업, SLO 삭제를 선택합니다.

  4. 확인(Confirm)을 선택합니다.