본문 바로가기

AI Development

OpenAI × AWS 완전 분석 — GPT-5.5, Codex, Managed Agents가 Amazon Bedrock에 상륙한 이유

반응형

Microsoft 독점이 끝난 다음 날, AWS가 움직였습니다. $50B 투자, OpenAI 모델 전체를 Bedrock으로.

[핵심 요약]
→ 발표: 2026년 4월 28일 (AWS "What's Next" 이벤트, 샌프란시스코)
→ 배경: Microsoft-OpenAI 독점 계약 종료 다음 날 발표
→ 투자: Amazon → OpenAI $50B ($15B 즉시 + $35B 조건부)
→ 3가지 출시: OpenAI 모델 on Bedrock + Codex on Bedrock + Managed Agents
→ 모델: GPT-5.5, GPT-5.4 포함 (한정 프리뷰)
→ 코딩: Codex CLI, 데스크탑 앱, VS Code 익스텐션 → AWS 자격증명으로 인증
→ 에이전트: Amazon Bedrock Managed Agents (OpenAI 하네스 기반)
→ 거버넌스: IAM, PrivateLink, CloudTrail, 암호화 모두 기존 AWS 것 사용
→ 상태: 한정 프리뷰 (Limited Preview) — 대기 목록 신청 필요

왜 이게 big deal인가

[배경 타임라인]

2019~2025:
→ Microsoft가 OpenAI에 독점 계약 + $13B 투자
→ Azure에서만 OpenAI 모델 사용 가능 (기업 고객)
→ AWS, GCP 고객은 Claude, Gemini만 선택 가능

2026년 2월:
→ Amazon, OpenAI에 $50B 투자 발표 (역대 최대 AI 투자)
→ Microsoft-OpenAI 독점 재협상 시작

2026년 4월 27일:
→ Microsoft-OpenAI 독점 계약 공식 종료 발표

2026년 4월 28일:
→ (다음 날) AWS-OpenAI 파트너십 발표
→ GPT-5.5, Codex, Managed Agents → Amazon Bedrock
→ "타이밍이 우연이 아니다" — AI 업계 반응
[시장 충격]
"모델 독점 시대 끝났다"
→ GPT-5.5: OpenAI API + Azure + AWS Bedrock 모두에서 사용 가능
→ Claude: AWS Bedrock + Azure + GCP Vertex + 직접 API
→ Gemini: GCP Vertex + AWS Bedrock + 직접 API
→ 2026년 = AI 모델 유통의 멀티클라우드 시대

기업 구매자 입장 변화:
→ 이전: "OpenAI 쓰려면 Azure 써야 함"
→ 이후: "AWS 기존 계약/EDP로 OpenAI 포함 전부 결제"
→ 조달/거버넌스가 단순해짐 → 엔터프라이즈 도입 가속

실전 1 — OpenAI 모델 on Amazon Bedrock

# 기존 Bedrock 코드 — Claude 사용
import boto3

bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")

response = bedrock.invoke_model(
    modelId="anthropic.claude-sonnet-4-6",
    body=json.dumps({
        "messages": [{"role": "user", "content": "안녕하세요"}],
        "max_tokens": 1024
    })
)
# OpenAI on Bedrock — 모델 ID만 바뀜
import boto3
import json

bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")

# GPT-5.5 사용 (모델 ID만 변경, 나머지 동일)
response = bedrock.converse(
    modelId="openai.gpt-5.5",   # ← 모델 ID만 바꾸면 됨
    messages=[
        {
            "role": "user",
            "content": [
                {"text": "FastAPI 인증 시스템 설계해줘"}
            ]
        }
    ],
    inferenceConfig={
        "maxTokens": 2048,
        "temperature": 0.7
    }
)

print(response["output"]["message"]["content"][0]["text"])
# Bedrock Converse API (멀티모달 + 툴 호출)
response = bedrock.converse(
    modelId="openai.gpt-5.4",
    messages=[
        {
            "role": "user",
            "content": [{"text": "이 코드 리뷰해줘"}]
        }
    ],
    toolConfig={
        "tools": [
            {
                "toolSpec": {
                    "name": "search_docs",
                    "description": "문서 검색",
                    "inputSchema": {
                        "json": {
                            "type": "object",
                            "properties": {
                                "query": {"type": "string"}
                            },
                            "required": ["query"]
                        }
                    }
                }
            }
        ]
    }
)
[OpenAI on Bedrock 상속받는 AWS 기능]

