Amazon Web Services ブログ

AWS PrivateLink を使用したセキュアな SAP HANA Cloud 接続

はじめに

データドリブンエンタープライズの環境では、組織は 2 つの重要な要件を満たすデータベースソリューションを必要としています。1 つは、トランザクション処理と分析処理の両方のワークロードを扱える高性能性、もう 1 つはセキュリティとコンプライアンス要件への適合です。AWS 上で運用される SAP HANA Cloud は、SAP Business Technology Platform( SAP BTP )のサービスの一つであり、フルマネージド型のクラウドネイティブな Database-as-a-Service として、これらの要件に応えます。

SAP HANA Cloud は主に 2 つの用途で活用されています。1つは、ERP、CRM、HR、ロジシティックスなどの基幹システムを単一の高速プラットフォームで支えること。もう 1 つは、高度な分析とデータアプリケーションを通じて、実践的なビジネスイノベーションを推進・支援することです。また、SAP HANA Cloud は、SAP Analytics Cloud、SAP Datasphere、SAP Cloud Application Programming Model(CAP)で開発されたアプリケーションなどの、様々な SAP BTP サービスの基盤でもあります。

このブログでは、AWS PrivateLink を通じて SAP HANA Cloud のセキュリティと接続性を強化することにフォーカスし、高性能と信頼性を維持しながらプライベートで安全なデータベースアクセスを必要とする組織の重要なニーズに対応します。

AWS が SAP HANA Cloud の稼働基盤として選ばれた理由

SAP HANA Cloud は AWS Graviton プロセッサーによって対応しており、分析ワークロードで計算性能が最大 30% 向上しを提供し、計算コストを 15% 削減し、同等の EC2 インスタンスと比較して最大 60% 消費エネルギーを抑えることができます。AWS Graviton ベースのインスタンスに移行することで、SAP は SAP HANA Cloud ワークロードの計算カーボンフットプリントを約 45% 削減できると見込んでおり、炭素排出量削減を支援する Amazon の The Climate Pledge の署名企業としての取り組みを支持します。SAP は将来的に AWS Graviton の使用を拡大し、これらの性能向上、コスト削減、エネルギー効率を継続的に活用する計画です。したがって、AWS 上の SAP HANA Cloud を使用するお客様は、性能向上のメリットを享受しながら、カーボンフットプリントを削減も実現できます。

AWS 上の SAP HANA Cloud への接続

SAP HANA Cloud に接続する際、オンプレミスまたは他のクラウド環境にあるクライアントアプリケーションやユーザーは、インターネットアクセス可能なエンドポイントを通じてパブリック API を使用してデータベースにセキュアにアクセスできます。

図1:デフォルトのパブリックエンドポイント経由でのSAP HANA Cloudへの接続図1:デフォルトのパブリックエンドポイント経由でのSAP HANA Cloudへの接続

金融サービス、ヘルスケア、政府機関などの規制産業のお客様で、HIPAA、EU/US Privacy Shield、PCI DSS などの規制により、パブリックエンドポイントの使用が制限される場合があります。この場合、SAP HANA Cloud と AWS PrivateLink を組み合わせることをお勧めします。これにより、AWS の安全なネットワークインフラストラクチャを活用しながら、データベースとアプリケーション間の安全かつプライベートな通信を実現できます。また、プライベートIPアドレス範囲(RFC 1918)を使用することで、サービスへの攻撃リスクが低減できます。

このブログでは、AWS PrivateLink を使用したプライベート接続オプションを活用して、SAP HANA Cloud のデータ転送時のセキュリティを強化する方法について解説します。PrivateLink は、AWS 環境と SAP HANA Cloud 間の安全でプライベートなネットワーク接続を確立でき、パブリックインターネットへの通信を回避し、不正アクセスのリスクを抑制することができます。

AWS PrivateLink とは

