Earth Engine の割り当て

割り当てのタイプ

Earth Engine プラットフォームには、リソースがユーザー間で公平に分配されるように、いくつかの割り当て上限が設定されています。Earth Engine ではさまざまな種類のリソース(コンピューティング、ストレージなど)を利用できるため、割り当て上限の種類も多岐にわたります。

さまざまな割り当てタイプの主な違いは、調整可能かどうかです。割り当ての種類によっては、ユーザーごとまたはプロジェクトごとに上限を変更できますが、変更できないシステム全体の上限もあります。

調整可能な割り当て上限

次の上限は、プロジェクトごとに調整される場合があります。追加の割り当てをリクエストする方法については、ヘルプページをご覧ください。

割り当てのタイプ デフォルト値(プロジェクトごと)
最大同時リクエスト数(標準エンドポイント) 40 件の同時リクエスト
最大同時リクエスト数(大容量エンドポイント) 40 件の同時リクエスト
リクエストの最大レート(プロジェクトごと) 100 リクエスト/秒(6,000 リクエスト/分)
リクエストの最大レート(アカウントごと) 100 リクエスト/秒(6,000 リクエスト/分)
平均同時バッチタスク数 2 つのタスク(平均)
アセットの最大保存容量 250 GB
アセットの最大数 10,000
1 日あたりの Earth Engine コンピューティング時間(EECU 時間)(秒単位) 無制限

同時インタラクティブ リクエスト

各プロジェクトは、割り当て上限まで インタラクティブ リクエストを並行して行うことができます。上限を超えると、Earth Engine は 「HTTP 429: Too Many Requests」エラーを返します。通常、これらのエラーは Earth Engine クライアント ライブラリによって処理されます。このライブラリは、リクエストを指数バックオフでラップし、クエリが成功するまで再試行します。Earth Engine クライアント ライブラリは、リクエストを最大 5 回再試行します。

これらの 429 エラーの発生を回避するには、アプリケーションでキャッシュ保存を有効にすることをおすすめします。たとえば、memcache を使用して、可能な限り冗長なクエリを回避します。クエリを自動的に再試行しない古いバージョンの Earth Engine クライアント ライブラリを使用している場合、または 5 回再試行してもクエリが完了しない場合は、リクエストの周囲に指数バックオフを実装する必要があります。

リクエストのレート(QPS)

Earth Engine では、同時実行数の上限に加えて、プロジェクト レベルとユーザーレベルでインタラクティブ リクエストのレートが制限されます。これらの設定は Cloud コンソールで調整できます。

同時実行バッチタスク

バッチタスクは、インタラクティブ リクエストよりも多くのリソースを使用するため、並列処理の量が制限されます。

Earth Engine を非商用で使用する場合、同時に実行できるバッチタスクの最大数は、割り当ての引き上げが許可されていない限り、デフォルトに設定されます。

Earth Engine を商用利用する場合、同時に実行できるバッチタスクの最大数は料金プランによって決まります。ただし、プロジェクトごとのバッチタスクの同時実行数の上限を設定することで、さらに減らすことができます。デフォルトでは、プロジェクトのバッチタスクの同時実行数の上限は、プロジェクトの請求先アカウントで構成された支払いプランで許可される最大値に設定されます。プロジェクトでこの上限を表示または更新するには、コマンドライン ツールのドキュメントをご覧ください。

アセット ストレージの割り当て

Earth Engine アセットには、対応するデータ ストレージ サイズがバイト単位で測定されます。アセットは Cloud プロジェクトまたは個人(以前のアセット)が所有できます。各アセットは、所有者の Earth Engine の全体的なストレージとアセット数の上限にカウントされます。

EECU-time per day

費用を制御する場合は、プロジェクトが Earth Engine で 1 日に消費できる EECU 時間の量を制限できます。デフォルトでは、この割り当ては無制限です。割り当て管理者は、earthengine.googleapis.com/daily_eecu_usage_time 割り当て指標をフィルタして、Cloud Console でこの上限を設定できます。この割り当てを設定すると、プロジェクト内のすべてのユーザーの Earth Engine リクエストが成功したときに消費される EECU 時間が累積されます。割り当てを超過すると、翌日に割り当てがリセットされるか、上限が引き上げられるまで、リクエストは失敗します。この割り当ての設定について詳しくは、費用管理ガイドをご覧ください。

ユーザーシート

Earth Engine を商用利用する場合、各サブスクリプション ティアにはユーザーシート数が含まれていますが、追加のシートを購入することもできます。

サービス管理者は、特定の請求期間内の Code Editor ユーザーの数に対応するために、シート数を購入する必要があります。

よくある質問

Q: シートにカウントされるのは誰ですか?
A: コードエディタを使用して Earth Engine のコンピューティング使用量(地図タイルの表示、コンピューティング クエリの送信など)を実行する個別のユーザーのみが、シート制限の対象となります。

Q: ユーザー数が月ごとに変動する場合はどうなりますか?
A: シートは特定の個人に割り当てられません。名前付きスロットではありません。ある月のカウントを超えない限り、個々のユーザー ID は関係ありません。

