ステップ1: テンプレートを使用してリモートサービス(AWS Lambda関数)とプロキシサービス(API Gateway)を作成する

このトピックでは、Snowflakeが提供する AWS CloudFormation テンプレートを使用するための詳細な手順を説明します。このテンプレートは、外部テンプレートの AWS Lambda関数(リモートサービスとして使用するため)と API Gateway(プロキシサービスとして使用するため)を作成するためのタスクを簡素化します。

このドキュメントでは、 CloudFormation テンプレートを使用して AWS にサンプルの外部関数を作成する方法を示します。

Snowflakeは、開始できるテンプレートを提供します。このテンプレートは、作成プロセスの詳細を非表示にし、一部の名前(例: ステージ名)と機能をハードコードします。独自のカスタム外部関数を作成する準備ができたら、テンプレートのコピーをカスタマイズするか、 AWS での外部関数の作成 のより柔軟な手順に従うことができます。

テンプレートをカスタマイズしたい場合は、 AWS CloudFormation の詳細を読むことができます。

注釈

これらの手順では、 AWS の管理にすでに精通していることを前提としています。これらの手順では、実行する必要のある一般的な手順について説明しますが、詳細が変更される可能性があるため、ユーザーインターフェイスについては詳しく説明しません。

このトピックの内容:

前のステップ

AWS 用の外部関数の計画

テンプレートをアップロードする

  1. AWS Managementコンソールに移動します。

  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)。このロールは、 CloudWatch ログを追加するためにLambdaサービスによって使用されます。 このロールがまだ存在していないことを確認してください。ロールが存在すると、テンプレートはロールの更新を試みます。

  5. Next をクリックします。

    このページには、テンプレートを展開するための詳細オプションがいくつかあります。

    1. 必要に応じて、スタックポリシーなどの詳細オプションを設定します。(これらは、Snowflakeが提供するテンプレートを使用してサンプル関数を作成する場合は必要ありません。ただし、カスタマイズした関数にテンプレートベースの展開を使用する場合は、この時点で詳細オプションをカスタマイズする必要がある場合があります。)

    2. Next をクリックします。

  6. レビューページで、最後までスクロールして、 CloudFormation テンプレートがカスタム名で IAM リソースを作成する可能性があることを確認します。これが必要なのは、テンプレートが展開の一部として2つの IAM ロールを作成するためです。

  7. Create stack をクリックします。

展開には数秒かかります。展開が完了すると、新しく作成されたスタックの Events タブが表示されます。作成されたリソースが Resources タブの下にリストされます。

次のステップ

ステップ 2: Amazon API Gateway URL と新しい IAM ロール ARN を記録する