アプリケーションの作成

OCI Functionsを使用してアプリケーションを作成する方法をご覧ください。

OCIファンクションでは、アプリケーションはファンクションの論理グループです。アプリケーションに指定するプロパティによって、そのアプリケーション内のすべての機能のリソース割当ておよび構成が決まります。OCI Functionsでファンクションを作成するには、アプリケーション内にファンクションを作成する必要があるため、少なくとも1つのアプリケーションが存在する必要があります。

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

    1. ファンクションQuickStartガイドのステップが完了していることを確認します。
    2. ファンクション開発者としてコンソールにサインインします。
    3. ナビゲーション・メニューを開き、「開発者サービス」をクリックします「ファンクション」で、「アプリケーション」をクリックします。
    4. OCI Functionsで使用しているリージョンを選択します。

      Fn ProjectのCLIコンテキストで指定されているDockerレジストリと同じリージョンを使用することをお薦めします。 Oracle Cloud Infrastructureに接続するためのFnプロジェクトのCLIコンテキストの作成を参照してください。

    5. Fn ProjectのCLIコンテキストで指定されているコンパートメントを選択します。 Oracle Cloud Infrastructureに接続するためのFnプロジェクトのCLIコンテキストの作成を参照してください。

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

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

      • 名前:新規アプリケーションの名前(たとえば、acmeapp)。機密情報の入力は避けてください。
      • <compartment-name>のVCN:ファンクションを実行するVCN (仮想クラウド・ネットワーク)。たとえば、acme-vcn-01というVCN
      • <compartment-name>のサブネット:ファンクションを実行するサブネット(最大3つ)。たとえば、パブリック・サブネットIHsY:US-PHOENIX-AD-1と呼ばれるパブリック・サブネットなどです。

        パブリック・サブネットにはVCN内のインターネット・ゲートウェイが必要で、プライベート・サブネットにはVCN内のサービス・ゲートウェイが必要です。リージョン・サブネットがベスト・プラクティスとして定義されている場合は、そのサブネットを選択して、可用性ドメイン全体でフェイルオーバーを簡単に実装できるようにします。リージョン・サブネットが定義されておらず、高可用性の要件を満たす必要がある場合は、複数のサブネットを選択します。サブネットは、Fn ProjectのCLIコンテキストで指定されているDockerレジストリと同じリージョンにあることをお薦めします。詳細は、Oracle Cloud Infrastructureに接続するためのFn ProjectのCLIコンテキストの作成を参照してください。

        アプリケーションのプライベート・サブネットを指定すると、アプリケーション内のファンクションの呼出しエンドポイントへのインターネットからのアクセスが妨げられることはありません。アイデンティティ・ポリシーを使用して、ファンクション呼出しエンドポイントへのアクセスを制御します。詳細は、ファンクションを呼び出して管理するためのアクセス権の制御を参照してください。

      • シェイプ:アプリケーションでファンクションをデプロイおよび実行するコンピュート・インスタンスのプロセッサ・アーキテクチャ。アプリケーション内のすべてのファンクションは、同じアーキテクチャのコンピュート・インスタンスにデプロイされ、実行されます。関数のイメージには、次のように選択するアーキテクチャに必要な依存関係が含まれている必要があります。

        • Armベースのアーキテクチャを持つコンピュート・インスタンスでアプリケーション内の関数を常に実行する場合は、Generic_ARMシェイプを選択します。この単一のアーキテクチャ・シェイプをアプリケーションに対して選択する場合、ファンクションのイメージには、Armアーキテクチャに必要な依存関係(単一のアーキテクチャ・イメージまたはマルチアーキテクチャ・イメージ)が含まれている必要があります。
        • アプリケーション内の関数をx86ベースのアーキテクチャでコンピュート・インスタンス上で常に実行する場合は、Generic_X86シェイプを選択します。この単一のアーキテクチャ・シェイプをアプリケーションに対して選択する場合、ファンクションのイメージには、x86アーキテクチャに必要な依存関係(単一のアーキテクチャ・イメージまたはマルチアーキテクチャ・イメージのいずれか)が含まれている必要があります。
        • アーキテクチャに十分な容量があるコンピュート・インスタンスでファンクションを実行する場合は、Generic_X86_ARMシェイプを選択します。この場合、OCI Functionsは、使用可能な容量に基づいてファンクションを実行するアーキテクチャを選択します。このマルチアーキテクチャ・シェイプをアプリケーション用に選択する場合、すべてのファンクションのイメージには、Armアーキテクチャとx86アーキテクチャ(マルチアーキテクチャ・イメージ)の両方に必要な依存関係が含まれている必要があります。

        アプリケーションの作成後は、アプリケーションのシェイプを変更できないことに注意してください。関数を実行する単一アーキテクチャまたは複数アーキテクチャ・アプリケーション・シェイプの選択を参照してください。

      • タグ付けオプション: リソースの作成権限がある場合は、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に連絡してください。タグは後で適用できます。
    7. 次のいずれかのオプションを選択します:

      • アプリケーションを作成するには、「作成」をクリックします。新規アプリケーションが、アプリケーションのリストに表示されます。
      • リソース・マネージャおよびTerraformを使用してアプリケーションを後で作成するには、「スタックとして保存」をクリックして、リソース定義をTerraform構成として保存します。リソース定義からのスタックの保存の詳細は、「リソース作成ページからのスタックの作成」を参照してください。
  • Fn ProjectのCLIを使用する

    ヒント

    時々、Fn ProjectCLIの新しいバージョンがリリースされます。最新バージョンがインストールされていることを定期的に確認することをお勧めします。詳細は、Fn ProjectのCLIをアップグレードするステップを参照してください。

    OCI FunctionsFn Projectの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 Projectの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

    OCI CLIの使用

    アプリケーションを作成するには、oci fn application createコマンドと必要なパラメータを使用します:

    oci fn application create --compartment-id <compartment-ocid> --display-name <app-name> --subnet-ids <subnet-ocids> [OPTIONS]

    OCI CLIコマンドのフラグおよび変数オプションの完全なリストは、コマンドライン・リファレンスを参照してください。

  • CreateApplication API操作を実行してアプリケーションを作成します。