기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
웹 검색
웹 검색은 Amazon Bedrock에서 웹 검색 기능을 제공하는 기본 제공 도구입니다. 활성화하면 지원되는 모델은 학습된 데이터에만 의존하는 대신 요청 중에 웹에서 현재 정보를 검색하고 이를 사용하여 답변을 뒷받침할 수 있습니다. 응답에는 모델이 사용한 소스에 대한 인용이 포함됩니다. 웹 검색은에서 호스팅하고 빌드합니다 AWS. 외부 웹에서 검색은 요청과 IAM 권한이 모두 허용하는 경우에만 발생합니다.
데이터 거버넌스
캐시된 페이지 콘텐츠를 허용하면서 AWS 경계 내에서 검색을 유지하려면를 external_web_access로 설정합니다false. 그런 다음 Amazon Bedrock 웹 인덱스에서 검색이 제공되고 Amazon Bedrock 캐시에서 가져오기가 제공됩니다.
AmazonBedrockFullAccess 정책은 검색 및 가져오기를 부여하지만는 부여하지 않습니다bedrock-websearch:ExternalWebAccess. external_web_access 기본값은 이므로이 정책으로 파라미터를 true생략하면 캐시를 읽기 전에 각 Fetch 시도가 백엔드 권한 부여 검사에 실패합니다. 전체 응답 API 요청은 여전히 검색 관측치를 사용하여 완료할 수 있지만 가져오기는 페이지 콘텐츠를 제공하지 않습니다. 파라미터를 명시적으로 설정하여 이러한 장애를 false 방지하고 AWS 경계 내에서 검색을 유지합니다. 사용 중인 모델에 따라 데이터에 자동 Amazon Bedrock 침해 탐지 메커니즘이 적용됩니다.
웹 검색을 사용해야 하는 경우
웹 검색은 모델의 파라미터 지식보다 더 최신이거나, 더 전문화되었거나, 더 신뢰할 수 있는 정보에 따라 답변이 달라질 때마다 유용합니다. 최신 버전은 현재 이벤트, 최근 제품 릴리스, 가격 또는 새 라이브러리 버전에 대한 설명서와 같은 일반적인 사례 중 하나입니다. 이는 틈새 APIs, 특정 구성 값 또는 도메인별 사실과 같이 모델의 지식이 얇거나 부정확한 롱테일 또는 특수 질문과 리콜렉션이 아닌 근거가 있고 과감한 소스를 원하는 경우에 똑같이 유용합니다.
웹 검색 작동 방식
이 도구는 Amazon Bedrock 내에서 실행되므로 검색 인덱스를 호스팅하거나, 크롤러를 관리하거나, 도구 호출 루프를 직접 작성할 필요가 없습니다. Amazon Bedrock 추론 요청에 도구를 추가하면 모델이 필요에 따라 도구를 호출합니다. 웹 검색은 모델에 최신 정보를 제공하여 모델이 인용과 함께 근거 있는 답변을 반환할 수 있도록 합니다.
웹 검색이 활성화되면 모델은 요청에 최신 정보가 필요한지 여부를 결정합니다. 이 경우 모델은 웹 검색 도구에 하나 이상의 검색 쿼리를 실행하고 Amazon에서 빌드하고 유지 관리하는 웹 인덱스에서 가져온 일련의 관측치를 수신합니다. 각 관측치에는 제목, 소스 URL 및 콘텐츠 조각이 포함됩니다. 그런 다음 모델은 이러한 결과에 기반한 답변을 작성하고 소스를 가리키는 인용을 추가합니다.
첫 번째 결과 집합이 질문에 답변하기에 충분하지 않은 경우 모델은 찾은 내용을 사용하여 쿼리를 재구성하고 동일한 턴 내에서 다시 검색할 수 있습니다. 결과가 답변을 지원하지 않는 경우 모델은 훈련 데이터의 격차를 채우지 않고 이를 알려줍니다.
검색 및 가져오기 작업
웹 검색은 다음 두 가지 작업으로 빌드됩니다.
-
검색 - 신뢰도가 높은 사실에 대한 Amazon Bedrock 웹 인덱스 및 지식 그래프에서 제목, URLs 및 코드 조각을 반환합니다.
-
가져오기 - 특정 URL에 대한 페이지 콘텐츠를 검색합니다. 를 로
external_web_access설정하면falseFetch는 Amazon Bedrock 캐시만 사용합니다. 파라미터를 로 설정하고true필요한 IAM 권한을 부여한 상태에서 가져오기는 먼저 캐시를 확인하고 캐시 누락 시에만 외부 웹에 액세스합니다.
검색은 항상 Amazon Bedrock 웹 인덱스에서 제공됩니다. 응답 API의 external_web_access 파라미터와 bedrock-websearch:ExternalWebAccess IAM 권한은 캐시 누락 후 가져오기가 외부 웹을 사용할 수 있는지 여부를 제어합니다. 자세한 내용은 외부 웹 액세스 제어을 참조하세요.
지원되는 모델
웹 검색은 응답 API를 사용하여 Amazon Bedrock bedrock-mantle 엔드포인트를 통해 제공되는 OpenAI GPT 모델에 사용할 수 있습니다. 상용 미국 리전에서는 GPT-5.6 패밀리, , openai.gpt-5.6-sol openai.gpt-5.6-terra및 openai.gpt-5.6-luna 이전 openai.gpt-5.4 및에서 지원됩니다openai.gpt-5.5. AWS GovCloud(미국)에서는 openai.gpt-5.6-terra, openai.gpt-5.6-luna및에서 지원됩니다openai.gpt-5.4. 이 가이드의 예제에서는를 사용합니다openai.gpt-5.6-terra. 웹 검색 요금은 Amazon Bedrock 요금 페이지를
참고
웹 검색은 서버 측 도구이므로 bedrock-runtime 엔드포인트에서 응답 API를 호출할 때는 사용할 수 없습니다. 이를 사용하려면에서 응답 API를 호출합니다bedrock-mantle. 두 엔드포인트 간의 다른 차이점은 섹션을 참조하세요bedrock-runtime 엔드포인트에서 응답 API 사용.
리전별 가용성
웹 검색은 리전 내 쿼리를 처리합니다. 아래에서 현재 가용성을 참조하세요.
미국
| 리전 | 리전 코드 |
|---|---|
| 미국 동부(버지니아 북부) | us-east-1 |
| 미국 동부(오하이오) | us-east-2 |
| 미국 서부(오리건) | us-west-2 |
AWS GovCloud(미국)
| 리전 | 리전 코드 |
|---|---|
| AWS GovCloud (US-West) | us-gov-west-1 |
웹 검색은 엄격하게 리전별로 이루어집니다. 각 리전은 자체 검색 및 가져오기 계층을 운영하며 쿼리, 가져오기, 인덱스 데이터 및 결과는 리전 간에 라우팅되지 않습니다. 지정된 리전에서 실행된 쿼리는 해당 리전의 경계 내에 유지됩니다.
웹 검색 활성화
웹 검색을 사용하려면 요청 뒤의 IAM 자격 증명이 웹 검색 작업을 호출할 수 있어야 합니다. 필요한 권한 및 예제 정책은 웹 검색을 위한 자격 증명 및 액세스 관리를 참조하세요.
환경 설정
예제를 실행하기 전에 다음을 설정합니다.
export OPENAI_API_KEY="your-amazon-bedrock-api-key" export OPENAI_BASE_URL="https://bedrock-mantle.us-west-2.api.aws/openai/v1"
요청에 웹 검색 도구 추가
웹 검색을 활성화하려면 요청의 web_search tools 배열에 유형의 도구를 추가합니다. 이 모델은 요청에 현재 정보가 필요하다고 판단되는 경우에만 도구를 사용합니다. 실행 가능한 예제는 섹션을 참조하세요코드 예제.
검색 컨텍스트 크기 제어
search_context_size를 사용하여 각 검색 호출이 모델에 반환할 수 있는 컨텍스트의 양을 제어합니다. 지원되는 값은 다음과 같습니다.
| 값 | 관찰 예산 | 사용해야 하는 경우 |
|---|---|---|
low |
최대 5 | 간단한 질문에 대한 컨텍스트가 작고 입력 토큰 사용량이 적습니다. |
medium |
최대 11개 | 기본값입니다. 결과 적용 범위와 입력 토큰 사용량의 균형을 맞춥니다. |
high |
최대 25개 | 복잡한 질문이나 다중 홉 질문의 컨텍스트가 많아져 입력 토큰 사용 가능성이 높아집니다. |
관찰에는 제목, URL 및 콘텐츠 조각이 포함됩니다. 검색 호출에 여러 쿼리가 포함되어 있고 서비스가 최대값보다 적은 관측치를 반환할 수 있는 경우 예산이 공유됩니다. 설정이 클수록 모델 입력 토큰 및 관련 추론 비용이 증가할 수 있습니다. 이 파라미터는 모델이 수행할 수 있는 검색 호출 수를 제한하지 않습니다.
tools=[{ "type": "web_search", "search_context_size": "low", "external_web_access": False, }]
외부 웹 액세스 제어
검색은 Amazon Bedrock 웹 인덱스에서 제공됩니다. 캐시 누락 후 Fetch가 외부 웹에서 페이지 콘텐츠를 검색할 수 있는지 여부는 응답 API의 external_web_access 파라미터와 bedrock-websearch:ExternalWebAccess IAM 권한이라는 두 가지 제어가 함께 작동합니다.
external_web_access 파라미터는 기본적으로 로 설정되며 trueOpenAI 응답 API와 일치하므로 호출을 변경할 필요가 없습니다. AmazonBedrockFullAccess 정책은 기본 웹 검색 작업인 bedrock-websearch:InvokeSearch 및는 부여bedrock-websearch:InvokeFetch하지만는 부여하지 않습니다bedrock-websearch:ExternalWebAccess. 따라서가 보유하지 않는 자격 증명true에서 external_web_access를 벗어나는 요청은 캐시를 읽기 전에 각 가져오기 시도에 대한 백엔드 권한 부여 검사에 ExternalWebAccess 실패합니다. 호출자의 응답 API 요청은 여전히 HTTP를 반환할 수 있습니다200. 모델은 검색 관측치를 계속 사용하고 url_citation 주석을 반환할 수 있습니다. 모델 응답이 가져오기 실패를 공개한다는 보장은 없으며, 인용이 있다고 해서 인용된 페이지를 가져왔다는 의미는 아닙니다. 거부된 InvokeFetch 호출은 웹 검색 데이터 이벤트 로깅이 활성화된 경우 CloudTrail에 표시됩니다. 자세한 내용은 웹 검색 모니터링을 참조하세요.
가져오기에 대해 다음 구성 중 하나를 선택합니다.
AWS 경계 내에 요청 유지
도구"external_web_access": false에를 설정합니다. 여기에는 ExternalWebAccess 권한이 필요하지 않으며, Amazon Bedrock 웹 인덱스 및 캐시에서 검색이 완전히 제공되고, 요청 데이터가 AWS 경계를 벗어나지 않습니다. AmazonBedrockFullAccess는를 부여하므로 InvokeFetch캐시된 가져오기는 계속 작동합니다. 파라미터를 명시적으로 설정합니다. 해당 구성으로 인해 가져오기 시도가 실패true하므로 파라미터를 기본값인 로 두고 권한 생략에 의존하지 마세요.
response = client.responses.create( model="openai.gpt-5.6-terra", input="Summarize recent guidance on AWS Lambda cold starts.", tools=[{"type": "web_search", "external_web_access": False}], )
curl "https://bedrock-mantle.us-west-2.api.aws/openai/v1/responses" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai.gpt-5.6-terra", "input": "Summarize recent guidance on AWS Lambda cold starts.", "tools": [{"type": "web_search", "external_web_access": false}] }'
외부 웹 액세스 활성화
요청 자격 bedrock-websearch:ExternalWebAccess 증명에 부여하고를 external_web_access로 설정합니다true. 가장 간단한 관리형 정책 경로는 AmazonBedrockExternalWebSearchReadOnly 또는를 연결하는 것입니다AmazonBedrockExternalWebSearchFullAccess. 이러한 정책의 현재 버전은 동일한 리소스에 대해 동일한 3개의 웹 검색 작업을 부여하므로 두 정책 모두 외부 검색을 활성화합니다. 자세한 내용은 관리형 정책을 참조하세요.
이 구성을 사용하면 검색에서 Amazon Bedrock 웹 인덱스를 계속 사용합니다. 가져오기는 Amazon Bedrock 캐시를 먼저 확인하고 적절한 페이지 콘텐츠가 캐시에 없는 경우에만 외부 웹에서 검색합니다. 가져오기가 외부 웹에 도달하면 요청 데이터가 경계를 AWS 벗어날 수 있습니다. 외부 검색은 권한을 부여하고 파라미터를 활성화된 상태로 둘 때만 적용됩니다.
참고
를 external_web_access로 설정하면 데이터 유출 위험이 true 발생합니다. 에이전트는 쿼리 데이터를 URL로 인코딩한 다음 외부 인터넷에서 해당 URL을 가져오려고 시도할 수 있습니다. 민감한 데이터로 작업하는 경우 데이터가 외부 인터넷에 도달하지 않도록 false를 external_web_access 로 설정합니다.
Codex에서 웹 검색 사용
OpenAI의 코딩 에이전트인 Codex는 bedrock-mantle 엔드포인트를 통해 Amazon Bedrock에 연결하고 지원되는 모델에서 웹 검색을 사용할 수 있습니다. 웹 검색은 Codex 데스크톱 앱과 CLI 버전 0.147.0 이상에서 사용할 수 있습니다.
Codex에서 웹 검색을 사용하는 경우 표준 웹 검색 권한 이외의 추가 IAM 설정이 필요하지 않습니다. API 키 뒤에 있는 IAM 자격 증명은 웹 검색 작업 bedrock-websearch:InvokeSearch 및를 호출할 수 있어야 합니다bedrock-websearch:InvokeFetch. 이러한 작업은 AmazonBedrockFullAccess 정책에 의해 부여됩니다. 필요한 권한 및 예제 정책은 웹 검색을 위한 자격 증명 및 액세스 관리를 참조하세요.
지원되는 Amazon Bedrock 모델에서 Codex는 텍스트 전용 웹 검색을 사용하여 Amazon Bedrock 웹 인덱스 및 캐시에서 제목, URLs 및 콘텐츠 조각을 반환합니다. Codex는 각 요청에 false 대해를 external_web_access로 설정하므로 요청 데이터는 AWS 경계 내에 유지됩니다. 자세한 내용은 외부 웹 액세스 제어을 참조하세요.
코드 예제
응답 API
from openai import OpenAI client = OpenAI() response = client.responses.create( model="openai.gpt-5.6-terra", input="What are the most significant AWS launches announced this month?", tools=[{"type": "web_search", "external_web_access": False}], ) print(response.output_text)
응답에는 소스를 가리키는 url_citation 주석과 함께 근거가 있는 응답 텍스트가 포함됩니다.
{ "content": [ { "annotations": [ { "end_index": 573, "start_index": 441, "title": "Upgrade Amazon EKS clusters with confidence using Kubernetes version rollbacks | AWS News Blog", "type": "url_citation", "url": "https://aws.amazon.com/blogs/aws/upgrade-amazon-eks-clusters-with-confidence-using-kubernetes-version-rollbacks/" }, { "end_index": 1094, "start_index": 888, "title": "AWS Weekly Roundup: AWS Builder Center at 1 year, Network Scanning in Security Hub, Loom for AWS, and more (July 13, 2026) | AWS News Blog", "type": "url_citation", "url": "https://aws.amazon.com/blogs/aws/aws-weekly-roundup-aws-builder-center-at-one-year-network-scanning-in-security-hub-loom-for-aws-and-more-july-13-2026/" }, { "end_index": 1837, "start_index": 1414, "title": "AWS Weekly Roundup: One-click Lambda setup prompt, OpenAI GPT-5.6 models on Bedrock, and more (July 20, 2026) | AWS News Blog", "type": "url_citation", "url": "https://aws.amazon.com/blogs/aws/aws-weekly-roundup-one-click-lambda-setup-prompt-openai-gpt-5-6-models-on-bedrock-and-more-july-20-2026/" } ], "logprobs": [], "text": "As of **July 30, 2026**, the most significant AWS launches this month:\n\n1. **Amazon EKS Kubernetes version rollbacks** — EKS now lets admins roll back a Kubernetes version upgrade within **seven days**, effectively adding an “undo” path for cluster upgrades and reducing upgrade risk for large or regulated Kubernetes fleets. It’s available at no additional cost in commercial Regions where EKS is available. ([aws.amazon.com](https://aws.amazon.com/blogs/aws/upgrade-amazon-eks-clusters-with-confidence-using-kubernetes-version-rollbacks/))\n\n2. **AWS Security Hub Network Scanning + Azure support** — Security Hub added active Network Scanning to find resources actually reachable from the public internet, and also expanded unified security management to **Microsoft Azure** resources, making this a notable multi-cloud security/posture-management move. ([aws.amazon.com](https://aws.amazon.com/blogs/aws/aws-weekly-roundup-aws-builder-center-at-one-year-network-scanning-in-security-hub-loom-for-aws-and-more-july-13-2026/))\n\n3. **New frontier models on Amazon Bedrock: Claude Sonnet 5, Claude Opus 5, and OpenAI GPT-5.6 models** — AWS added major new model choices to Bedrock this month: Anthropic’s Claude Sonnet 5 and Claude Opus 5, plus OpenAI GPT-5.6 Sol, Terra, and Luna, expanding Bedrock’s role as a multi-model enterprise AI platform. ([aws.amazon.com](https://aws.amazon.com/blogs/aws/aws-weekly-roundup-one-click-lambda-setup-prompt-openai-gpt-5-6-models-on-bedrock-and-more-july-20-2026/))", "type": "output_text" } ], "id": "msg_dcda8e4b477f5a1d96bfbcadefef7a77", "phase": "final_answer", "role": "assistant", "status": "completed", "type": "message" }
직접 HTTPS 요청
OpenAI SDK를 사용하지 않는 경우 요청을 응답 엔드포인트로 직접 전송합니다. tools 필드에는 웹 검색 도구가 들어 있습니다.
curl "https://bedrock-mantle.us-west-2.api.aws/openai/v1/responses" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai.gpt-5.6-terra", "input": "What are the most significant AWS launches announced this month?", "tools": [{"type": "web_search", "external_web_access": false}] }'
응답에서 인용 읽기
웹 검색은 텍스트에 연결된 url_citation 주석으로 인용을 반환합니다. 각 주석에는 소스 제목과 URL 및 지원하는 답변의 문자 범위가 포함됩니다. 이를 보관하고 최종 사용자에게 표시합니다.
가져오기가 전체 페이지를 검색하지 않은 경우에도 인용은 검색 관측치를 기반으로 할 수 있습니다. 인용의 존재를 사용하여 콘텐츠가 Amazon Bedrock 캐시에서 왔는지 아니면 외부 웹에서 왔는지 판단하지 마세요. 가져오기 결과 및 검색 소스를 감사하려면 CloudTrail의 fetchedSources 필드를 사용합니다. 자세한 내용은 웹 검색 모니터링을 참조하세요.
from openai import OpenAI client = OpenAI() response = client.responses.create( model="openai.gpt-5.6-terra", input="What are the most significant AWS launches announced this month?", tools=[{"type": "web_search", "external_web_access": False}], ) # The grounded answer print(response.output_text) # The sources behind it for item in response.output: if item.type == "message": for block in item.content: if block.type == "output_text": for ann in block.annotations: if ann.type == "url_citation": print(f"- {ann.title}: {ann.url}")
원시 JSON으로 작업하는 경우(예: 직접 HTTPS 호출) 동일한 데이터가에 있습니다. output[].content[].annotations[]
jq '.output[] | select(.type=="message") | .content[] | select(.type=="output_text") | .annotations[] | select(.type=="url_citation") | {title, url, start_index, end_index}' response.json
스트리밍 응답
응답 API는 응답이 생성될 때 응답을 스트리밍합니다. 텍스트는 response.output_text.delta 이벤트로 도착하고 각 인용은 모델이 문을 기반으로 할 때 response.output_text.annotation.added 이벤트로 도착합니다.
from openai import OpenAI client = OpenAI() stream = client.responses.create( model="openai.gpt-5.6-terra", input="What are the most significant AWS launches announced this month?", tools=[{"type": "web_search", "external_web_access": False}], stream=True, ) for event in stream: if event.type == "response.output_text.delta": print(event.delta, end="", flush=True) elif event.type == "response.output_text.annotation.added": ann = event.annotation print(f"\n[source] {ann['title']}: {ann['url']}")
와이어를 통해 주석 이벤트는 다음과 같습니다.
event: response.output_text.annotation.added data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","title":"News and Updates from the July 2025 Pokémon Presents","url":"https://www.pokemon.com/us/pokemon-news/...","start_index":589,"end_index":698},"annotation_index":2,"content_index":0,"item_id":"msg_...","output_index":1}
보안
Amazon Bedrock의 웹 검색은 AWS Identity and Access Management (IAM)을 사용하여 검색 및 가져오기를 실행할 수 있는 사용자와 리전을 제어합니다. 웹 검색의 IAM 서비스 접두사는 입니다bedrock-websearch. 웹 검색을 비활성화하기 위한 작업, 관리형 정책, 조건 키, 예제 정책 및 관리자 제어의 전체 목록은 웹 검색을 위한 자격 증명 및 액세스 관리를 참조하세요.
CloudTrail을 사용한 모니터링
Amazon Bedrock의 웹 검색은와 통합됩니다 AWS CloudTrail. CloudTrail은 웹 검색에 대한 API 활동을 데이터 이벤트로 캡처하므로 누가 언제 어디서 도구를 호출했는지 감사할 수 있습니다. 캡처된 필드, 데이터 이벤트 로깅을 활성화하는 방법 및 의도적으로 제외된 항목은 웹 검색 모니터링을 참조하세요.
허용 가능한 사용
Amazon Bedrock에서 웹 검색을 사용하는 경우 Amazon Bedrock은 지원되는 모델에 웹 검색 결과(“검색 결과”)를 제공하며, 모델이 응답을 생성하는 데 사용할 수 있습니다. 검색 결과를 통합하는 모델 출력의 사용 및 최종 사용자의 사용에 대한 책임은 사용자에게 있습니다. 최종 사용자에게 표시하는 출력에서 모델 출력에 제공된 소스 인용 및 링크를 유지하고 표시해야 합니다. 웹 검색을 사용하여 (a) 검색 결과에서 콘텐츠를 대량으로 추출, 저장 또는 복제하거나 (b) 경쟁 인덱스 또는 데이터베이스를 빌드 또는 채울 수 없습니다.