3단계: Snowflake에서 AWS용 API 통합 만들기
3단계: Snowflake에서 AWS용 API 통합 만들기
이 문서는 프록시 서비스(즉 Amazon API Gateway)와 함께 동작하도록 Snowflake에 API 통합(API integration) 객체를 만드는 방법을 설명해 드려요. Management Console을 사용하든 CloudFormation 템플릿을 사용하든 지침은 동일해요. 먼저 추적 워크시트에서 필요한 값을 확인한 뒤, CREATE API INTEGRATION 명령으로 API 통합을 만들고 DESCRIBE INTEGRATION으로 IAM 관련 값을 기록하는 흐름이에요.
본문
이 문서는 프록시 서비스(즉 Amazon API Gateway)와 함께 동작하도록 Snowflake에 API 통합 객체를 만드는 방법을 설명해요. Management Console을 사용하든 CloudFormation 템플릿을 사용하든 지침은 동일해요.
이전 단계
AWS Management Console:
2단계: AWS Management Console에서 프록시 서비스(Amazon API Gateway) 만들기
AWS CloudFormation 템플릿:
2단계: Amazon API Gateway URL과 새 IAM 역할 ARN 기록하기
사전 준비 사항
Snowflake에서 AWS용 API 통합을 만들려면 다음 정보가 필요해요:
New IAM Role ARN(추적 워크시트에서).Resource Invocation URL(추적 워크시트에서).
API 통합 객체 만들기
-
Snowflake 세션을 열어요. 보통 Snowflake 웹 인터페이스 세션이에요.
-
ACCOUNTADMIN 권한 또는 CREATE INTEGRATION 권한이 있는 Snowflake 역할을 사용해요. 예를 들어:
use role <has_accountadmin_privileges>;
- CREATE API INTEGRATION 명령을 입력해 API 통합을 만들어요. 명령은 다음과 비슷해야 해요:
CREATE OR REPLACE API INTEGRATION my_api_integration_01
api_provider = aws_api_gateway
api_aws_role_arn = '<new_IAM_role_ARN>'
api_allowed_prefixes = ('https://')
enabled = true;
명령을 상황에 맞게 수정하세요:
-
api_provider절은 엔드포인트 유형에 따라 설정해야 해요:- 프라이빗 엔드포인트를 사용한다면 api_provider 절을
aws_private_api_gateway로 설정해요. - 미국 정부 GovCloud 엔드포인트를 사용한다면 api_provider 절을
aws_gov_api_gateway또는aws_gov_private_api_gateway로 설정해요. - 대부분의 다른 사용자는 api_provider 절을
aws_api_gateway로 설정해요.
- 프라이빗 엔드포인트를 사용한다면 api_provider 절을
-
<new_IAM_role_ARN>는 추적 워크시트의New IAM Role ARN필드 값이어야 해요. -
api_allowed_prefixes 필드는 이전에 기록한 리소스 호출 URL(resource invocation URL)을 포함해야 해요.
다음은 완전한 CREATE API INTEGRATION 문장의 예시예요:
create or replace api integration demonstration_external_api_integration_01
api_provider=aws_api_gateway
api_aws_role_arn='arn:aws:iam::123456789012:role/my_cloud_account_role'
api_allowed_prefixes=('https://xyz.execute-api.us-west-2.amazonaws.com/production/')
enabled=true;
-
추적 워크시트의
API Integration Name필드에 만든 API 통합의 이름을 기록해요. 나중에 CREATE EXTERNAL FUNCTION 명령을 실행할 때 API 통합 이름이 필요해요. -
위에서 입력한 CREATE API INTEGRATION 명령을 실행해요.
API_AWS_IAM_USER_ARN과 API_AWS_EXTERNAL_ID 기록하기
- DESCRIBE INTEGRATION 명령을 실행해요.
DESCRIBE INTEGRATION <my_integration_name>;
예를 들어:
DESCRIBE INTEGRATION my_api_integration_01;
-
API_AWS_IAM_USER_ARN 이라는 속성을 찾아 그 속성의 property_value 를 추적 워크시트에 기록해요.
-
API_AWS_EXTERNAL_ID 라는 속성을 찾아 그 속성의 property_value 를 추적 워크시트에 기록해요.
API_AWS_EXTERNAL_ID 의 property_value 는 종종 등호("=")로 끝난다는 점에 주의하세요. 그 등호는 값의 일부예요. property_value 의 나머지와 함께 꼭 복사해서 붙여 넣어야 해요.
다음 몇 단계 동안 AWS 관리 창으로 돌아가요. 지금 Snowflake 관리 창을 닫지 마세요. 나중에 다시 돌아와야 해요.
다음 단계
4단계: Management Console에서 AWS용 API 통합을 프록시 서비스에 연결
더 알아보기 (Learn more)
- CREATE API INTEGRATION — API 통합 생성 구문과 속성
- 2단계: 프록시 서비스(Amazon API Gateway) 만들기 — API Gateway 생성 절차
- 1단계: 프록시 서비스(Amazon API Gateway) 만들기 — 통합 연결
- 5단계: AWS용 외부 함수 만들기 — 다음 단계