보안:
→ IAM 역할 기반 접근 제어 (API 키 별도 관리 불필요)
→ AWS PrivateLink: VPC 내부에서만 통신 (인터넷 우회)
→ 저장/전송 암호화 (기존 KMS 키 사용)

감사:
→ AWS CloudTrail: 모든 API 호출 로깅
→ 기존 SIEM 연동 그대로 유지

컴플라이언스:
→ SOC 2, HIPAA, ISO 27001 등 기존 Bedrock 인증 상속
→ GDPR 데이터 거주성 설정 가능

비용:
→ 기존 AWS EDP (Enterprise Discount Program) 적용
→ Savings Plans, Reserved Capacity 포함
→ 별도 OpenAI 청구서 없음 → 통합 AWS 인보이스

실전 2 — Codex on Amazon Bedrock

# Codex CLI — AWS 자격증명으로 Bedrock 연결
# 기존 OpenAI API 키 대신 AWS 자격증명 사용

# AWS 자격증명 설정 (기존 AWS 환경이면 이미 설정됨)
aws configure
# 또는
export AWS_PROFILE=your-profile
export AWS_REGION=us-east-1

# Codex CLI 설치 (기존과 동일)
npm install -g @openai/codex

# Bedrock 프로바이더로 설정
codex config set provider bedrock
codex config set region us-east-1

# 실행 (API 키 없이 AWS 자격증명으로)
cd your-project
codex

# 기존 사용법과 완전 동일
> 이 레포에서 인증 버그 찾아서 수정해줘
> JWT 만료 처리 로직 리뷰해줘
# Bedrock API로 Codex 직접 호출
import boto3

bedrock = boto3.client("bedrock-runtime")

# Codex 코딩 에이전트 호출
response = bedrock.invoke_agent(
    agentId="codex-agent-id",         # Bedrock에 등록된 Codex 에이전트
    agentAliasId="codex-alias-id",
    sessionId="session-123",
    inputText="이 FastAPI 앱에서 N+1 쿼리 문제 찾아서 수정해줘"
)

for event in response["completion"]:
    if "chunk" in event:
        print(event["chunk"]["bytes"].decode())
[Codex on Bedrock vs OpenAI 직접 API]

OpenAI 직접:
→ OpenAI API 키 필요 (별도 계정/관리)
→ 데이터가 OpenAI 서버로 전송
→ OpenAI 청구서 별도
→ 기업 보안팀 승인 필요 (외부 벤더)

Codex on Bedrock:
→ AWS 자격증명으로 인증 (기존 IAM 역할)
→ 데이터가 VPC 내에서만 처리 (PrivateLink)
→ AWS 청구서에 통합
→ 기업 보안팀이 이미 승인한 인프라
→ CloudTrail로 모든 Codex 호출 감사 가능

실전 3 — Amazon Bedrock Managed Agents (OpenAI 하네스)

Managed Agents는 단순 모델 호출을 넘어서 프로덕션 에이전트 배포 전체를 관리합니다.

import boto3

bedrock_agent = boto3.client("bedrock-agent")

# 1. Managed Agent 생성
agent_response = bedrock_agent.create_agent(
    agentName="procurement-agent",
    agentResourceRoleArn="arn:aws:iam::123456789:role/BedrockAgentRole",
    foundationModel="openai.gpt-5.5",   # OpenAI 모델 선택
    instruction="""
    당신은 조달 자동화 에이전트입니다.
    발주서를 검토하고, 재고를 확인하며,
    승인 워크플로우를 관리합니다.

    중요: 결제 승인은 반드시 사람에게 위임하세요.
    """,
    idleSessionTTLInSeconds=1800
)

