コントロールプレーンとデータプレーン
AWS では、概念として、ほとんどのサービスをコントロールプレーンとデータプレーンに分けています。これらの用語は、ネットワークの世界、特にルーターから来ています。ルーターの主な機能であるデータプレーンは、ルールに基づいてパケットを移動します。ただし、ルーティングポリシーを作成および配布する必要があり、その作成と配信を担うのがコントロールプレーンです。
コントロールプレーンは、リソースを作成、読み取り/表示、更新、削除、およびリスト (CRUDL) するための管理 API を提供します。例えば、新しい Amazon Elastic Compute Cloud
データプレーンは、サービスの主要な機能を提供するものです。例えば、実行中の EC2 インスタンス自体、EBS ボリュームへの読み取りと書き込み、S3 バケットのオブジェクトの取得と配置、Route 53 による DNS クエリへの応答とヘルスチェックの実行は、どれもが該当する各サービスのデータプレーンが提供する機能です。
データプレーンは、ワークフロー、ビジネスロジック、データベースの複雑なシステムを通常実装するコントロールプレーンと比較して、可動部分が少なく、意図的に複雑さが軽減されています。これにより、コントロールプレーンと比べて、データプレーンで障害イベントが発生する可能性は統計的に低くなります。データプレーンとコントロールプレーンは、どちらもサービス全体の運用と成功に貢献しますが、AWS ではこれらを別個のコンポーネントとみなします。この分離により、パフォーマンスと可用性の両方の利点が得られます。