Amazon API Gateway
개발자 안내서

API Gateway 콘솔을 사용하여 단계 설정

새 단계 생성

처음 배포한 후 단계를 더 추가하고 이를 기존 배포에 연결할 수 있습니다. API Gateway 콘솔에서 새 단계를 만들어 사용하거나, API를 배포할 때 기존 단계를 선택할 수 있습니다. 일반적으로, API를 재배포하기 전에 API 배포에 새 단계를 추가할 수 있습니다. API Gateway 콘솔에서 이와 같이 하려면 아래 지침을 따르십시오.

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

  2. APIs(API) 탐색 창에서 API에 대해 Stages(단계)를 선택합니다.

  3. Stages(단계) 탐색 창에서 생성을 선택합니다.

  4. Create Stage(단계 생성)에 단계 이름을 입력합니다. 예를 들면 Stage name(단계 이름)prod를 입력합니다.

    참고

    단계 이름에는 영숫자, 하이픈, 밑줄만 사용할 수 있습니다. 최대 길이는 128자입니다.

  5. 필요에 따라 단계 설명(Stage description)에 단계 설명을 입력합니다.

  6. Deployment(배포) 드롭다운 목록에서 이 단계와 연결하고자 하는 기존 API 배포의 날짜와 시간을 선택합니다.

  7. Create를 선택합니다.

단계 설정 업데이트

API 배포에 성공하면 해당 단계가 기본 설정으로 채워집니다. 콘솔 또는 API Gateway REST API를 사용하여 API 캐싱 및 로깅을 포함한 단계 설정을 변경할 수 있습니다. 다음 단계는 API Gateway 콘솔의 Stage Editor(단계 편집기)를 사용하여 이 작업을 수행하는 방법을 보여줍니다.

API Gateway 콘솔을 사용하여 단계 설정 업데이트

