쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

API Gateway에서 HTTP API 로깅 구성

포커스 모드
API Gateway에서 HTTP API 로깅 구성 - Amazon API Gateway

로깅을 활성화하여 CloudWatch Logs에 로그를 기록할 수 있습니다. 로깅 변수를 사용하여 로그의 내용을 사용자 지정할 수 있습니다.

보안 태세를 개선하려면 HTTP API의 모든 단계에 대해 CloudWatch Logs에 로그를 작성하는 것이 좋습니다. 다양한 규정 준수 프레임워크를 준수하기 위해 이 작업을 수행해야 할 수 있습니다. 자세한 내용은 AWS Security Hub 사용 설명서에서 Amazon API Gateway 제어를 참조하세요.

HTTP API에 대한 로깅을 활성화하려면 다음을 수행해야 합니다.

  1. 사용자가 로깅을 활성화하는 데 필요한 권한을 가지고 있는지 확인합니다.

  2. CloudWatch Logs 로그 그룹을 생성합니다.

  3. API 단계에 대한 CloudWatch Logs 로그 그룹의 ARN을 제공합니다.

로깅을 활성화하는 권한

API에 대한 로깅을 활성화하려면 사용자는 다음과 같은 권한을 가지고 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "arn:aws:logs:us-east-2:123456789012:log-group:*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:PutResourcePolicy", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:GetLogDelivery", "logs:ListLogDeliveries" ], "Resource": "*" } ] }

로그 그룹 생성 및 HTTP API에 대한 로깅 활성화

AWS Management Console 또는 AWS CLI를 사용하여 로그 그룹을 생성하고 액세스 로깅을 활성화할 수 있습니다.

AWS Management Console
  1. 로그 그룹 생성

    콘솔을 사용하여 로그 그룹을 생성하는 방법을 알아보려면 Amazon CloudWatch Logs 사용 설명서의 로그 그룹 생성을 참조하세요.

  2. https://console.aws.amazon.com/apigateway에서 API Gateway 콘솔에 로그인합니다.

  3. HTTP API를 선택합니다.

  4. 기본 탐색 패널의 Monitor(모니터링) 탭에서 Logging(로깅) 선택합니다.

  5. 로깅을 활성화할 단계를 선택하고 Select(선택)를 선택합니다.

  6. Edit(편집)을 선택하여 액세스 로깅을 활성화합니다.

  7. Access logging(액세스 로깅)을 활성화하고 CloudWatch Logs를 입력한 다음 로그 형식을 선택합니다.

  8. Save(저장)를 선택합니다.

AWS CLI

다음 create-log-group 명령은 로그 그룹을 생성합니다.

aws logs create-log-group --log-group-name my-log-group

로깅을 활성화하려면 로그 그룹의 Amazon 리소스 이름(ARN)이 필요합니다. ARN 형식은 arn:aws:logs:region: account-id:log-group:log-group-name입니다.

다음 update-stage 명령은 HTTP API의 $default 스테이지에 대한 로깅을 활성화합니다.

aws apigatewayv2 update-stage --api-id abcdef \ --stage-name '$default' \ --access-log-settings '{"DestinationArn": "arn:aws:logs:region:account-id:log-group:log-group-name", "Format": "$context.identity.sourceIp - - [$context.requestTime] \"$context.httpMethod $context.routeKey $context.protocol\" $context.status $context.responseLength $context.requestId"}'
  1. 로그 그룹 생성

    콘솔을 사용하여 로그 그룹을 생성하는 방법을 알아보려면 Amazon CloudWatch Logs 사용 설명서의 로그 그룹 생성을 참조하세요.

  2. https://console.aws.amazon.com/apigateway에서 API Gateway 콘솔에 로그인합니다.

  3. HTTP API를 선택합니다.

  4. 기본 탐색 패널의 Monitor(모니터링) 탭에서 Logging(로깅) 선택합니다.

  5. 로깅을 활성화할 단계를 선택하고 Select(선택)를 선택합니다.

  6. Edit(편집)을 선택하여 액세스 로깅을 활성화합니다.

  7. Access logging(액세스 로깅)을 활성화하고 CloudWatch Logs를 입력한 다음 로그 형식을 선택합니다.

  8. Save(저장)를 선택합니다.

로그 형식 예

일반적으로 사용되는 몇 가지 액세스 로그 형식의 예제가 API Gateway 콘솔에 표시되며 다음과 같이 나열됩니다.

  • CLF(Common Log Format):

    $context.identity.sourceIp - - [$context.requestTime] "$context.httpMethod $context.routeKey $context.protocol" $context.status $context.responseLength $context.requestId $context.extendedRequestId
  • JSON:

    { "requestId":"$context.requestId", "ip": "$context.identity.sourceIp", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod","routeKey":"$context.routeKey", "status":"$context.status","protocol":"$context.protocol", "responseLength":"$context.responseLength", "extendedRequestId": "$context.extendedRequestId" }
  • XML:

    <request id="$context.requestId"> <ip>$context.identity.sourceIp</ip> <requestTime>$context.requestTime</requestTime> <httpMethod>$context.httpMethod</httpMethod> <routeKey>$context.routeKey</routeKey> <status>$context.status</status> <protocol>$context.protocol</protocol> <responseLength>$context.responseLength</responseLength> <extendedRequestId>$context.extendedRequestId</extendedRequestId> </request>
  • CSV(쉼표로 분리된 값):

    $context.identity.sourceIp,$context.requestTime,$context.httpMethod,$context.routeKey,$context.protocol,$context.status,$context.responseLength,$context.requestId,$context.extendedRequestId
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.