アプリケーションの作成

ファンクションのデプロイの準備として、OCIファンクションでアプリケーションを作成できます。アプリケーションにファンクションを含める必要はありません。

コンソールFn ProjectのCLIおよびAPIを使用してアプリケーションを作成できます。

アプリケーションの詳細は、アプリケーションを参照してください。

コンソールの使用

OCIファンクションコンソールを使用して新しいアプリケーションを作成するには:

  1. ファンクションQuickStartガイドのステップが完了していることを確認します。
  2. ファンクション開発者としてコンソールにサインインします。
  3. コンソールナビゲーション・メニューを開き、「開発者サービス」をクリックします。「関数」で「アプリケーション」をクリックします。
  4. OCIファンクションで使用するリージョンを選択します。Oracleでは、Fn ProjectのCLIコンテキストで指定されているDockerレジストリと同じリージョンを使用することをお薦めします(Oracle Cloud Infrastructureに接続するFn ProjectのCLIコンテキストの作成を参照)。
  5. Fn ProjectのCLIコンテキストで指定されているコンパートメントを選択します( Oracle Cloud Infrastructureへの接続のためのFn Project CLIコンテキストの作成を参照してください)。

    「アプリケーション」ページには、コンパートメントにすでに定義されているアプリケーションが表示されます。

  6. 「アプリケーションの作成」をクリックし、次を指定します:

    • 新規アプリケーションの名前(たとえば、acmeapp)。機密情報の入力は避けてください。
    • ファンクションを実行するVCNおよびサブネット(または最大3つのサブネット)。たとえば、acme-vcn-01というVCNとPublic Subnet IHsY:US-PHOENIX-AD-1というパブリック・サブネットがあるとします。パブリック・サブネットにはVCN内のインターネット・ゲートウェイが必要であり、プライベート・サブネットにはVCN内のサービス・ゲートウェイが必要です。リージョナル・サブネットが定義されている場合、そのサブネットを選択し、可用性ドメイン全体でフェイルオーバーを実装しやすくすることがベスト・プラクティスです。リージョナル・サブネットが定義されておらず、高可用性の要件を満たす必要がある場合、複数のサブネットを選択します。Oracleでは、サブネットはFn ProjectのCLIコンテキストで指定されているDockerレジストリと同じリージョン内にあることをお薦めします(Oracle Cloud Infrastructureに接続するためのFnプロジェクトCLIコンテキストの作成を参照)。

      アプリケーションのプライベート・サブネットを指定しても、インターネットからアプリケーション内の関数の起動エンドポイントへのアクセスは妨げられません。アイデンティティ・ポリシーを使用して、ファンクション起動エンドポイントへのアクセスを制御します(呼出しおよび管理ファンクションへのアクセスの制御を参照)。

  7. 「作成」をクリックします。

    新規アプリケーションが、アプリケーションのリストに表示されます。

Fn ProjectのCLIコマンドの使用

OCIファンクションFnプロジェクトのCLIを使用して新しいアプリケーションを作成するには:

  1. ファンクション開発者として開発環境にログインします。

  2. ターミナル・ウィンドウで、次のように入力して新しいアプリケーションを作成します:

    fn create app <app-name> --annotation oracle.com/oci/subnetIds='["<subnet-ocid>"]'

    ここでは:

    • <app-name>は新しいアプリケーションの名前です。機密情報の入力は避けてください。
    • <subnet-ocid>は、ファンクションを実行するサブネット(最大3つ)のOCIDです。パブリック・サブネットにはVCN内のインターネット・ゲートウェイが必要であり、プライベート・サブネットにはVCN内のサービス・ゲートウェイが必要です。リージョナル・サブネットが定義されている場合、そのサブネットを選択し、可用性ドメイン全体でフェイルオーバーを実装しやすくすることがベスト・プラクティスです。リージョナル・サブネットが定義されておらず、高可用性の要件を満たす必要がある場合は、複数のサブネットを指定します(各OCIDを二重引用符で囲み、カンマで区切って、'["<subnet-ocid>","<subnet-ocid>"]'の形式にします)。Oracleでは、サブネットはFn ProjectのCLIコンテキストで指定されているDockerレジストリと同じリージョン内にあることをお薦めします(Oracle Cloud Infrastructureに接続するためのFnプロジェクトCLIコンテキストの作成を参照)。

      アプリケーションのプライベート・サブネットを指定しても、インターネットからアプリケーション内の関数の起動エンドポイントへのアクセスは妨げられません。アイデンティティ・ポリシーを使用して、ファンクション起動エンドポイントへのアクセスを制御します(呼出しおよび管理ファンクションへのアクセスの制御を参照)。

    例:

    fn create app acmeapp --annotation oracle.com/oci/subnetIds='["ocid1.subnet.oc1.phx.aaaaaaaacnh..."]'

    アプリケーションは、OCIファンクションで作成され、サブネットOCIDによってテナンシおよびリージョンが暗黙的に示され、Fn ProjectのCLIコンテキスト・ファイルで指定されたコンパートメントに属します。

  3. 次を入力して、新しいアプリケーションが作成されたことを確認します。

    fn list apps

    例:

    $ fn list apps
    
    acmeapp