AWS PrivateLink を使うことにで、AWSサービス(ネットワーク、コンピューティング、サーバーレスアプリケーション、AI など)と SAP BTP サービス間の通信をインターネット経由せず、プライベート接続を実現できます。また、AWS PrivateLink を使用して、Direct Connect または VPN 経由で Amazon Virtual Private Cloud(VPC)に接続されたオンプレミスネットワーク間の安全でプライベートな接続を提供することもでき、パブリックネットワークやIPアドレスを完全に回避できます。

AWS PrivateLink により、異なるアカウントやVPC間でのサービス接続が簡単になり、ネットワークアーキテクチャを大幅に簡素化します。VPC 内のプライベート IP アドレスを持つ Elastic Network Interface であるインターフェースエンドポイント経由で、AWS サービス、他の AWS アカウントで稼働しているサービス(エンドポイントサービス)、AWS Marketplace パートナーサービスに接続できます。

インターフェースエンドポイントは、VPC のサブネット内の Elastic Network Interface と IP アドレスを使用して、VPC 内に直接作成されます。プロバイダーとコンシューマーは、IPアドレスの重複を避けるためにネットワークセグメントや CIDR ブロックを調整する必要がありません。VPC ピアリングや AWS Transit Gateway 経由の接続は通信に必要ありません。セキュリティグループを関連付け、AWS サービスのインターフェースエンドポイントにエンドポイントポリシーを設定することで、指定されたサービスへのアクセスを制御できます。AWS PrivateLink を使用すると、AWS サービスや他の VPC が提供する他のサービスに、AWS ネットワーク内のプライベート接続を通じて安全にアクセスできます。すべてのネットワークトラフィックはグローバル AWS バックボーン上に留まり、パブリックインターネットを経由することはありません。

図2:AWS PrivateLink経由でのSAP HANA Cloudへの接続図2:AWS PrivateLink 経由での SAP HANA Cloud への接続

SAP HANA Cloudと AWS PrivateLink との接続するメリットをより理解するために、実際のシナリオでそのメリットを示すいくつかの実用的なユースケースを探ってみましょう。

SAP HANA Cloud と AWS PrivateLink を使うユースケース

データセキュリティが重要なビジネス環境において、AWS PrivateLink の実装は、データ転送中の機密情報を保護するために不可欠です。AWS のインフラストラクチャが提供するプライベート IP エンドポイントサービスは、重要なセキュリティレイヤーとして機能し、ビジネスへ重大な影響をもたらす可能性のあるセキュリティ侵害を防ぐのに役立ちます。この統合は、現代のクラウドアーキテクチャの複雑な要件に対応するエンタープライズクラスのセキュリティソリューションを提供することに対する AWS のコミットメントを示しています。

ユースケース 1 – SAP HANA Cloud 管理アクセスセキュリティ

SAP HANA Cloud PrivateLink を実装する重要なユースケースの 1 つは、安全なデータベースアクセスへの対応です。企業の環境では、オフィスで働くデータベース管理者と開発者は、テーブル管理、メンテナンス、開発タスクなどの重要タスクを実行するために SAP HANA Cloud への定期的なアクセスが必要です。これらの技術者は、一般ユーザーとは異なり、タスクに必要な広範なデータベース権限を付与されているため、接続セキュリティが特に重要になります。

図3に示すように、AWS PrivateLinkを使用した SAP HANA Cloud は、組織が機密データの転送をプライベートネットワークでのみに制限できるようにする完璧なソリューションを提供します。データベース操作へのプライベートアクセスは、運用効率を維持しながらパブリック IP を使わず、厳格なアクセス制御を通じて組織のセキュリティを強化します。

図3:エンタープライズグレードのSAP HANA Cloud管理アクセスセキュリティ図3:SAP HANA Cloud 管理アクセスセキュリティ

ユースケース 2 – セキュアなデータプラットフォーム統合:SAP HANA Cloud と AWS サービス

