Functionsの概要
Functionsサービスを使用して、インフラストラクチャを管理することなくビジネス・ロジックを作成、実行およびスケーリングする方法について学習します。
Oracle Cloud Infrastructure Functionsは、完全に管理された、マルチテナントでスケーラビリティが高いオンデマンドのFunctions-as-a-Serviceプラットフォームです。エンタープライズグレードのOracle Cloud Infrastructure上に構築されており、Fn Projectオープン・ソース・エンジンによって強化されています。OCI Functions (Functionsのみに省略される場合があり、以前はOracle Functionsと呼ばれていました)は、ビジネス・ニーズを満たすためのコードの作成に焦点を当てる場合に使用します。
OCI Functionsのサーバーレスおよび柔軟なアーキテクチャは、実行する必要があるインフラストラクチャ管理やソフトウェア管理がないことを意味します。コンピュート・インスタンスをプロビジョニングまたはメンテナンスすることはなく、オペレーティング・システムのソフトウェアのパッチやアップグレードは自動的に適用されます。OCI Functionsは、アプリの可用性を高め、スケーラブルかつセキュアであり、モニターすることが簡単にできます。OCI Functionsを使用すると、Java、Python、Node、Go、RubyおよびC#でコードを作成できます(また、高度なユース・ケースの場合は、独自のDockerfileおよびGraal VMを使用できます)。その後、コードのデプロイ、そのコードの直接コール、イベントへのレスポンスによるトリガー、および実行中に消費したリソースに対してのみ請求されるようにすることができます。
OCI Functionsは、Fn Projectに基づいています。Fn Projectは、任意のクラウドまたはオンプレミスで実行できる、オープン・ソース、コンテナ・ネイティブ、サーバーレスのプラットフォームです。Fn Projectは簡単に使用でき、拡張可能で、パフォーマンスに優れています。Fn Projectのオープン・ソース・ディストリビューションをダウンロードしてインストールし、ファンクションをローカルで開発およびテストしてから、同じツールを使用してそのファンクションをOCI Functionsにデプロイできます。
コンソール、CLIおよびREST APIを使用してOCI関数にアクセスできます。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 Functionsリソースからイベントが生成されます:
- アプリケーション
- ファンクション
他のサービスのイベントで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ファンクションのサービス制限によって制御されます(ファンクションの制限を参照)。デフォルトのサービス制限は、支払方法によって異なります。容量を増やす必要がある場合は、デフォルトのサービス制限を引き上げるリクエストを送信できます(サービス制限の引上げのリクエストを参照)。
ファンクション(ファンクションのリクエスト・ペイロード)に送信できるデータの最大量は6 MBです。ファンクションがリクエストに応答して返すことができるデータの最大量(ファンクションのレスポンス・ペイロード)は6 MBです。これらの制限は固定されており、変更できません。
他のOCI関数の機能および制限も固定されています。ただし、変更可能な数値もあります。デフォルトのメモリーおよびタイムアウト設定の変更を参照してください。
必要なIAMサービス・ポリシー
Oracle Cloud Infrastructureを使用するには、管理者からポリシーでセキュリティ・アクセス権が付与されている必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。
ポリシーを初めて使用する場合は、「ポリシーの開始」と「共通ポリシー」を参照してください。
OCIファンクションのポリシーの詳細は、次を参照してください: