

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# API 統合 ‒ フロントエンドのバックエンド
<a name="api-integration-data-fetching"></a>

[フロントエンドのバックエンド (BFF) パターン](https://aws.amazon.com/blogs/mobile/backends-for-frontends-pattern/)は通常、マイクロサービス環境で使用されます。マイクロフロントエンドのコンテキストでは、BFF はマイクロフロントエンドに属するサーバー側のサービスです。すべてのマイクロフロントエンドに BFF が必要なわけではありません。ただし、BFF を使用している場合は、同じ境界コンテキスト内で実行する必要があり、他の境界コンテキスト間で共有することはできません。

従来のサービスとは異なり、BFF はドメインモデルに従っていません。代わりに、マイクロフロントエンドがクライアントに到達する前にデータを前処理するための API レイヤーです。これが役立つ領域は次のとおりです。
+ プライベート APIsに対する認可
+ さまざまなソースからのデータの集約
+ ネットワーク負荷を軽減し、クライアントによるデータの消費を容易にするためのデータの変換

そのため、BFF はドメインサービス層ではなくマイクロフロントエンドによって所有されます。BFFsは、以下を使用してデプロイできます。
+ AWS AppSync GraphQL APIs
+ AWS Lambda 関数のセット
+ Amazon ECS、Amazon EKS、または AWS AppRunner で実行されているコンテナとして

次の図は、BFF パターンがない場合、マイクロフロントエンドが個々のマイクロサービス API エンドポイントに接続してデータを取得および集計する必要があることを示しています。

![最初にトランザクションを取得し、次に分離されたマイクロサービスから価格を取得するダッシュボードアプリ。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/micro-frontends-aws/images/mfe-architectures-without-bff.png)


代わりに、次の図の BFF パターンを使用すると、マイクロフロントエンドは独自のバックエンドと通信し、集約データを取得できます。



![トランザクションビューは、価格情報を含む集計データを BFF から取得します。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/micro-frontends-aws/images/mfe-architectures-with-bff.png)


チームは、モバイル、ウェブ、または特定のビューなど、さまざまなチャネルの BFFs を開発できます。また、混雑を軽減することでバックエンドインタラクションを最適化する要件があります。