이러한 단계에서는 단계에 API를 이미 배포한 것으로 가정합니다.

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

  2. APIs 창에서 API를 선택한 다음 단계(Stages)를 선택합니다.

  3. 단계(Stages) 창에서 단계 이름을 선택합니다.

  4. Stage Editor(단계 편집기) 창에서 설정 탭을 선택합니다.

  5. 단계에 대하여 API 캐싱을 활성화하려면 Cache Settings(캐시 설정) 섹션에서 Enable API cache(API 캐시 활성화) 옵션을 선택합니다. 그런 다음 원하는 옵션과 Cache capacity(캐시 용량), Encrypt cache data(캐시 데이터 암호화), Cache time-to-live (TTL)(캐시 TTL(Time to Live))에 연결된 값, 그리고 키별 캐시 무효화를 위한 요구 사항을 선택합니다.

    단계 수준 캐시 설정에 대한 자세한 내용은 API 캐싱 활성화 단원을 참조하십시오.

    중요

    API 단계에 대한 API 캐싱을 활성화하는 경우, AWS 계정에 API 캐싱 요금이 청구될 수 있습니다. 캐싱은 AWS 프리 티어에서 제공되지 않습니다.

    작은 정보

    또한 개별 메서드에 대하여 활성화된 단계 수준 캐시 설정을 재정의할 수 있습니다. 이를 위해 Stages(단계) 보조 탐색 창에서 단계를 확장하고 메서드를 선택합니다. 그런 다음 단계 편집기의 설정에서 Override for this method(이 메서드에 대해 재정의)를 선택합니다. Cache Settings(캐시 설정) 영역에서 Enable Method Cache(메서드 캐시 활성화)를 설정 또는 지우거나 다른 원하는 옵션을 사용자 지정할 수 있습니다. 메서드 수준 캐시 설정에 대한 자세한 내용은 API 캐싱 활성화 단원을 참조하십시오.

  6. 이 API Gateway API의 이 설정에 연결된 모든 메서드에 Amazon CloudWatch Logs을 활성화하려면 다음을 수행합니다.

    1. CloudWatch 설정 섹션에서 CloudWatch Logs 활성화 옵션을 선택합니다.

      작은 정보

      메서드 수준 CloudWatch 설정을 활성화하려면 Stages(단계) 보조 탐색 창에서 단계를 확장하고 각각 원하는 메서드를 선택합니다. 단계 편집기로 돌아가 Settings(설정)에서 Override for this method(이 메서드에 대해 재정의)를 선택합니다. 표시되는 CloudWatch Settings(CloudWatch 설정) 영역에서 Log to CloudWatch Logs(CloudWatch Logs에 로그) 및 다른 원하는 옵션을 선택한 후 Save Changes(변경 사항 저장0를 선택합니다.

      중요

      메서드 수준 CloudWatch 지표 액세스에 대한 요금이 사용자 계정으로 청구되지만, API나 단계 수준 지표에 대해서는 청구되지 않습니다.

    2. 로그 수준에서 ERROR를 선택해 CloudWatch Logs에 오류 수준 항목만 쓰거나 INFO를 선택해 모든 ERROR 이벤트와 추가적인 정보 제공용 이벤트를 포함시킵니다.

    3. 전체 API 호출 요청과 응답 정보를 기록하려면 Log full requests/responses data(요청/응답 데이터로 로그 가득 참)를 선택합니다. Log full requests/responses data(요청/응답 데이터로 로그 가득 참) 옵션을 선택하지 않는 한, 민감한 데이터는 기록되지 않습니다.

      중요

      로그를 오류로 설정한 후 요청/응답 데이터로 로그 가득 참을 선택하면 모든 요청이 자세히 기록됩니다. 이것은 의도된 동작입니다.

    4. API Gateway가 CloudWatch에 API calls, Latency, Integration latency, 400 errors500 errors의 API 지표를 보고하도록 하려면, Enable Detailed CloudWatch Metrics(CloudWatch 세부 지표 활성화) 옵션을 선택합니다. CloudWatch에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서 단원을 참조하십시오.

    5. 변경 사항 저장을 선택합니다. 새로운 설정은 새로 배포한 후 적용됩니다.

      중요

      메서드 전체 또는 일부에만 CloudWatch Logs을 활성화하려면, IAM 역할의 ARN도 지정하여 API Gateway가 IAM 사용자를 대신해 CloudWatch Logs에 정보를 쓰도록 활성화해야 합니다. 이를 위해 APIs(API) 기본 탐색 창에서 설정을 선택합니다. 그런 다음 CloudWatch log role ARN(CloudWatch 로그 역할 ARN) 텍스트 필드에 IAM 역할의 ARN을 입력합니다. 일반적인 애플리케이션 시나리오에서 IAM 역할은 다음 액세스 정책 설명이 포함되어 있는 AmazonAPIGatewayPushToCloudWatchLogs의 관리형 정책을 연결할 수 있습니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "*" } ] }

      IAM 역할에도 다음 신뢰 관계 설명이 포함되어야 합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

      CloudWatch에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서 단원을 참조하십시오.

  7. Kinesis Data Firehose 전송 스트림에 대한 액세스 로깅을 활성화하려면:

    1. Custom Access Logging(사용자 지정 액세스 로깅)에서 Enable Access Logging(액세스 로깅 활성화)을 선택합니다.

    2. Access Log Destination ARN(액세스 로그 대상 ARN)에 Kinesis Data Firehose 전송 스트림의 ARN을 입력합니다. ARN 형식은 arn:aws:firehose:{region}:{account-id}:deliverystream:amazon-apigateway-{your-delivery-stream-name}입니다.

      참고

      Kinesis Data Firehose 전송 스트림의 이름은 amazon-apigateway-{your-delivery-stream-name}이어야 합니다.

    3. Log Format(로그 형식)에 로그 형식을 입력합니다. CLF, JSON, XML 또는 CSV를 선택하여 제공된 예 중 하나를 지침으로 사용할 수 있습니다.

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

  8. 이 API에 연결된 모든 메서드에 단계 수준 조절 제한을 설정하려면 Default Method Throttling(기본값 메서드 조절) 섹션에서 다음을 수행하십시오.

    1. Enable throttling(조절 활성화)를 선택하십시오.

    2. Rate(속도)의 경우, API Gateway가 429 Too Many Requests 응답을 반환하지 않고 일정한 상태로 제공할 수 있는 초당 최대 단계 수준 요청 횟수를 입력합니다. 이 단계 수준 속도 제한은 API Gateway REST API 구성 및 실행에 대한 제한에 지정된 계정 수준 속도 제한보다 클 수 없습니다.

    3. Burst(버스트)의 경우, API Gateway가 429 Too Many Requests 응답을 반환하지 않고 동시에 제공할 수 있는 최대 단계 수준 요청 횟수를 입력합니다. 이 단계 수준 버스트는 API Gateway REST API 구성 및 실행에 대한 제한에 지정된 계정 수준 버스트 제한보다 클 수 없습니다.

  9. 개별 메서드에 대한 단계 수준 제한을 재정의하려면 Stages(단계) 보조 탐색 창에서 단계를 확장하고 메서드를 선택한 후 설정에서 Override for this method(이 메서드 재정의)를 선택합니다. Method Throttling(메서드 조절) 섹션에서 적절한 옵션을 선택합니다.

  10. AWS WAF 웹 ACL을 스테이지와 연결하려면 웹 ACL 드롭다운 목록에서 웹 ACL을 선택하십시오.

    참고

    필요한 경우 Create Web ACL(웹 ACL 생성)을 선택하여 새 브라우저 탭에서 AWS WAF 콘솔을 열고 웹 ACL을 만들고 API Gateway 콘솔로 돌아가 웹 ACL을 스테이지와 연결하십시오.

  11. 원하는 경우 Block API Request if WebACL cannot be evaluated (Fail- Close)(WebACL을 평가할 수 없는 경우 API 요청 차단(Fail-Close))를 선택합니다.

  12. API 단계에 대한 AWS X-Ray 추적을 활성화하려면

    1. Stage Editor(단계 편집기) 창에서 설정 탭을 선택합니다.

    2. X-Ray 추적을 활성화하려면 X-Ray 추적에서 X-Ray 추적 활성화)를 선택합니다.

    3. X-Ray 콘솔에서 샘플링 규칙을 설정하려면, Set X-Ray Sampling Rules(X-Ray 샘플링 규칙 설정)를 선택합니다.

    4. 원하는 경우 X-Ray 샘플링 규칙 설정을 선택하고 X-Ray 콘솔로 이동하여 샘플링 규칙을 구성합니다.

    자세한 내용은 AWS X-Ray로 API Gateway API 실행 추적 단원을 참조하십시오.

  13. 변경 사항 저장을 선택합니다. 해당 단계에 API를 다시 배포해야 새로운 설정이 적용됩니다.

API에 대한 단계 삭제

단계가 더 이상 필요하지 않은 경우 해당 단계를 삭제하여 미사용 리소스에 대해 요금이 발생하는 것을 방지할 수 있습니다. 아래에서는 API Gateway 콘솔을 사용하여 단계 를 삭제하는 방법을 설명합니다.

주의

단계를 삭제하면 API 호출자가 해당 API의 일부 또는 전체를 사용하지 못할 수도 있습니다. 단계 삭제는 취소할 수 없지만, 단계를 다시 생성한 다음 동일한 배포에 연결할 수 있습니다.

API Gateway 콘솔을 사용하여 단계 삭제

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

  2. 해당 단계에 대한 API 이름을 포함하는 상자에서 단계(Stages)를 선택합니다.

  3. 단계(Stages) 창에서 삭제하고자 하는 단계를 선택한 다음, 단계 삭제(Delete Stage)를 선택합니다.

  4. 확인 메시지가 나타나면 삭제를 선택합니다.