모니터링 - AWS Amplify 호스팅

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

모니터링

AWS Amplify Amazon을 통해 지표를 CloudWatch 내보내고 앱에 대한 요청에 대한 세부 정보가 포함된 액세스 로그를 제공합니다. 이 섹션의 항목를 통해 이러한 지표와 로그를 사용하여 앱을 모니터링하는 방법을 알아보세요.

를 통한 모니터링 CloudWatch

AWS Amplify CloudWatchAmazon과 통합되어 Amplify 애플리케이션의 메트릭을 거의 실시간으로 모니터링할 수 있습니다. 지표가 설정한 임계값을 초과할 경우, 알림을 보내는 경보를 생성할 수 있습니다. CloudWatch 서비스 작동 방식에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서를 참조하십시오.

지표

Amplify는 AWS/AmplifyHosting 네임스페이스에서 6가지 CloudWatch 메트릭을 지원하여 앱의 트래픽, 오류, 데이터 전송 및 지연 시간을 모니터링합니다. 이러한 지표는 1분 간격으로 집계됩니다. CloudWatch 모니터링 지표는 무료이며 CloudWatch 서비스 할당량에 포함되지 않습니다.

사용 가능한 모든 통계가 모든 지표에 적용되는 것은 아닙니다. 다음 표에는 각 지표에 대한 설명에 가장 관련성이 높은 통계가 나열되어 있습니다.

지표 설명

요청

앱에서 수신한 최종 사용자 요청의 총 수.

가장 관련성이 높은 통계는 Sum입니다. Sum 통계를 사용하여 총 요청 수를 확인할 수 있습니다.

BytesDownloaded

GET,HEAD, 요청에 대해 시청자가 앱을 통해 전송(다운로드)한 총 데이터 양(바이트)입니다. OPTIONS

가장 관련성이 높은 통계는 Sum입니다.

BytesUploaded

POSTPUT 요청을 사용하여 앱으로 전송(업로드)된 총 데이터 양(바이트)

가장 관련성이 높은 통계는 Sum입니다.

4XXErrors

HTTP 상태 코드 400-499 범위에서 오류를 반환한 요청 수.

가장 관련성이 높은 통계는 Sum입니다. Sum 통계를 사용하여 오류의 총 발생 횟수를 가져옵니다.

5XXErrors

HTTP 상태 코드 500-599 범위에서 오류를 반환한 요청 수.

가장 관련성이 높은 통계는 Sum입니다. Sum 통계를 사용하여 오류의 총 발생 횟수를 가져옵니다.

지연 시간

첫 바이트까지의 시간(초). Amplify Hosting에서 요청을 수신할 때부터 네트워크에 응답을 반환할 때까지의 총 시간입니다. 여기에는 응답이 뷰어 장치에 도달하는 데 발생한 네트워크 지연 시간은 포함되지 않습니다.

가장 관련성이 높은 통계는Average, Maximum, Minimum, p10, p50, p90, p95, p100.입니다.

Average 통계를 사용하여 예상 지연 시간을 평가합니다.

Amplify는 다음과 같은 CloudWatch 미터 치수를 제공합니다.

측정기준 설명

지표 데이터는 앱에서 제공합니다.

AWS 계정

지표 데이터는 의 모든 앱에서 제공됩니다. AWS 계정

https://console.aws.amazon.com/cloudwatch/ AWS Management Console 에서 CloudWatch 메트릭에 액세스할 수 있습니다. 또는 다음 절차를 따라 Amplify 콘솔에서 지표에 액세스할 수 있습니다.

Amplify 콘솔에서 지표에 액세스하려면
  1. 에 AWS Management Console 로그인하고 Amplify 콘솔을 엽니다.

  2. 앱 지표를 확인할 서비스를 선택합니다.

  3. 탐색 창에서 앱 설정, 모니터링을 선택합니다.

  4. 모니터링 페이지에서 지표를 선택합니다.

경보

