※これはIntroducing support for Scheduling OCI Functionsの翻訳です

functionをいつトリガーするかについて、これまでになかった制御と柔軟性を提供できるように設計された、新しいfunctionスケジュール機能のリリースを発表できることを嬉しく思います。functionのスケジュール設定は、バックアップ、セキュリティ チェック、ファイル処理、バッチ ジョブなどの定期的な運用タスクなどのユースケースで、最も多く要望される機能の 1 つです。

functionをスケジュールする理由

functionをスケジュールすると、サーバーレス・アプリケーションを最適化するための可能性が広がります。主な利点と使用例は次のとおりです。

自動メンテナンスとハウスキープ処理 – functionをスケジュールして、データベースのクリーンアップ、ログのローテーション、データのアーカイブ、アプリケーションのキャッシュ内の期限切れセッションのクリーンアップ、監査ログの月次アーカイブなど、定期的なメンテナンスのタスクを実行します。これにより、手動による介入なしにシステムを最適化できます。

定期的なデータ処理と分析 – 設定された間隔でデータ処理または分析ジョブを実行します。例えば日次レポートを生成したり、ダッシュボードを更新したり、IoT センサー データを 1 時間ごとに集計して傾向分析を行ったり、ビジネスのニーズに合ったスケジュールでバッチ データを処理したりできます。

定期的なバックエンド操作 – キャッシュウォーミング、コンテンツの更新、オフピーク時に実行する在庫チェック、夜間にeコマースプラットフォーム間で製品カタログと在庫を同期する、などのバックエンド操作をスケジュールして、トラフィックが多い期間でもスムーズなパフォーマンスを確保します。

機械学習とAI – 新しいデータを使用してモデルの再トレーニングをスケジュールして精度とパフォーマンスを向上させ、定期的な推論タスクをスケジュールされた時間に実行して予測や推奨事項を生成したり、主要な指標を監視してデータドリフトを検出し、パフォーマンスが閾値を下回った場合にアラートをトリガーすることで、モデルのパフォーマンスを毎日評価したりします。

コンプライアンスと監査 – コンプライアンスチェックまたは監査プロセスを自動化して定期的に実行し、システムが HIPPA や GDPR などの規制要件を一貫して満たしていることを確認します。

ビジネスプロセスとのシームレスな統合 – 月末の財務決算手続き、毎週の給与計算、毎日の営業在庫再注文計算などのビジネスプロセスに合わせてfunctionの実行を調整します。

自動バックアップと災害復旧 – データまたはシステム構成の定期的なバックアップをスケジュールします。これは、ビジネスの継続性と災害復旧への備えを維持するために非常に重要です。

スケジュール実行のAPI ポーリング – Webhook をサポートしていない API の場合、functionをスケジュールしてこれらの API を定期的にポーリングし、手動で定期的にチェックすることなくデータを同期させます。例えば、

  1. 営業時間中に15分ごとにパートナーの在庫システムをポーリング
  2. 1 日に 4 回、金融 API から更新された為替レートを取得
  3. 30 分ごとに複数の場所の最新の気象データを取得

時間ベースのセキュリティスキャン – セキュリティスキャンと脆弱性評価を自動的に実行するようにスケジュール設定し、常に手動で監視することなく堅牢なセキュリティ体制を維持できるようにします。例えば、

  1. コンピューティング・インスタンスの既知の脆弱性を毎週スキャン
  2. オブジェクト・ストレージのバケットのアクセス ポリシーと暗号化設定を 1 時間ごとにチェック
  3. 毎晩、監査ログを分析して疑わしいアクティビティ パターンを検出

シーズン性または時間に依存する操作 – シーズン性のあるビジネスロジックや時間に依存する操作を簡単に管理できます。たとえば、セール期間中に価格を自動的に更新したり、休日や特別なイベントに合わせて Web サイトのコンテンツを変更したりできます。

主な機能

この機能は、最近リリースされた OCI Resource Scheduler サービスによって有効になり、次の機能を提供します。

1. Cron 構文のサポート:Cron ジョブに慣れている方は、同じ構文を使用してfunctionをスケジュールできるようになりました。

2. フォームベースのインターフェイス:Cron 構文に慣れていない場合でも問題ありません。直感的なフォームベースのインターフェイスを使用すると、時間、日、週、または月間隔で関数をスケジュールできます。

3. 複数functionのスケジュール:複数のfunctionを同じスケジュールで実行する必要がありますか? Resource Scheduler を使用すると、複数のfunctionに同じスケジュールを簡単に割り当てることができ、リソース管理を効率化できます。

 

試してみましょう

以下の手順に従って、最初のスケジュール実行のfunctionを有効にできます。

1. Oracle Cloud Console のガバナンスと管理セクションに移動し、Resource Schedulerサービスを見つけます。

2. [スケジュールの作成] ボタンをクリックします

3. 実行するアクションとして [起動] を選択します。これはfunctionをトリガーするために使用されます。

 

 

4. リソースタブで、Functionフィルターを選択します。

 

5. 次に、functionをトリガーする粒度と時間を選択します。

 

6. そして最後にスケジュールを作成します!

7. 次に、スケジュールがfunctionをトリガーできるようにするために必要な IAM ポリシーを作成します。これには、作成したスケジュールを動的グループに追加し、動的グループにfunctionを管理するためのアクセス権を付与することが含まれます。必要なポリシーの正確な詳細は、以下のドキュメント リンクに記載されています。

価格と可用性

スケジュールの作成には料金はかかりません。この機能は現在、OC1 レルムのすべてのリージョンで利用可能で、今後数か月以内に他のレルムにも展開される予定です。OCI レルムとリージョンの詳細については、次のドキュメント リンクを参照してください。

ドキュメント

この機能の詳細については、次のリンクを参照してください。

https://docs.oracle.com/ja-jp/iaas/Content/Functions/Tasks/functionsschedulingfunctions-about.htm