View a markdown version of this page

속도 제한 차원 - Amazon Bedrock AgentCore

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

속도 제한 차원

차원 키는 게이트웨이가 트래픽을 속도 제한 버킷으로 그룹화하는 방법을 결정합니다. 각 차원 키는 요청 컨텍스트의 값을 참조합니다. 게이트웨이는 런타임 시 이러한 값을 확인하여 일치하는 속도 제한 항목을 찾습니다.

지원되는 차원

차원 키 설명 예시 값

targetName

호출되는 대상의 이름입니다. 요청 경로에서 해결되었습니다.

my-llm-target

toolName

호출되는 도구의 정규화된 이름이며 형식입니다targetName___toolName. MCP 도구 사용 요청에 사용할 수 있습니다.

my-mcp-target___get_weather

qualifiedModelId

추론 대상의 정규화된 모델 식별자입니다.

anthropic.claude-3-sonnet-20240229-v1:0

$.context.jwt.<claim>

호출자의 JWT 토큰에서 추출된 클레임입니다. <claim>를 클레임 이름으로 바꿉니다(예: , $.context.jwt.sub$.context.jwt.team).

user-123

$.context.iam.principal

호출자의 IAM 보안 주체 ARN입니다.

arn:aws:iam::123456789012:role/MyRole

$.context.iam.sourceIdentity

역할을 수임할 때 호출자가 설정한 소스 자격 증명입니다.

developer@example.com

기본값(*)

속도 제한 항목은 차원에 대한 catch-all 기본값*으로 특수 값을 지원합니다.

  • 차원에 * 대해가 있는 항목은 "이 차원의 모든 값에이 비율을 적용합니다"를 의미합니다.

  • 실제 값에 대해 더 구체적인 항목이 있는 경우 특정 항목이 우선합니다(가장 구체적인 매치에서 성공).

  • *는 독립된 개체당 버킷을 생성합니다. 일치하는 각 고유 값은 구성된 속도로 자체 속도 버킷을 가져옵니다.

다차원 속도 제한에 대한 후행 전용 제약 조건:

속도 제한에 여러 차원 키가 있는 경우는 후행 위치에만 나타날 수 있습니다. 위치 N에서를 사용하는 경우 모든 후속 위치도 여야 합니다*.

예를 들어 에서는 dimensionKeys: ["targetName", "toolName", "$.context.jwt.sub"]다음과 같습니다.

입력 차원 유효함 이유

["target1", "readData", "alice"]

예

모든 위치는 특정 값입니다.

["target1", "readData", "*"]

예

마지막 위치만 입니다*.

["target1", "*", "*"]

예

후행 위치는 입니다*.

["*", "*", "*"]

예

모든 위치는 입니다*(모든 조합의 기본값).

["*", "readData", "alice"]

아니요

* 위치 1에서 특정 값 뒤에 옵니다.

["*", "*", "alice"]

아니요

* 위치 1~2에서 특정 값 뒤에 옵니다.

["target1", "*", "alice"]

아니요

* 위치 2에서 뒤에 위치 3에서 특정 값이 옵니다.

매칭 작동 방식:

요청이 도착하면 게이트웨이는 실제 차원 값을 확인하고 가장 구체적인 일치하는 항목을 찾습니다. 예를 들어 확인된 값이 ["target1", "readData", "alice"]인 경우 게이트웨이는 다음 순서로 항목을 확인합니다.

  1. ["target1", "readData", "alice"] - 정확한 일치(가장 구체적)

  2. ["target1", "readData", "*"] - 마지막 차원은 기본값을 사용합니다.

  3. ["target1", "*", "*"] - 마지막 두 차원은 기본값을 사용합니다.

  4. ["*", "*", "*"] - 전체 기본값(최소 고유)

첫 번째 매치에서 우승합니다.

작은 정보

알려진 고가치 또는 제한된 엔터티에는 특정 항목을 사용하고, 다른 모든 엔터티에는 기본 요금 티어로 * 항목을 사용합니다.

차원 해상도 동작

게이트웨이는 속도 제한을 평가할 때 요청 컨텍스트에서 각 차원 키를 확인합니다.

  • 요청에서 차원 키를 확인할 수 없는 경우(예: toolName 도구 이외의 요청 또는 존재하지 않는 JWT 클레임) 게이트웨이는 해당 속도 제한을 완전히 건너뜁니다. 요청은 해당 속도 제한에 의해 제한되지 않습니다.

  • 확인된 컨텍스트만 해결에 사용됩니다. JWT 클레임은 게이트웨이의 인증 구성으로 검증된 토큰에서 추출됩니다. IAM 컨텍스트는 SigV4-authenticated 요청에만 사용할 수 있습니다.

공유 한도와 개별 한도 비교

차원 키와 항목 값의 조합에 따라 트래픽이 단일 속도 버킷을 공유하는지 아니면 각 개체가 자체 독립 버킷을 가져오는지 여부가 결정됩니다.

dimensionKeys 입력 차원 동작

["targetName"]

{"targetName": "my-target"}

에 대한 모든 트래픽은 버킷 하나를 my-target 공유합니다(해당 대상에 대한 공유 제한).

["targetName"]

{"targetName": "*"}

각 대상은이 속도(엔터티당)로 자체 독립 버킷을 가져옵니다.

["$.context.jwt.sub"]

{"$.context.jwt.sub": "*"}

각 고유 호출자는 자체 버킷(개별 호출자당 제한)을 가져옵니다.

["targetName", "$.context.jwt.sub"]

{"targetName": "my-target", "$.context.jwt.sub": "*"}

각 호출자는 로 범위가 지정된 자체 버킷을 가져옵니다my-target.

["targetName", "$.context.jwt.sub"]

{"targetName": "*", "$.context.jwt.sub": "*"}

각 고유한 target-and-caller 조합은 고유한 버킷을 가져옵니다.

주의

높은 카디널리티 또는 무제한 JWT 클레임을 차원 키(예: , $.context.jwt.jti $.context.jwt.nonce또는 요청 IDs)로 사용하지 마세요. 이렇게 하면 속도 제한의 효과가 저하될 수 있는 무제한 수의 속도 버킷이 생성됩니다. tier 대신 , sub team또는 같은 안정적이고 경계가 지정된 식별자를 사용합니다.