Amplify 콘솔에서 특정 기준이 충족될 때 알림을 보내는 CloudWatch 경보를 생성할 수 있습니다. 경보는 단일 CloudWatch 지표를 감시하고 지표가 지정된 평가 기간 수의 임계값을 위반할 경우 Amazon Simple Notification Service 알림을 보냅니다.

CloudWatch콘솔에서 또는 API를 사용하여 지표 수학 식을 사용하는 고급 경보를 생성할 수 있습니다. CloudWatch 예를 들어, 4XXErrors의 비율이 세 기간 동안 연속으로 15%를 초과한 경우, 알림을 보내는 경보를 생성할 수 있습니다. 자세한 내용은 Amazon CloudWatch 사용 설명서의 지표 수학 식을 기반으로 CloudWatch 경보 생성을 참조하십시오.

경보에는 표준 CloudWatch 요금이 적용됩니다. 자세한 내용은 Amazon CloudWatch 요금을 참조하십시오.

Amplify 콘솔에서 다음 절차에 따라 경고를 만듭니다.

Amplify 지표에 대한 CloudWatch 경보를 만들려면
  1. 에 AWS Management Console 로그인하고 Amplify 콘솔을 엽니다.

  2. 경보를 설정할 앱을 선택합니다.

  3. 탐색 창에서 앱 설정, 모니터링을 선택합니다.

  4. 모니터링 페이지에서 경보를 선택합니다.

  5. 경보 생성을 선택하세요.

  6. 경보 생성 창에서 다음과 같이 경보를 구성합니다.

    1. 지표의 경우, 목록에서 모니터링할 지표의 이름을 선택합니다.

    2. 경보 이름에 경보 이름을 입력합니다. 예를 들어 요청을 모니터링하는 경우, 경보 이름을 지정할 수 HighTraffic 있습니다. 이름은 ASCII 문자만 포함해야 합니다.

    3. 알림 설정에 다음 중 하나를 실시합니다.

        1. Amazon SNS 주제를 설정하려면 새로 만들기 를 선택합니다.

        2. 이메일 주소에는 알림 수신자의 이메일 주소를 입력합니다.

        3. 새 이메일 주소 추가를 선택하여 수신자를 더 추가합니다.

        1. Amazon SNS 주제를 재사용하려면 기존 항목 을 선택합니다.

        2. SNS 항목에 대해서는 목록에서 기존 Amazon SNS 항목의 이름을 선택합니다.

    4. 메트릭통계 예시에서 알람 조건을 다음과 같이 설정하세요.

      1. 지표가 임계값보다 크거나, 작거나, 같아야 하는지 여부를 지정합니다.

      2. 임곗값을 지정합니다.

      3. 경보가 트리거되려면 경보 상태에 있어야 하는 연속 평가 기간 수를 지정합니다.

      4. 평가 간격 시간의 길이를 지정합니다.

    5. 경보 생성을 선택하세요.

참고

지정한 각 Amazon SNS 수신자는 AWS 알림으로부터 확인 이메일을 수신합니다. 이메일에는 수신자가 구독을 확인하고 알림을 받기 위해 따라야 하는 링크가 포함되어 있습니다.

SSR CloudWatch 앱용 아마존 로그

Amplify는 Next.js 런타임에 대한 정보를 사용자의 아마존 CloudWatch 로그에 전송합니다. AWS 계정SSR 앱 배포 시 앱은 Amplify가 사용자를 대신하여 다른 서비스를 호출할 때 맡는 IAM 서비스 역할을 필요로 합니다. Amplify Hosting 컴퓨팅이 자동으로 서비스 역할을 생성하도록 허용하거나 사용자가 생성한 역할을 지정할 수 있습니다.

Amplify에서 IAM 역할을 생성하도록 허용하면 해당 역할에는 이미 로그를 생성할 권한이 있습니다. CloudWatch IAM 역할을 직접 생성하는 경우 Amplify가 Amazon CloudWatch Logs에 액세스할 수 있도록 하려면 정책에 다음 권한을 추가해야 합니다.