SAP HANA Cloud と AWS PrivateLink の重要なユースケースは、AWS 上でデータプラットフォームを構築し、SAP HANA Cloud データを分析エコシステムに統合するケースです。AWS データプラットフォーム内で SAP HANA Cloud データにアクセスするには、主に2つの方法があります。AWS Glue ETL ジョブを使用してデータを抽出しAmazon S3 にロードする方法、またはフェデレーションクエリに Amazon Athena SAP HANA コネクタを使用する方法です。両方のアプローチには、AWS サービスと SAP HANA Cloud 間の安全で信頼性の高い接続が必要です。

これらのデータ統合パターンを実装する際、機密ビジネスデータがシステム間で転送されるため、セキュリティが重要になります。図4は、AWS PrivateLinkが必要なセキュアな接続レイヤーを提供することを示しています。AWS サービス(AWS Glue や Amazon Athena など)と SAP HANA Cloud 間のすべてのデータ転送とクエリがプライベートネットワークチャネルを介して行われ、パブリックインターネットへの通信を介さず、エンタープライズデータ統合シナリオの厳格なセキュリティ要件を満たします。

図4:セキュアなデータプラットフォーム統合:SAP HANA CloudとAWSサービス図4:セキュアなデータプラットフォーム統合:SAP HANA Cloud と AWS サービス

AWS PrivateLink を使用した SAP HANA Cloud の設定方法

ユースケース 1 のエンタープライズグレードの SAP HANA Cloud アクセスの設定手順を説明します。このブログでは、設定について SAP HANA Cloud 管理ガイドを参照しました。この設定は SAP BTP 有料ティアアカウントで利用可能です。このブログ執筆時点では、データレイクインスタンス用の SAP HANA Cloud PrivateLink はAWS でのみ利用可能であり、SAP HANA Cloud PrivateLink ドキュメントに記載されているように、リージョン内の接続のみをサポートしています。以下は設定手順の概要です。

  1. SAP HANA Cloud で AWS PrivateLink Endpoint ID を有効化
  2. AWS VPC で VPC エンドポイントを設定
  3. AWS VPC エンドポイントを HANA Cloud インスタンスの許可リストに追加
  4. Amazon Route53 でプライベートホストゾーンを設定
  5. VPC 内から HANA Cloud へのプライベートルーティングをテスト
  6. インバウンド DNS クエリ転送用のリゾルバーを設定(RISE またはオンプレミスネットワークでの使用例1でのみ必要)

各ステップの詳細は以下の通りです。さらなるステップバイステップガイダンスについては、このワークショップのラボを参照してください。

1. SAP HANA Cloud で AWS PrivateLink Endpoint ID を有効化

SAP HANA Cloud の管理画面で、設定したい HANA Cloud インスタンスを選択し、View Configurationをクリックします。

図5:SAP HANA Cloud - 設定を表示図5:SAP HANA Cloud – 設定を表示

接続タブで、AWS PrivateLink Endpoint ID を有効にするボタンをオンにします。これにより、AWS VPC への接続を設定するための PrivateLink Endpoint ID を取得できます。許可する接続で、「この BTP リージョンの Cloud Foundry からの IP アドレスのみを許可」または「特定の IP アドレスと IP 範囲を許可(BTP の Cloud Foundry に加えて)」を選択して、すべてのトラフィックがプライベート接続を通過するように制御します。

図6:SAP HANA Cloud - 接続図6:SAP HANA Cloud – 接続

2. AWS VPC で VPCエンドポイントを設定

このステップでは、AWS VPC で VPC エンドポイントとセキュリティグループを設定して、Amazon VPC からこのエンドポイント経由で HANA Cloud へのアクセスを許可します。ご自身のAWS アカウントに VPC が設定されていない場合は、Amazon VPC ドキュメントを参照して VPC を作成してください。SAP HANA Cloud インスタンスの設定タブで AWS PrivateLink Endpoint Service ID をコピーします。

図7: SAP HANA Cloud – PrivateLink Endpoint Service IDs

