1단계: 템플릿을 사용하여 원격 서비스(AWS Lambda Function)와 프록시 서비스(API Gateway) 만들기¶
이 항목에서는 Snowflake가 제공하는 AWS CloudFormation 템플릿 사용을 위한 세부 지침을 제공합니다. 이 템플릿은 외부 함수에 대해 (원격 서비스로 사용할) AWS Lambda Function과 (프록시 서비스로 사용할) Amazon API Gateway를 만드는 작업을 단순화합니다.
이 문서는 CloudFormation 템플릿을 사용하여 AWS에서 샘플 외부 함수를 만드는 방법을 보여줍니다.
Snowflake는 시작할 수 있는 템플릿을 제공합니다. 이 템플릿은 만들기 프로세스 중 일부 세부 정보를 숨기고 일부 이름(예: 스테이지 이름)과 기능을 하드 코드합니다. 자체적인 사용자 지정 외부 함수를 만들 준비가 되면 템플릿 복사본을 사용자 지정하거나 AWS에서 외부 함수 만들기 에서 더 유연한 지침을 따를 수 있습니다.
템플릿을 사용자 지정하려면 AWS CloudFormation 에 대해 더 자세한 내용을 읽어보십시오.
참고
이러한 지침에서는 사용자가 이미 AWS 관리에 익숙하다고 가정합니다. 이러한 지침은 실행해야 할 일반적인 단계를 설명하지만, 인터페이스가 변경될 수 있으므로 사용자 인터페이스에 대해 자세히 설명하지는 않습니다.
이 항목의 내용:
이전 단계¶
템플릿 업로드하기¶
- AWS Management Console로 이동합니다. 
- 상단 검색 창에서 CloudFormation 을 검색합니다. 
- ‘서비스’에서 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 를 클릭하면 역할의 이름을 입력하는 등의 작업을 할 수 있는 페이지로 연결됩니다. - 참고 - 이 템플릿은 일부 리소스의 기본 이름을 사용합니다. 이름은 변경할 수 있습니다. 
옵션 구성하기¶
이 템플릿에는 대다수 필드의 기본값이 포함됩니다. 하지만 리전 엔드포인트를 원하는지, 프라이빗 엔드포인트를 원하는지 등, 몇 가지 값을 입력해야 합니다.
- 스택의 이름을 입력합니다. 
- “REGIONAL” 또는 “PRIVATE” 중에서 사용하려는 엔드포인트의 유형을 입력합니다. - 어떤 유형을 사용할지 확실하지 않으면 “REGIONAL”을 선택하십시오. - “PRIVATE”을 선택한 경우에는 VPC ID(템플릿에서 “sourceVpcId” 레이블이 지정됨)를 업데이트합니다. (VPC ID를 찾는 방법에 대한 지침은 AWS용 외부 함수 계획하기 를 참조하십시오.) - 다양한 유형의 엔드포인트에 대한 설명을 포함하여 엔드포인트에 대한 자세한 내용은 AWS 엔드포인트 및 엔드포인트 유형 선택하기: 리전 엔드포인트와 프라이빗 엔드포인트 를 참조하십시오. 
- API Gateway IAM 역할의 이름(매개 변수 apiGatewayIAMRoleName)을 입력합니다. 이것은 API Gateway 사용 승인을 위해 Snowflake가 맡는 역할입니다. 역할이 있는 경우 템플릿이 역할 업데이트를 시도할 것이므로 이 역할이 이미 존재하지 않는지 확인하십시오. - 이름이 - New IAM Role Name인 추적 워크시트 필드에 역할 이름을 기록합니다.
- Lambda 실행 역할의 이름(매개 변수 lambdaExecutionRoleName)을 입력합니다. Lambda 서비스는 이 역할을 사용해 CloudWatch 로그를 추가합니다. 역할이 있는 경우 템플릿이 역할 업데이트를 시도할 것이므로 이 역할이 이미 존재하지 않는지 확인하십시오. 
- Next 를 클릭합니다. - 이 페이지에는 템플릿 배포를 위한 몇 가지 고급 옵션이 있습니다. - 선택적으로, 스택 정책과 같은 고급 옵션을 설정합니다. (이런 옵션은 Snowflake에서 제공하는 템플릿을 사용하여 샘플 함수를 만들 때 필요하지 않습니다. 하지만 사용자 지정한 함수에 대해 템플릿 기반 배포를 사용하는 경우 이 시점에서 고급 옵션을 사용자 지정해야 할 수 있습니다.) 
- Next 를 클릭합니다. 
 
- 검토 페이지에서 아래로 끝까지 스크롤하고 CloudFormation 템플릿이 사용자 지정 이름으로 IAM 리소스를 만들 수도 있음을 확인합니다. 이는 템플릿이 배포의 일부로 두 가지 IAM 역할을 만들기 때문에 필요합니다. 
- Create stack 을 클릭합니다. 
배포는 몇 초 정도 걸립니다. 배포가 완료되면 새로 만든 스택의 Events 탭에 있어야 합니다. 만든 리소스는 Resources 탭 아래에 나열됩니다.