View a markdown version of this page

Amazon Bedrock과 RDS for Oracle 통합 - Amazon Relational Database Service

Amazon Bedrock과 RDS for Oracle 통합

RDS for Oracle은 Amazon Bedrock과의 통합을 지원하므로 SQL을 사용하여 Oracle 데이터베이스에서 직접 파운데이션 모델을 간접적으로 호출할 수 있습니다. 이 통합을 통해 데이터베이스에서 데이터를 이동하지 않고도 텍스트 생성, 요약, 임베딩 생성과 같은 생성형 AI 기능을 사용할 수 있습니다.

참고

Amazon Bedrock 통합은 Oracle Database 26ai에서만 지원됩니다.

Bedrock 통합 요구 사항

Amazon Bedrock과 RDS for Oracle 통합을 사용하려면 다음 요구 사항을 충족해야 합니다.

데이터베이스 요구 사항

  • DB 인스턴스는 Oracle Database 26ai (26.0.0.0) 이상을 실행해야 합니다.

  • Bedrock 모델을 간접적으로 호출하는 데이터베이스 사용자는 DBMS_CLOUDDBMS_CLOUD_AI 패키지에 대한 EXECUTE 권한이 있어야 합니다.

  • 데이터베이스는 Bedrock 런타임 엔드포인트에 대한 아웃바운드 HTTPS 액세스를 허용하는 액세스 제어 항목(ACE)으로 구성되어야 합니다. 자세한 내용은 Bedrock 통합 구성 섹션을 참조하세요.

AWS 자격 증명 요구 사항

  • 원하는 Amazon Bedrock 파운데이션 모델(bedrock:InvokeModel 및 선택적으로 bedrock:InvokeModelWithResponseStream 작업)을 간접적으로 호출할 권한이 있는 IAM 사용자 또는 역할이 있어야 합니다.

  • Amazon Bedrock 콘솔을 사용하여 원하는 파운데이션 모델에 대한 액세스 권한을 요청하고 부여받아야 합니다. 자세한 내용은 Amazon Bedrock 사용 설명서Amazon Bedrock 파운데이션 모델 액세스를 참조하세요.

  • DBMS_CLOUD.CREATE_CREDENTIAL을 사용하여 IAM 자격 증명을 데이터베이스에 저장하려면 AWS 액세스 키(액세스 키 ID 및 시크릿 액세스 키)가 있어야 합니다.

Amazon VPC 네트워크 요구 사항

RDS for Oracle DB 인스턴스는 포트 443(HTTPS)의 Amazon Bedrock 런타임 엔드포인트(bedrock-runtime.region.amazonaws.com)에 연결할 수 있어야 합니다. 이를 다음 중 한 가지 방법으로 달성할 수 있습니다.

옵션 1: Amazon VPC 인터페이스 엔드포인트(AWS PrivateLink) – 권장

Amazon Bedrock 런타임 서비스에 대한 Amazon VPC 인터페이스 엔드포인트를 생성합니다. 이렇게 하면 AWS 네트워크 내에서 모든 트래픽이 비공개로 유지되며 인터넷 액세스가 필요하지 않습니다.

  1. 서비스 이름 com.amazonaws.region.bedrock-runtime을 사용하여 Amazon RDS 엔드포인트를 생성합니다.

  2. 이 엔드포인트를 Amazon RDS DB 인스턴스와 동일한 Amazon VPC 및 서브넷(또는 DB 인스턴스 서브넷에 연결된 서브넷)에 배치합니다.

  3. DB 인스턴스의 보안 그룹에서 인바운드 HTTPS(포트 443)를 허용하는 보안 그룹을 엔드포인트에 연결합니다.

  4. 표준 호스트 이름 bedrock-runtime.region.amazonaws.com이 프라이빗 엔드포인트 IP 주소로 확인되도록 엔드포인트에 대해 프라이빗 DNS를 활성화합니다.

  5. DB 인스턴스의 보안 그룹이 엔드포인트의 보안 그룹(또는 엔드포인트의 프라이빗 IP 주소)에 대한 아웃바운드 HTTPS(포트 443)를 허용하는지 확인합니다.

옵션 2: NAT 게이트웨이(인터넷 라우팅)

Amazon VPC 엔드포인트를 사용하지 않는 경우 DB 인스턴스의 서브넷에는 NAT 게이트웨이를 통해 인터넷으로 연결되는 경로가 있어야 합니다.

  1. DB 인스턴스가 NAT 게이트웨이에 대한 경로가 있는 프라이빗 서브넷에 있는지 확인합니다.

  2. NAT 게이트웨이는 인터넷 게이트웨이로 라우팅하는 경로가 있는 퍼블릭 서브넷에 있어야 합니다.

  3. DB 인스턴스의 보안 그룹은 bedrock-runtime.region.amazonaws.com에 대한 아웃바운드 HTTPS(포트 443)를 허용해야 합니다.

  4. DB 인스턴스의 서브넷에 있는 모든 Amazon VPC 네트워크 ACL은 아웃바운드 TCP 443 및 해당 임시 인바운드 반환 트래픽(TCP 포트 1024–65535)을 허용해야 합니다.

다음 표에는 네트워크 경로가 요약되어 있습니다.

Bedrock 통합을 위한 네트워크 경로
접근 방식 인터넷 액세스 필요 트래픽 경로

Amazon VPC 엔드포인트(AWS PrivateLink)

아니요

DB 인스턴스 → Amazon VPC 엔드포인트 → Bedrock 서비스

NAT 게이트웨이

예(아웃바운드만 해당)

