1단계: 템플릿을 사용하여 원격 서비스(AWS Lambda Function)와 프록시 서비스(API Gateway) 만들기

이 항목에서는 Snowflake가 제공하는 AWS CloudFormation 템플릿 사용을 위한 세부 지침을 제공합니다. 이 템플릿은 외부 함수에 대해 (원격 서비스로 사용할) AWS Lambda Function과 (프록시 서비스로 사용할) Amazon API Gateway를 만드는 작업을 단순화합니다.

이 문서는 CloudFormation 템플릿을 사용하여 AWS에서 샘플 외부 함수를 만드는 방법을 보여줍니다.

Snowflake는 시작할 수 있는 템플릿을 제공합니다. 이 템플릿은 만들기 프로세스 중 일부 세부 정보를 숨기고 일부 이름(예: 스테이지 이름)과 기능을 하드 코드합니다. 자체적인 사용자 지정 외부 함수를 만들 준비가 되면 템플릿 복사본을 사용자 지정하거나 AWS에서 외부 함수 만들기 에서 더 유연한 지침을 따를 수 있습니다.

템플릿을 사용자 지정하려면 AWS CloudFormation 에 대해 더 자세한 내용을 읽어보십시오.

참고

이러한 지침에서는 사용자가 이미 AWS 관리에 익숙하다고 가정합니다. 이러한 지침은 실행해야 할 일반적인 단계를 설명하지만, 인터페이스가 변경될 수 있으므로 사용자 인터페이스에 대해 자세히 설명하지는 않습니다.

이 항목의 내용:

템플릿 업로드하기

  1. AWS Management Console로 이동합니다.

  2. 상단 검색 창에서 CloudFormation 을 검색합니다.

  3. 〈서비스’에서 CloudFormation 을 클릭합니다.

  4. Create stack 을 클릭합니다.

    With new resources (standard) 또는 With existing resources (import resources) 중에서 선택하도록 되어 있는 경우에는 With new resources (standard) 를 선택합니다.

  5. Create stack 페이지의 Prepare template 에서 Template is ready 를 선택합니다.

  6. Upload a template file 을 선택합니다.

  7. Choose file 을 선택합니다.

  8. 템플릿 복사본이 있는 디렉터리로 이동한 다음, 해당 템플릿을 선택합니다.

  9. Next 를 클릭하면 역할의 이름을 입력하는 등의 작업을 할 수 있는 페이지로 연결됩니다.

    참고

    이 템플릿은 일부 리소스의 기본 이름을 사용합니다. 이름은 변경할 수 있습니다.

옵션 구성하기

이 템플릿에는 대다수 필드의 기본값이 포함됩니다. 하지만 리전 엔드포인트를 원하는지, 프라이빗 엔드포인트를 원하는지 등, 몇 가지 값을 입력해야 합니다.

  1. 스택의 이름을 입력합니다.

  2. 《REGIONAL》 또는 《PRIVATE》 중에서 사용하려는 엔드포인트의 유형을 입력합니다.

    어떤 유형을 사용할지 확실하지 않으면 《REGIONAL》을 선택하십시오.

    《PRIVATE》을 선택한 경우에는 VPC ID(템플릿에서 《sourceVpcId》 레이블이 지정됨)를 업데이트합니다. (VPC ID를 찾는 방법에 대한 지침은 AWS용 외부 함수 계획하기 를 참조하십시오.)

    다양한 유형의 엔드포인트에 대한 설명을 포함하여 엔드포인트에 대한 자세한 내용은 AWS 엔드포인트엔드포인트 유형 선택하기: 리전 엔드포인트와 프라이빗 엔드포인트 를 참조하십시오.

  3. API Gateway IAM 역할의 이름(매개 변수 apiGatewayIAMRoleName)을 입력합니다. 이것은 API Gateway 사용 승인을 위해 Snowflake가 맡는 역할입니다. 역할이 있는 경우 템플릿이 역할 업데이트를 시도할 것이므로 이 역할이 이미 존재하지 않는지 확인하십시오.

    이름이 New IAM Role Name 인 추적 워크시트 필드에 역할 이름을 기록합니다.

  4. Lambda 실행 역할의 이름(매개 변수 lambdaExecutionRoleName)을 입력합니다. Lambda 서비스는 이 역할을 사용해 CloudWatch 로그를 추가합니다. 역할이 있는 경우 템플릿이 역할 업데이트를 시도할 것이므로 이 역할이 이미 존재하지 않는지 확인하십시오.

  5. Next 를 클릭합니다.

    이 페이지에는 템플릿 배포를 위한 몇 가지 고급 옵션이 있습니다.

    1. 선택적으로, 스택 정책과 같은 고급 옵션을 설정합니다. (이런 옵션은 Snowflake에서 제공하는 템플릿을 사용하여 샘플 함수를 만들 때 필요하지 않습니다. 하지만 사용자 지정한 함수에 대해 템플릿 기반 배포를 사용하는 경우 이 시점에서 고급 옵션을 사용자 지정해야 할 수 있습니다.)

    2. Next 를 클릭합니다.

  6. 검토 페이지에서 아래로 끝까지 스크롤하고 CloudFormation 템플릿이 사용자 지정 이름으로 IAM 리소스를 만들 수도 있음을 확인합니다. 이는 템플릿이 배포의 일부로 두 가지 IAM 역할을 만들기 때문에 필요합니다.

  7. Create stack 을 클릭합니다.

배포는 몇 초 정도 걸립니다. 배포가 완료되면 새로 만든 스택의 Events 탭에 있어야 합니다. 만든 리소스는 Resources 탭 아래에 나열됩니다.