Q: サービス アカウントはどうなりますか?
A: サービス アカウントはシート数の対象外です。コンピューティングを実行する人間のユーザーとしてカウントされません。

Q: Python を介して Earth Engine にアクセスするユーザーはどうなりますか?
A: Python API 経由でのみ Earth Engine にアクセスし、コードエディタを使用しないユーザーは、シートの使用数にカウントされません。シート数は Code Editor の使用状況に関連付けられています。

Q: シートはどこでカウントされますか?
A: シート数は請求先アカウント単位で適用されます。組織全体でコードエディタを使用するすべてのユーザーが、請求先アカウントの合計シート数にカウントされます。

Q: シートの上限を超えるとどうなりますか?
A: 一貫した違反をモニタリングし、請求先アカウント レベルで上限を適用します。

Q: シート数を増減するにはどうすればよいですか?
A: 詳細については、Earth Engine の料金のページをご覧ください。

固定の割り当て上限

このタイプの割り当て上限はプラットフォーム レベルで設定されるため、ユーザーごとまたはプロジェクトごとに調整することはできません。時間の経過とともに大きく変化する可能性は低い。

計算時間

リクエストの種類によって最大期間が異なります。詳しくは、処理環境のドキュメントをご覧ください。

タイムアウト エラーの修正については、デバッグ ガイドをご覧ください。

リクエストごとのメモリ使用量

リクエストが「ユーザーのメモリ上限を超えました」というエラーで失敗した場合、Earth Engine が許容されるメモリ フットプリント内で回答を計算できなかったことを意味します。EE コンピューティング プラットフォームで使用可能な RAM の量には限りがあります。システムを安定した状態に保つため、各リクエストで使用できるのは一定量のみです。使用可能なメモリの最大量はリクエストのタイプ(マップタイルよりもバッチタスクの方が多いなど)によって異なりますが、これらはシステム全体の上限です。

メモリ エラーの修正については、デバッグ ガイドをご覧ください。

集約

Earth Engine リクエストを処理する際、計算負荷が高いことがわかっている特定タイプのサブ計算を分離します。これらのサブ計算は「集計」と呼ばれ、EE システムで特別に処理されます。集計の結果は、再計算を回避するためにキャッシュに保存されます。

同時集計

制御不能な計算ファンアウトを回避するため、個々のユーザーが同時に実行できる集計の数を制限しています。この制限は変更できません。「同時実行集計が多すぎます」というエラーでリクエストが失敗した場合、リクエスト元で同時に実行されている集計が多すぎることを意味します。

同時集計エラーの修正については、デバッグ ガイドをご覧ください。

大規模な集計結果

リクエストが「Computed value too large」で失敗した場合、集計で返された結果が大きすぎてキャッシュに収まらないことを意味します。計算結果のサイズの上限は 100 MiB で、これはシステム全体の上限です。

テーブルのインポートの上限

テーブルのアップロード上限については、テーブルデータのインポートに関するガイドをご覧ください。

リクエストのペイロード サイズ

Earth Engine への単一のクエリのサイズは 10 MB に制限されています。この上限を超えるのは、通常、シェイプファイルや GeoJSON 構造など、大きな追加データがクエリに直接含まれている場合のみです。これらのオブジェクトはアップロードして FeatureCollection アセットに変換し、アセット ID で参照する必要があります。

タスクキューの長さ

スケジュール設定を待機しているタスク(READY 状態)は「タスクキュー」を形成します。各プロジェクトのキューは、最大 3,000 個のタスクをサポートします。つまり、READY 状態のタスクを 3,000 個以上作成することはできません。

BigQuery ラスター関数の割り当て上限

ST_REGIONSTATS SQL 関数を使用する場合など、BigQuery から Earth Engine への呼び出しには、次の割り当てが適用されます。

割り当てのタイプ デフォルト値(プロジェクトごと)
1 日あたりの BigQuery スロット時間 1,260,000 スロット秒(350 スロット時間)

1 日あたりの BigQuery スロット時間

BigQuery の 1 日あたりのスロット時間の割り当ては、特定の日、特定のプロジェクトで、BigQuery ラスター関数が Earth Engine で使用できるスロット時間の量を制限できるカスタム割り当てです。1 日あたりの割り当てでは、失敗したクエリも含め、すべてのクエリの合計時間が累積されます。割り当ては、Cloud Consoleearthengine.googleapis.com/bigquery_slot_usage_time 指標で確認できます。値は、割り当て管理者が増減できます。デフォルト値を超える値を増やすには、割り当て増加リクエストを作成します。このリクエストは自動的に承認されます。変更は 10 分以内に反映されます。

この割り当てを超えると、BigQuery は次のエラー メッセージを返します。

From Earth Engine: Custom quota exceeded: Your usage exceeded the custom quota for'earthengine.googleapis.com/bigquery_slot_usage_time', which is adjustable by your administrator in the Google Cloud console: https://console.cloud.google.com/quotas/?project=_.

割り当てを超えると、翌日に割り当てがリセットされるか、管理者が上限を引き上げるまで、ST_REGIONSTATS 呼び出しは失敗します。