AWS コンソールで、Amazon VPC サービスにアクセスし、パートナーサービス用の VPC インターフェースエンドポイントを作成します。エンドポイント作成画面で、エンドポイントの名前を入力し、タイプに「PrivateLink Ready partner services」を選択します。サービス設定で、HANA Cloud インスタンスの AWS PrivateLink Endpoint Service ID をサービス名ボックスに入力します。次に、サービス確認ボタンをクリックします。

図 8: Amazon VPC – VPC エンドポイント作成 (1)

「サービス名が確認されました」という成功メッセージが表示されたら、ネットワーク設定を選択できるようになります。ネットワーク設定で、エンドポイントを作成したい VPC とアベイラビリティーゾーン、サブネットを選択します。SAP HANA Cloud インスタンスが複数の AZ で利用可能な場合、VPC で複数の AZ とサブネットを選択できます。

図 9: Amazon VPC – VPC エンドポイント作成 (2)

このエンドポイントに、 https トラフィックを許可するセキュリティグループを割り当ててください。このブログでは、同 VPC 内のIP アドレス CIDR からの https トラフィックを許可するインバウンドルールを持つ https-from-sap-vpc という名前のセキュリティグループを作成しました。

図 10: Amazon VPC – VPC エンドポイント作成 (3)

VPCエンドポイントが作成され、ステータスが「使用可能」になったら、エンドポイントの詳細ページからエンドポイント ID をコピーしてください。この ID は、次のステップで HANA Cloud の設定に使用します。DNS ネームをコピーして、後で Route 53 での DNS 設定時に使用します。プライベート IPv4 アドレスをメモしておいてください。これは、プライベートルーティングをテストする最後のステップで確認することができます。

図 11: Amazon VPC – VPC エンドポイントの確認

3. Amazon VPC エンドポイントを HANA Cloud インスタンスの許可リストに追加

HANA Cloud 管理画面に戻り、HANA Cloud インスタンスの設定を開きます。接続設定画面で、作成した VPC エンドポイント ID を許可リストに追加します。これにより、先ほどの VPC から作成された VPC エンドポイントで HANA Cloud PrivateLink エンドポイントサービスに接続できるようになります。

Figure 12: SAP HANA Cloud – VPC エンドポイント ID 許可

4. Amazon Route53 でプライベートホストゾーンを設定

このステップでは、VPC 用の Amazon Route 53 のプライベートホストゾーンを設定し、HANA Cloud インスタンスへのトラフィックを VPC エンドポイントに向ける DNS レコードを作成します。SAP HANA Cloud 接続の詳細から、SQL エンドポイントアドレスとランドスケープアドレスを確認します。Route 53 DNS 設定と接続テストで使用するため、これらのアドレスをメモしてください。

図 13: SAP HANA Cloud – 接続情報確認

Amazon Route 53 ホストゾーン設定で、以下のように値を設定します。
– ドメイン名として HANA Cloud ランドスケープ名を入力
– タイプとしてプライベートホストゾーンを選択
– ホストゾーンを VPC に関連付けるために VPC ID を選択
次に、ホストゾーンの作成ボタンをクリックします。

図 14: Amazon Route 53 – ホストゾーン作成

作成されたホストゾーン画面で、すべての HANA Cloud へのトラフィックを VPC エンドポイントにルーティングする新しい DNS レコードを作成します。

図 15: Amazon Route 53 – DNS レコード作成

5. VPC 内から HANA Cloud へのプライベートルーティングをテスト

設定完了後、VPC 内の EC2 インスタンスから dig または nslookup コマンドを実行して、HANA Cloud インスタンスへのトラフィックが VPC エンドポイントのプライベート IP アドレスに向かっていることを確認します。HANA Cloud エンドポイント URL でこれらのコマンドを実行すると、VPC エンドポイントのプライベート IP アドレスが応答されます。

図 16: コマンドでプライベートルーティングを確認

hdbsql コマンドで HANA Cloud エンドポイントへのデータベース接続を確認します。

図 17: hdbsql コマンドでデータベース接続を確認