DB 인스턴스 → NAT 게이트웨이 → 인터넷 게이트웨이 → Bedrock 서비스

Bedrock 통합 구성

RDS for Oracle DB 인스턴스에 대해 Amazon Bedrock 통합을 구성하려면 다음 단계를 완료합니다.

1단계: Amazon VPC 네트워크 연결 구성

Amazon VPC 네트워크 요구 사항에 설명된 네트워크 옵션 중 하나를 사용하여 DB 인스턴스가 Bedrock 런타임 엔드포인트에 도달할 수 있는지 확인합니다. 구성 후 연결을 확인하기 위해 이후 단계에서 데이터베이스에서 테스트할 수 있습니다.

2단계: Bedrock 권한으로 AWS 자격 증명 획득

다음 정책을 사용하여 IAM 사용자 또는 역할을 생성합니다(또는 기존 자격 증명에 연결).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockInvoke", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:region::foundation-model/*" ] } ] }

액세스를 특정 모델로 제한하려면 와일드카드를 다음과 같은 특정 모델 ARN으로 바꿉니다.

"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-sonnet-4-5-20250929-v1:0"

IAM 콘솔에서 이 IAM 사용자의 액세스 키를 생성합니다. 다음 단계를 위해 액세스 키 ID 및 시크릿 액세스 키가 필요합니다.

3단계: 데이터베이스 권한 부여

DBA로 연결하고 애플리케이션 사용자에게 필요한 권한을 부여합니다.

-- Grant EXECUTE on DBMS_CLOUD and DBMS_CLOUD_AI GRANT EXECUTE ON DBMS_CLOUD TO db_user; GRANT EXECUTE ON DBMS_CLOUD_AI TO db_user;

4단계: Bedrock 엔드포인트에 대한 네트워크 ACL 액세스 권한 부여

데이터베이스 사용자 네트워크 ACL에 Bedrock 런타임 엔드포인트에 대한 액세스 권한을 부여합니다.

BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'bedrock-runtime.region.amazonaws.com', ace => xs$ace_type( privilege_list => xs$name_list('http'), principal_name => 'db_user', principal_type => xs_acl.ptype_db) ); END; /

region을 AWS 리전(예: us-east-1)으로 바꾸고 db_user를 Bedrock 모델을 간접적으로 호출할 Oracle 데이터베이스 사용자로 바꿉니다.

5단계: 데이터베이스에서 자격 증명 생성

애플리케이션 사용자로 연결하고 DBMS_CLOUD를 사용하여 자격 증명 객체를 생성합니다.

BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'AWS_BEDROCK_CRED', username => 'your_AWS_access_key_id', password => 'your_AWS_secret_access_key' ); END; /

6단계: Bedrock용 AI 프로필 생성

자격 증명을 참조하고 AWS를 공급자로 지정하는 DBMS_CLOUD_AI를 사용하여 AI 프로필을 생성합니다.

BEGIN DBMS_CLOUD_AI.CREATE_PROFILE( profile_name => 'BEDROCK_PROFILE', attributes => '{"provider": "aws", "credential_name": "AWS_BEDROCK_CRED", "model": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", "object_list": [{"owner": "schema", "name": "table1"}, {"owner": "schema", "name": "table2"}] }' ); END; /

us-east-1 이외의 리전에서 Amazon Bedrock 런타임 엔드포인트를 사용하려면 프로필 속성 JSON에 regiontarget_language 속성을 포함합니다. region을 Amazon Bedrock 런타임 엔드포인트가 위치한 리전(예: us-west-2)으로 설정합니다.

region을 설정하는 경우 target_language 또는 source_language도 포함해야 합니다. chat 또는 runsql와 같이 번역을 사용하지 않는 작업의 경우에도 두 속성을 모두 설정해야 합니다.

target_language 값은 translate 작업에만 영향을 줍니다. region 없이 target_language만 포함하는 경우 프로필은 bedrock-runtime.us-east-1.amazonaws.com을 계속 사용합니다.

참고

Oracle DBMS_CLOUD_AI 패키지의 알려진 제한으로 인해 target_languageregion과 함께 설정해야 합니다.

다음 예제에서는 us-west-2 리전을 사용하는 프로필을 생성합니다.

BEGIN DBMS_CLOUD_AI.CREATE_PROFILE( profile_name => 'BEDROCK_PROFILE_USW2', attributes => '{"provider": "aws", "credential_name": "AWS_BEDROCK_CRED", "region": "us-west-2", "target_language": "en", "model": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", "object_list": [{"owner": "schema", "name": "table1"}, {"owner": "schema", "name": "table2"}] }' ); END; /

model 속성을 명시적으로 지정해야 합니다. AWS 공급자에는 기본 모델이 제공되지 않습니다. 모델 ID는 다음 참조를 참조하세요.

Bedrock 통합 확인

간단한 프롬프트로 연결을 테스트합니다.

EXEC DBMS_CLOUD_AI.SET_PROFILE('BEDROCK_PROFILE'); SELECT AI chat what is Amazon RDS;

응답이 성공적으로 반환되면 Bedrock 통합이 올바르게 구성된 것입니다.

Bedrock 통합 사용

통합을 구성한 후 Select AI와 함께 SQL을 사용하여 Oracle 데이터베이스에서 Amazon Bedrock 파운데이션 모델을 간접적으로 호출할 수 있습니다.

SELECT AI 작업(runsql, showsql, narrate, chat, explainsql), DBMS_CLOUD_AI.GENERATE 함수, 멀티턴 대화, 검색 증강 생성(RAG)을 포함하여 Amazon Bedrock의 전체 사용 예제는 다음 Oracle 설명서를 참조하세요.