agent_id = agent_response["agent"]["agentId"]
print(f"에이전트 생성됨: {agent_id}")
# 2. 에이전트에 Action Group (툴) 추가
bedrock_agent.create_agent_action_group(
    agentId=agent_id,
    agentVersion="DRAFT",
    actionGroupName="procurement-tools",
    actionGroupExecutor={
        "lambda": "arn:aws:lambda:us-east-1:123456789:function:procurement-handler"
    },
    apiSchema={
        "payload": json.dumps({
            "openapi": "3.0.0",
            "paths": {
                "/check-inventory": {
                    "get": {
                        "description": "재고 수량 확인",
                        "parameters": [
                            {
                                "name": "product_id",
                                "in": "query",
                                "required": True,
                                "schema": {"type": "string"}
                            }
                        ]
                    }
                },
                "/create-purchase-order": {
                    "post": {
                        "description": "발주서 생성 (승인 필요)",
                        "requestBody": {
                            "content": {
                                "application/json": {
                                    "schema": {
                                        "type": "object",
                                        "properties": {
                                            "product_id": {"type": "string"},
                                            "quantity":   {"type": "integer"}
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        })
    }
)
# 3. 에이전트에 Knowledge Base (RAG) 연결
bedrock_agent.associate_agent_knowledge_base(
    agentId=agent_id,
    agentVersion="DRAFT",
    knowledgeBaseId="kb-procurement-docs",  # S3 기반 문서
    description="조달 정책 및 제품 카탈로그"
)
# 4. 에이전트 배포 및 실행
# 배포
bedrock_agent.prepare_agent(agentId=agent_id)
bedrock_agent.create_agent_alias(
    agentId=agent_id,
    agentAliasName="production",
    routingConfiguration=[{
        "agentVersion": "1"
    }]
)

# 실행
bedrock_agent_runtime = boto3.client("bedrock-agent-runtime")

response = bedrock_agent_runtime.invoke_agent(
    agentId=agent_id,
    agentAliasId="alias-id",
    sessionId="session-001",
    inputText="제품 A-123 재고 확인하고 50개 발주해줘"
)

for event in response["completion"]:
    if "chunk" in event:
        text = event["chunk"]["bytes"].decode()
        print(text, end="", flush=True)
[Managed Agents 핵심 기능]

에이전트 신원:
→ 각 에이전트가 고유 IAM 역할 보유
→ 최소 권한 원칙 자동 적용
→ 5개국 보안 가이드 권고사항 기본 반영

상태 관리 (Stateful Runtime):
→ 세션 간 컨텍스트 유지
→ 중단된 작업 재시작
→ 장기 실행 태스크 지원

감사 추적:
→ 모든 에이전트 액션 CloudTrail 로깅
→ 어떤 에이전트가 언제 무엇을 했는지 완전 추적
→ 로그 삭제 차단 (에이전트 권한에서 제외)

AgentCore 통합:
→ 기본 컴퓨트 환경 제공
→ 메모리, 스킬, 신원 관리 통합
→ Bedrock 서비스 전체와 네이티브 통합

실전 4 — 기존 Claude on Bedrock과 비교

# 모델 선택 기준 (2026년 4월 기준)

model_comparison = {
    "anthropic.claude-opus-4.7": {
        "강점":   "SWE-bench Pro 1위, MCP 네이티브, Claude Code 통합",
        "약점":   "GPT-5.5 대비 Terminal-Bench 낮음",
        "비용":   "$5/$25 per 1M tokens",
        "적합":   "코드 리뷰, PR 자동화, Claude Code 워크플로우"
    },
    "openai.gpt-5.5": {
        "강점":   "Terminal-Bench 1위, 에이전트 코딩 최강",
        "약점":   "Claude 대비 MCP 생태계 부족",
        "비용":   "$5/$30 per 1M tokens",
        "적합":   "터미널 에이전트, 자율 코딩, Codex 워크플로우"
    },
    "openai.gpt-5.4": {
        "강점":   "네이티브 컴퓨터 사용, 툴 검색 (토큰 47% 절감)",
        "약점":   "GPT-5.5보다 성능 낮음",
        "비용":   "$2.50/$15 per 1M tokens",
        "적합":   "고볼륨, 비용 최적화, 반복 작업"
    }
}
# Bedrock에서 모델 라우팅 (멀티벤더)
def select_model_on_bedrock(task_type: str, priority: str) -> str:
    """Bedrock에서 태스크별 최적 모델 선택"""

    if task_type == "terminal_agent" and priority == "performance":
        return "openai.gpt-5.5"

    if task_type == "code_review" and priority == "performance":
        return "anthropic.claude-opus-4.7"

    if task_type == "bulk_processing" and priority == "cost":
        return "openai.gpt-5.4"    # 저렴 + 툴 검색 토큰 절감

    if task_type == "document_analysis":
        return "anthropic.claude-sonnet-4-6"  # 가성비

    if priority == "cheapest":
        return "amazon.nova-lite-v1"  # AWS 자체 모델

    return "anthropic.claude-sonnet-4-6"  # 기본값

실전 5 — AWS 기업 고객 마이그레이션 체크리스트

[기존 OpenAI API → Bedrock 마이그레이션]

1. 모델 ID 변경
   openai API: "gpt-5.5"
   Bedrock:    "openai.gpt-5.5"

2. 인증 변경
   OpenAI: OPENAI_API_KEY 환경변수
   Bedrock: AWS IAM 역할 (자격증명 자동 처리)

3. 엔드포인트 변경
   OpenAI: api.openai.com
   Bedrock: bedrock.us-east-1.amazonaws.com (VPC 내부)

4. SDK 변경
   기존: from openai import OpenAI
   신규: import boto3; bedrock = boto3.client("bedrock-runtime")
   또는: Bedrock의 OpenAI-호환 엔드포인트 사용 (코드 변경 최소화)

5. 비용 통합
   → 기존 AWS EDP/Savings Plans에 OpenAI 사용량 포함
   → 단일 인보이스로 통합

6. 데이터 거주성 설정
   → Bedrock 리전 설정으로 데이터 위치 제어
   → PrivateLink로 외부 인터넷 우회

시장 의미 — "AI 모델 슈퍼마켓"의 완성

[2026년 5월 기준 Bedrock 모델 라인업]

OpenAI:    GPT-5.5, GPT-5.4 (신규 ✨)
Anthropic: Claude Opus 4.7, Sonnet 4.6, Haiku 4.5
Meta:      Llama 4 Scout, Maverick
Google:    Gemini 3.1 Pro, Flash (선택적)
Amazon:    Nova Pro, Nova Lite, Titan
Mistral:   Mistral Large, Mistral Small
Cohere:    Command R+, Embed v3
AI21:      Jurassic-3

→ 단일 플랫폼에서 모든 프론티어 모델
→ 단일 IAM, 단일 청구, 단일 컴플라이언스
→ 벤더 이탈(Vendor Lock-in) 가장 낮은 선택지

Matt Domo (전 AWS 데이터베이스 부문 총괄):
"모델 독점은 항상 일시적이었다.
Microsoft가 잃은 순간 Amazon이 움직였다.
모델 레이어는 기업들이 인정하는 것보다
훨씬 빠르게 범용화되고 있다."

마무리

✅ AWS 고객이 지금 해야 할 것
→ Limited Preview 대기 목록 신청: aws.amazon.com/bedrock/openai
→ 기존 OpenAI API 비용 리뷰 → Bedrock 통합 시 EDP 적용 여부 확인
→ IAM 역할 설계 검토 → Managed Agents 신원 관리 준비
→ Codex on Bedrock: Codex CLI 설정 → AWS 자격증명 연결

✅ 엔터프라이즈 아키텍처 관점
→ 모델 라우팅: 태스크별 Claude/GPT/Nova 선택 → 비용 최적화
→ 컴플라이언스: PrivateLink + CloudTrail → 감사 요건 자동 충족
→ 에이전트 거버넌스: Managed Agents로 5개국 보안 가이드 기본 반영

❌ 아직 기다려야 할 경우
→ 현재 Limited Preview (일반 가용성 시기 미공개)
→ Bedrock 특화 가격 미공개 (직접 API 대비 비교 불가)
→ OpenAI API에 최적화된 기존 코드: SDK 변경 필요 (일부 마찰)
→ Claude Code 워크플로우 사용 중: 마이그레이션 이점 낮음

 


관련 글:

https://cell-devlog.tistory.com/34

 

13조 원 투자한 파트너 대체하는 Microsoft의 AI 독립 선언

2026년 4월 2일, Microsoft가 조용히 폭탄을 투하했어요.자체 개발 AI 모델 3종을 동시 출시했어요. OpenAI 이름이 어디에도 없는 모델들이에요. 13조 원을 투자한 파트너의 기술을 대체하는 모델들이요.

cell-devlog.tistory.com

https://cell-devlog.tistory.com/128

 

GPT-5.5 비싸다 — GPT-5.4 대비 2배

출력 토큰 가격이 2배 올랐습니다. 에이전트 돌리는 개발자라면 이번 달 청구서가 달라집니다.[핵심 요약]→ GPT-5.5 가격: 입력 $5/1M, 출력 $30/1M→ GPT-5.4 대비: 입력 2배, 출력 2배 인상→ Claude Opus 4.

cell-devlog.tistory.com

 

반응형