6. インバウンド DNS クエリ転送用のリゾルバーを設定(RISE またはオンプレミスネットワークでのユースケース 1 でのみ必要)

Route 53 プライベートホストゾーンは AWS アカウントの VPC 内に設定されているため、この VPC からのトラフィックにのみ影響します。ユースケース 1 で、RISE またはオンプレミスネットワークから HANA Cloud へのトラフィックも VPC エンドポイントを通過させたい場合は、Route 53 インバウンドリゾルバーを使用し、ネットワークからこのリゾルバーに DNS を転送する必要があります。

詳細な手順は Route 53 ドキュメント を参照してください。下記の画面は、VPC 内に作成されたインバウンドエンドポイントのサンプルで、2 つのサブネットに 2 つのプライベートIPアドレスが割り当てられています。これらの IP アドレスは、RISE やオンプレミスネットワークでの DNS 設定に使用することができます。

図 18: Amazon Route 53 – インバウンドリゾルバー

高可用性

AWS PrivateLink の高可用性アーキテクチャは、複数のアベイラビリティーゾーン( AZ )を通じて堅牢で回復力のある接続を提供し、重要なビジネス運用のための継続的なサービス可用性を確保します。図 19 は、複数の AZ にまたがるエンドポイントネットワークインターフェースで AWS PrivateLink を実装することで、自動フェイルオーバー機能を実現し、ネットワークアーキテクチャにおける単一障害点を排除できることを示しています。この分散設計により、ある AZ が使用不可能になった場合でも、トラフィックは自動的に正常なエンドポイントにルーティングされ、アプリケーションやサービスへのシームレスな接続が維持されます。

これにより、アプリケーションの信頼性が向上し、ダウンタイムのリスクが軽減され、パフォーマンスが安定するとともに、プライベート接続のセキュリティ上の利点も得られます。さらに、AWS PrivateLink と Amazon Route 53 DNS サービスとの統合により、インテリジェントなルーティングとヘルスチェックが可能となり、ソリューション全体の可用性と耐障害性が向上します。この包括的な高可用性の実装により、セキュアでプライベートなネットワーク通信を維持しながら、厳格なビジネス継続性要件を満たすことができます。

以下のアーキテクチャは、Network Load Balancer を通じて 2 つの AZ に跨って HA がどのように機能するかを説明しています。

図19:高可用性を備えたAWS PrivateLink図19:高可用性を備えた AWS PrivateLink

価格例

このブログの公開時点では、SAP HANA Cloud で AWS PrivateLink を有効にする際、SAP BTP で追加料金は発生しません。SAP が Network Load Balancer の実装と有効化を実施します。ご自身の AWS アカウントで作成されたリソースに対してのみ課金されます。

例えば、高可用性ありとなしでのお客様の AWS アカウントでの AWS PrivateLink のコストを比較してみましょう。両方のオプションは、この AWS 料金計算ツールリンク にあります。

図20: 料金の例

次のステップ

AWS PrivateLink の詳細については、AWS ドキュメント「AWS PrivateLink とは?」「AWS PrivateLink を使用して VPC をサービスに接続する」、およびAWSホワイトペーパー「AWS PrivateLink」を参照してください。

同様に、詳細については SAP HANA Cloud オンラインドキュメント と SAP HANA Cloud データベース管理ガイド を参照してください。

AWS アカウントチームと AWS サポートチャネルに加えて、AWS コミュニティ向けの Q&A 体験である re:Post を開始しました。AWS for SAP ソリューションアーキテクチャチームは、お客様とパートナーを支援するために回答できる議論と質問について、AWS for SAP トピックを定期的に監視しています。質問がサポート関連でない場合は、re:Post での議論に参加し、コミュニティの知識ベースに貢献することを検討してください。

クレジット

このブログへの貢献に対して、Derek Ewell、Ferry Mulyadi、Diego Lombardini、Eneko Bilbaoに感謝いたします。

翻訳は Specialist SA トゥアンが担当しました。原文はこちらです。