1단계: 템플릿을 사용해 원격 서비스(AWS Lambda function)와 프록시 서비스(API Gateway) 만들기
1단계: 템플릿을 사용해 원격 서비스(AWS Lambda function)와 프록시 서비스(API Gateway) 만들기
이 문서는 Snowflake가 제공하는 AWS CloudFormation 템플릿을 사용해 외부 함수용 원격 서비스(AWS Lambda Function)와 프록시 서비스(Amazon API Gateway)를 만드는 방법을 설명해 드려요. 템플릿이 생성 과정의 일부 세부 사항을 단순화해 주며, 스택 이름·엔드포인트 유형·IAM 역할 이름 등을 입력하고 스택을 생성하는 절차로 진행돼요.
본문
이 문서는 Snowflake가 제공하는 AWS CloudFormation 템플릿을 사용하는 상세 지침을 제공해요. 템플릿은 외부 함수용 AWS Lambda Function(원격 서비스)과 Amazon API Gateway(프록시 서비스)를 만드는 작업을 단순화해 줘요.
이 문서는 CloudFormation 템플릿을 사용해 AWS에 샘플 외부 함수를 만드는 방법을 보여줘요.
Snowflake는 시작할 수 있는 템플릿을 제공해요. 이 템플릿은 생성 과정의 일부 세부 사항을 감추고 일부 이름(예: 스테이지 이름)과 기능을 하드코딩해요. 자신만의 커스텀 외부 함수를 만들 준비가 되면 템플릿 사본을 커스터마이즈하거나 AWS에 외부 함수 만들기 의 더 유연한 지침을 따를 수 있어요.
템플릿을 커스터마이즈하고 싶다면 AWS CloudFormation 에 대해 더 자세히 읽을 수 있어요.
Note
이 지침은 AWS 관리에 이미 익숙하다고 가정해요. 실행해야 하는 일반적인 단계를 설명하지만, 인터페이스는 바뀔 수 있으므로 사용자 인터페이스를 자세히 설명하지는 않아요.
이전 단계
템플릿 업로드하기
-
AWS Management Console로 이동해요.
-
상단 검색창에서 CloudFormation 을 검색해요.
-
Services 아래에서 CloudFormation 을 클릭해요.
-
Create stack 을 클릭해요.
With new resources (standard) 또는 With existing resources (import resources) 중에서 선택하라는 옵션이 나오면 With new resources (standard) 를 선택해요.
-
Create stack 페이지의 Prepare template 아래에서 Template is ready 를 선택해요.
-
Upload a template file 을 선택해요.
-
Choose file 을 선택해요.
-
템플릿 사본이 있는 디렉터리로 이동해 그 템플릿을 선택해요.
-
역할 등의 이름을 입력하는 페이지에 도달할 때까지 Next 를 클릭해요.
Note
템플릿은 일부 리소스에 기본 이름을 사용해요. 이름을 바꿀 수 있어요.
옵션 구성하기
템플릿은 대부분의 필드에 기본값을 포함해요. 하지만 리전 엔드포인트를 원하는지 프라이빗 엔드포인트를 원하는지 같은 몇 가지 값을 입력해야 해요.
-
스택 이름을 입력해요.
-
사용할 엔드포인트 유형을 입력해요: "REGIONAL" 또는 "PRIVATE".
어떤 유형을 사용해야 할지 확실하지 않으면 "REGIONAL"을 선택해요.
"PRIVATE"를 선택했다면 VPC ID(템플릿에서 "sourceVpcId"로 표시됨)를 업데이트해요. (VPC ID를 찾는 방법은 AWS용 외부 함수 계획하기 를 참조하세요.)
엔드포인트에 대한 자세한 내용(다른 유형의 엔드포인트 설명 포함)은 AWS endpoints 및 엔드포인트 유형 선택: 리전 엔드포인트 vs. 프라이빗 엔드포인트 를 참조하세요.
- API Gateway IAM 역할 이름을 입력해요 (파라미터 apiGatewayIAMRoleName ). 이 역할은 Snowflake가 API Gateway로 인증할 때 가정하는 역할이에요. 이 역할이 이미 존재하지 않는지 확인하세요. 역할이 이미 존재하면 템플릿이 역할을 업데이트하려고 하기 때문이에요.
역할 이름을 추적 워크시트의 New IAM Role Name 필드에 기록해요.
-
Lambda 실행 역할 이름을 입력해요 (파라미터 lambdaExecutionRoleName ). 이 역할은 Lambda 서비스가 CloudWatch 로그를 추가할 때 사용해요. 이 역할이 이미 존재하지 않는지 확인하세요. 역할이 이미 존재하면 템플릿이 역할을 업데이트하려고 하기 때문이에요.
-
Next 를 클릭해요.
이 페이지에는 템플릿 배포를 위한 몇 가지 고급 옵션이 있어요.
-
원하면 스택 정책 같은 고급 옵션을 설정해요. (이 옵션은 Snowflake가 제공한 템플릿으로 샘플 함수를 만들 때는 필요하지 않아요. 하지만 커스터마이즈한 함수에 템플릿 기반 배포를 사용한다면 이 시점에서 고급 옵션을 커스터마이즈해야 할 수 있어요.)
-
Next 를 클릭해요.
-
검토 페이지에서 아래로 스크롤해 CloudFormation 템플릿이 커스텀 이름의 IAM 리소스를 만들 수 있음을 승인해요. 템플릿이 배포의 일부로 두 개의 IAM 역할을 만들기 때문이에요.
-
Create stack 을 클릭해요.
배포는 몇 초 걸려요. 배포가 완료되면 새로 만든 스택의 Events 탭에 있어야 해요. 생성된 리소스는 Resources 탭에 나열돼요.
다음 단계
2단계: Amazon API Gateway URL과 새 IAM 역할 ARN 기록
더 알아보기 (Learn more)
- 2단계: Amazon API Gateway URL과 새 IAM 역할 ARN 기록 — 다음 단계
- AWS용 외부 함수 계획하기 — 사전 준비·엔드포인트 유형
- AWS CloudFormation 템플릿으로 외부 함수 만들기 — 전체 절차 개요
- AWS CloudFormation 개념 — 템플릿 커스터마이즈