logs:CreateLogStream logs:CreateLogGroup logs:DescribeLogGroups logs:PutLogEvents

서비스 역할에 대한 자세한 내용은 서비스 역할 추가 섹션을 참조하세요. 서버측 렌더링된 앱 배포에 대한 자세한 내용은 Amplify Hosting을 통해 서버 측 렌더링 앱 배포 단원을 참조하세요.

액세스 로그

Amplify는 Amplify에서 호스팅하는 모든 앱에 대한 액세스 로그를 저장합니다. 액세스 로그는 호스팅된 앱에 대해 이루어진 요청에 대한 정보를 포함합니다. Amplify는 앱을 삭제할 때까지 앱에 대한 모든 액세스 로그를 보관합니다. 앱에 대한 모든 액세스 로그는 Amplify 콘솔에서 사용할 수 있습니다. 하지만 액세스 로그에 대한 각 개별 요청은 지정한 2주 기간으로 제한됩니다.

Amplify는 고객 간 CloudFront 배포를 재사용하지 않습니다. Amplify는 CloudFront 배포를 미리 생성하므로 새 앱을 배포할 때 배포가 CloudFront 생성될 때까지 기다릴 필요가 없습니다. 이러한 배포는 Amplify 앱에 할당되기 전에 봇으로부터 트래픽을 수신할 수 있습니다. 하지만 할당되기 전에는 항상 찾을 수 없음으로 응답하도록 구성되어 있습니다. 앱 액세스 로그에 앱을 만들기 전 일정 기간의 항목이 포함되어 있는 경우, 이러한 항목은 이 활동과 관련이 있습니다.

중요

모든 요청을 완전히 살펴보기 보다는 콘텐츠에 대한 요청 특성을 이해하는 데 로그를 사용하는 것이 좋습니다. Amplify는 최대 효과에 기초하여 액세스 로그를 전송합니다. 요청에 따라서는 실제로 요청이 처리된 지 한참 후에 로그 레코드가 전송되거나 아예 전송되지 않을 수도 있습니다. 액세스 로그에서 로그 항목을 생략하면 액세스 로그의 항목 수가 AWS 청구 및 사용 보고서에 나타나는 사용량과 일치하지 않습니다.

다음 절차를 사용하여 앱의 액세스 로그를 검색하십시오.

액세스 로그를 보기
  1. 에 AWS Management Console 로그인하고 Amplify 콘솔을 엽니다.

  2. 액세스 로그를 보려는 앱을 선택합니다.

  3. 탐색 창에서 앱 설정, 모니터링을 선택합니다.

  4. 모니터링 페이지에서 액세스 로그를 선택합니다.

  5. 시간 범위 편집을 선택합니다.

  6. 시간 범위 편집 창에서 시작 날짜로 로그를 검색할 2주 간격 중 첫 번째 요일을 지정합니다. 시작 시간에서 로그 검색을 시작할 첫날의 시간을 선택합니다.

  7. Amplify 콘솔은 액세스 로그 섹션에 지정된 시간 범위의 로그를 표시합니다. 다운로드를 선택하여 로그를 CSV 형식으로 저장합니다.

액세스 로그 분석

Amazon S3 버킷에 CSV 파일을 저장하여 액세스 로그를 분석할 수 있습니다. 액세스 로그를 분석하는 한 가지 방법은 Athena를 사용하는 것입니다. Athena는 서비스의 데이터를 분석하는 데 도움이 되는 대화형 쿼리 서비스입니다. AWS 여기의 step-by-step 지침에 따라 테이블을 생성할 수 있습니다. 테이블이 생성되면 다음과 같이 데이터를 쿼리할 수 있습니다.

SELECT SUM(bytes) AS total_bytes FROM logs WHERE "date" BETWEEN DATE '2018-06-09' AND DATE '2018-06-11' LIMIT 100;