ファンクションの概要

Functionsサービスを使用して、インフラストラクチャを管理せずにビジネス・ロジックを作成、実行およびスケーリングする方法について学習します。

Oracle Cloud Infrastructure Functionsは、完全に管理された、マルチテナントでスケーラビリティが高いオンデマンドのFunctions- as- a- Serviceプラットフォームです。エンタープライズグレードのOracle Cloud Infrastructure上に構築されており、Fn Projectオープン・ソース・エンジンによって強化されています。OCIファンクション(ファンクションのみ、および以前はOracle Functionsと呼ばれていた)は、ビジネス・ニーズにあわせてコードの作成に焦点を当てる場合に使用します。

OCIファンクションのサーバーレスおよび柔軟なアーキテクチャは、実行する必要があるインフラストラクチャ管理やソフトウェア管理がないことを意味します。コンピュート・インスタンスをプロビジョニングまたはメンテナンスすることはなく、オペレーティング・システムのソフトウェアのパッチやアップグレードは自動的に適用されます。OCIファンクションでは、アプリケーションの高可用性、スケーラブル、セキュアおよびモニターが簡単に保証されます。OCIファンクションを使用すると、Java、Python、Node、Go、RubyおよびC#でコードを作成できます(また、高度なユース・ケースの場合は、独自のDockerfileおよびGraal VMを使用できます)。その後、コードのデプロイ、そのコードの直接コール、イベントへのレスポンスによるトリガー、および実行中に消費したリソースに対してのみ請求されるようにすることができます。

OCIファンクションは、Fn Projectに基づいています。Fn Projectは、任意のクラウドまたはオンプレミスで実行できる、オープン・ソース、コンテナ・ネイティブ、サーバーレスのプラットフォームです。Fn Projectは簡単に使用でき、拡張可能で、パフォーマンスに優れています。Fn Projectのオープン・ソース配布をダウンロードしてインストールし、ファンクションをローカルで開発およびテストしてから、同じツールを使用してそのファンクションをOCIファンクションにデプロイできます。

OCIファンクションには、コンソール、CLIおよびREST APIを使用してアクセスできます。CLIを使用するか、署名付きHTTPリクエストを行うことによって、OCIファンクションにデプロイするファンクションを起動できます。

OCI Functionsは、ネイティブOracle Cloud Infrastructureのアイデンティティ機能を簡単に認証できるように、Oracle Cloud Infrastructure Identity and Access Management (IAM)と統合されています。Identity and Access Managementの概要を参照してください。

OCIファンクションを設定して迅速に実行するには、ファンクションQuickStartガイドを参照してください。多くの関連する開発者チュートリアル、およびその他のサンプル、プレイブック、アーキテクチャ、チュートリアルおよびブログ投稿を利用できます。

Fn ProjectのCLIをアップグレードするための 必須要件の重要な事前通知、2021年4月

Fn Project CLIをインストールし、それを使用してファンクションを初期化、ビルドおよびデプロイしている場合は、2021年5月1日以前にFn Project CLIをアップグレードする必要があります。詳細は、Fn Project CLIのアップグレードを参照してください。

Oracle Cloud Infrastructureへのアクセス方法

Oracle Cloud Infrastructure (OCI)にアクセスするには、コンソール(ブラウザベースのインタフェース)、REST APIまたはOCI CLIを使用します。 コンソール、APIおよびCLIの使用手順は、このドキュメント全体のトピックに含まれています。使用可能なSDKのリストは、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。

コンソールにアクセスするには、サポートされているブラウザを使用する必要があります。コンソールのサインイン・ページに移動するには、このページ上部のナビゲーション・メニューを開き、「インフラストラクチャ・コンソール」をクリックします。クラウド・テナント、ユーザー名およびパスワードの入力を求められます。

REST APIの使用についての一般情報は、REST APIを参照してください。

イベントを使用した自動化の作成

イベント・タイプ、ルールおよびアクションを使用して、Oracle Cloud Infrastructureリソースに対する状態変更に基づいて自動化を作成できます。詳細は、イベントの概要を参照してください。

次のOCIファンクション・リソースからイベントが出力されます:

  • アプリケーション
  • ファンクション

他のサービスでのイベントでOCIファンクションのファンクションを呼び出すこともできます。その他のOracle Cloud InfrastructureサービスからのOCIファンクションの呼出しを参照してください。

リソース識別子

ほとんどのタイプのOracle Cloud Infrastructureリソースには、Oracle Cloud ID (OCID)と呼ばれるOracleによって割り当てられた一意の識別子があります。OCIDのフォーマットおよびリソースを識別するその他の方法の詳細は、リソース識別子を参照してください。

認証と認可

Oracle Cloud Infrastructureの各サービスは、すべてのインタフェース(コンソール、SDKまたはCLI、およびREST API)の認証および認可のためにIAMと統合されています。

組織の管理者は、どのユーザーがどのサービスとリソースにアクセスできるか、およびアクセスのタイプを制御する、グループコンパートメントおよびポリシーを設定する必要があります。たとえば、ポリシーは、新規ユーザーの作成、クラウド・ネットワークの作成と管理、インスタンスの起動、バケットの作成、オブジェクトのダウンロードなどを実行できるユーザーを制御します。詳細は、ポリシーの開始を参照してください。異なる各サービスに対するポリシーの記述の詳細は、ポリシー・リファレンスを参照してください。

会社が所有するOracle Cloud Infrastructureリソースを使用する必要がある通常のユーザー(管理者ではない)の場合は、ユーザーIDを設定するよう管理者に連絡してください。管理者は、使用する必要があるコンパートメントを確認できます。

OCIファンクションの機能および制限

リージョンに作成できるファンクションおよびアプリケーションの数は、OCI Functionsのサービス制限によって制御されます(ファンクションの制限を参照)。デフォルトのサービス制限は、支払方法によって異なります。容量を増やす必要がある場合は、デフォルトのサービス制限を引き上げるリクエストを送信できます(サービス制限の引上げのリクエストを参照)。

ファンクション(ファンクションのリクエスト・ペイロード)に送信できるデータの最大量は6 MBです。ファンクションがリクエストに応答して返すことができるデータの最大量(ファンクションのレスポンス・ペイロード)は6 MBです。これらの制限は固定されており、変更できません。

他のOCIファンクションの機能および制限も固定されています。ただし、変更可能な数値もあります。デフォルトのメモリーおよびタイムアウト設定の変更を参照してください。

リソースまたはリソース・ファミリにコンパートメント固有の制限を設定するために、管理者は、コンパートメント割当てを使用できます。

必要なIAMサービス・ポリシー

Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限がない、または認可されていないというメッセージが表示された場合は、自分がどのタイプのアクセス権を持っているか、およびどのコンパートメントで作業するかを管理者に確認してください。

ポリシーを初めて使用する場合は、「ポリシーの開始」「共通ポリシー」を参照してください。

OCIファンクションのポリシーの詳細は、次を参照してください: