Azure SQL Edge 用に設計する

完了

Azure SQL Edge は、IoT および IoT Edge のデプロイ向けに最適化されたリレーショナル データベース エンジンです。 Azure SQL Edge は、SQL Server および Azure SQL と同じエンジン上に構築されています。 SQL Server のスキルを備えた開発者であれば、各自のコードを再利用して、Azure SQL Edge でエッジ固有のソリューションを構築できます。 Azure SQL Edge には、リレーショナル データおよび非リレーショナル データのストリーミング、処理、分析を実行できる機能があります。

Azure SQL Edge について知っておくべきこと

リレーショナル データ ストレージ ソリューションに含めるのに役立つ、Azure SQL Edge の特性を確認しましょう。

  • Azure SQL Edge は、コンテナー化された Linux アプリケーションです。 スタートアップメモリ占有領域は、500 MB 未満です。

  • 多くの IoT デバイスで実行されるアプリを設計して構築できます。 連続データ ストリームをリアルタイムでキャプチャしたり、包括的な組織データ ソリューションでデータを統合したりします。 次の図は、SQL Edge がストリーミング データをキャプチャして格納する方法を示しています。

    図は、SQL Edge がストリーミング データをキャプチャして格納する方法を示しています。

  • 組み込みのストリーミング エンジンにアクセスして、データ ストリームから分析情報を導き出すことができます。

    • 変換、ウィンドウ集計、シンプルな異常検出、受信データ ストリームの分類を行います。

    • 時系列ストレージを時間インデックス付きデータに使用します。これは、将来の分析のために集計してクラウドに格納できます。

  • Azure SQL Edge は、エッジ ゲートウェイ、IoT デバイス、エッジ サーバーなどのネットワーク エッジのコンポーネントと対話します。

    図は、エッジ ゲートウェイ、IoT デバイス、エッジ サーバーなどのネットワーク エッジのコンポーネントと Azure SQL Edge がどのように対話するかを示しています。

  • Azure SQL Edge は 2 つのエディションで使用できます。この 2 つのエディションは同じ機能セットを備えています。 エディションの違いは、異なる使用権限と、ホスト システムでアクセスできるメモリとコアの量の違いです。

    Azure SQL Edge Developer Azure SQL Edge
    各 Azure SQL Edge Developer コンテナーには、最大 4 コアおよび 32 GB メモリまでの制限があります。 各 Azure SQL Edge コンテナーには、最大 8 コアおよび 64 GB メモリまでの制限があります。
    開発専用 Production

デプロイのセキュリティ

IoT アプリをエッジにデプロイする場合、セキュリティが最大の関心事です。 Azure SQL Edge は、最も安全なデータベース プラットフォームの 1 つである SQL Server テクノロジに基づいており、SQL Server Enterprise と同じセキュリティ機能を備えています。 同じセキュリティ ポリシーとプラクティスがクラウドからエッジに拡張されます。

Azure SQL Edge デプロイの保護を確実に行うには、次の 4 つの手順が必要です。

  1. プラットフォームとシステムのセキュリティ。 このセキュリティ手順には、物理 Docker ホスト、ホスト上のオペレーティング システム、および、物理デバイスをアプリケーションとクライアントに接続するネットワーク システムが含まれます。

  2. 認証と認可。 SQL 認証とは、ユーザーがユーザー名とパスワードを使用して Azure SQL Edge に接続するときに、そのユーザーを認証することを指します。 認可とは、Azure SQL Edge のデータベース内のユーザーに割り当てられたアクセス許可を指します。

  3. データベース オブジェクトのセキュリティ。 データベース オブジェクトまたはセキュリティ保護可能なリソースは、サーバー、データベース、およびデータベース内のその他のオブジェクトです。 暗号化によってセキュリティが強化されます。 "Transparent Data Encryption (TDE) を使用したデータ保護" により、多くのセキュリティ規制に準拠できます。 "Always Encrypted" とすることで、データを所有するユーザーとそのデータを管理する管理者が分離されます。

  4. アプリケーションのセキュリティ。 Azure SQL Edge のセキュリティのベスト プラクティスには、安全なクライアント アプリケーションの作成が含まれています。

デプロイ オプション

Azure SQL Edge のデプロイ オプションには次の 2 つがあります。

  • 接続されたデプロイ: 接続されたデプロイでは、Azure SQL Edge は Azure Marketplace で提供されており、Azure IoT Edge のモジュールとしてデプロイできます。

  • 非接続のデプロイ: 非接続のデプロイは、Azure SQL Edge コンテナー イメージを介して実行されます。 このイメージは、Docker Hub からプルして、スタンドアロンの Docker コンテナーまたは Kubernetes クラスターとしてデプロイできます。

重要

Azure SQL Edge は、IoT のユース ケースとワークロードに最適化されています。 一方、SQL Server と SQL Database は、ミッションクリティカルなデータ管理ソリューションと基幹業務 (LOB) アプリ向けに構築されています。

ビジネス シナリオ

ある自動車製造会社でデータをリアルタイムに取り込むビジネス シナリオについて考えてみます。 開発者は、自社が製造する車両に搭載されている複数の IoT センサーからデータを取り込む IoT アプリを開発しています。 車両のアプリがオンラインかオフラインかに関係なく、データが常に使用可能であることが重要です。 もう 1 つの目標は、データを製品開発に役立てることです。 Azure SQL に構築されたクラウドベースのデータベース システムと、データが簡単に同期できる必要があります。 あなたは、エッジ コンピューティングをサポートするのに十分な能力を備えた SQL Server に特化したソリューションを推奨するよう依頼を受けています。 この戦略には、IoT アプリケーションのプライバシー ニーズを満たすことができる十分なセキュリティが必要です。 Azure SQL Edge は、フットプリントが小さく、IoT デバイス向けにエッジに最適化されているため、こうした要件をサポートするのに最適です。

Azure SQL Edge を使用する際の考慮事項

Tailwind Traders のリレーショナル データ ストレージ プランに Azure SQL Edge を含める方法について考えてみます。

  • ネットワーク接続についての制限事項を検討します。 ネットワーク接続が使用できない場合は、引き続き検討します。 Azure SQL Edge は、ネットワーク接続の有無にかかわらず機能するソリューションをサポートします。

  • ブロードバンド接続が低速、または断続的な切断がある場合について検討します。 接続速度が遅い場合や断続的な接続の問題がある場合は、ローカル データベースでの作業を続行します。 Azure SQL Edge には強力なローカル データベースが用意されています。 そのため、クラウドベースのデータベースにすべてのデータを転送する必要がなく、待機時間が発生しません。

  • データのセキュリティとプライバシーに関する懸念事項を検討します。 機密データとプライバシーに関する懸念事項に対処します。 Azure SQL Edge には、RBAC および ABAC、暗号化、データ分類が実装されています。 IoT アプリ データへのアクセスをセキュリティで保護して制御できます。

  • バックエンド システムとの同期と接続性を検討します。 ワークロードをバックエンド システムと同期します。 Azure SQL Edge では、Azure SQL Database、SQL Server、Azure Cosmos DB などの他のシステムと簡単にデータを交換できます。

  • コードとスキルの知識について検討します。 SQL を使用した作業についての開発者の知識を活用します。 Azure SQL Edge は、SQL Server と同じコードベースを共有しています。 SQL Server または SQL Database のスキルを備えた開発者であれば、各自のコードとスキルを再利用できます。