sql >> データベース >  >> RDS >> MariaDB

ハイブリッドクラウドセットアップでのパフォーマンスの向上

    ハイブリッドクラウドとは、オンプレミスインフラストラクチャ、プライベートクラウドサービス、およびさまざまなプラットフォーム間のパブリッククラウドオーケストレーションで構成される、コンピューティング、ストレージ、およびサービスが混在する環境を指します。データセンターでパブリッククラウド、オンプレミスコンピューティング、プライベートクラウドを組み合わせて使用​​するということは、ハイブリッドクラウドインフラストラクチャがあることを意味します。

    ハイブリッドクラウドインフラストラクチャの焦点は一般にディザスタリカバリ、可用性、スケーラビリティに向けられているため、ハイブリッドクラウドでは一般的にパフォーマンスの優先度が低くなります。このブログ投稿では、ハイブリッドクラウドセットアップで実行されているアプリケーション、ワークロード、クラスターのパフォーマンスを向上させるための一般的なヒントをいくつか取り上げます。

    専用のホスト/インスタンス/リソース

    リソースの広範な共有により、クラウドサービスのコストは低くなると言われています。ただし、共有の度合いが高いほど、パフォーマンスの保証は自動的に少なくなります。

    クラウドインスタンスは予測できない安定性を示す傾向がありますが、追加のコストがかかるため、専用のリソースを使用してこのリスクを軽減できます。専用インスタンスは、単一のテナント専用のハードウェア上で実行されるインスタンスです。通常、専用のホストまたはインスタンスは、ホストハードウェアレベルで他のテナントに属するインスタンスから物理的に分離されています。これにより、サービスに十分なリソースが保証され、長期的にはワークロードのパフォーマンスが実質的に安定します。予算に応じて、専用のホスト、インスタンス、帯域幅などの専用のリソースを利用するための複数のオプションがあります。

    インスタンスを長期間実行することを計画している場合は、多くのオファリングと割引もあります。たとえば、AWS EC2リザーブインスタンスにコミットすることで、ユーザーは標準のオンデマンドコストと比較して、インスタンスコストを最大70%節約できます。アプリケーションまたはワークロードがテストされ、本番環境の準備ができたら、その特定の契約期間のインスタンスに十分なリソースを割り当てれば、長期契約を選択することを強くお勧めします。

    帯域幅管理 帯域幅は高価です。高価なのは、ある場所から別の場所に帯域幅を運ぶためのインフラストラクチャです。敷設ファイバー、キャリアグレードおよびプロバイダーグレードのルーティングハードウェア、すべてを実行し続けるための監視とメンテナンスのオーバーヘッド、データセンタースイートのレンタル、24時間年中無休のネットワークオペレーションセンター(NOC)エンジニアの配置はすべて、信頼できる帯域幅。テクノロジーのペースは言うまでもなく、ユーザーの要求とベンダー製品の寿命により、上記の投資の大部分が廃棄され、7〜10年ごと、場合によっては5年ごとにライフサイクルが必要になることがよくあります。

    ほとんどのパブリッククラウドは、他のクラウドサービスプロバイダー(CSP)とのデータ交換を可能にします。これは、複数の方法で実現できます。

    • インターネットを介したパブリックIPアドレスを介したデータの転送。

    • オンプレミスネットワークとCSPネットワーク間でマネージドVPNサービスを使用します。

    • オンプレミスネットワーク、またはプライベートクラウドネットワークからPartner InterconnectforGoogleなどの他のCSPに直接接続しますクラウドまたはAWSDirectConnectforAWS。

    • 共通のPO(Point of Presence)を介して他のCSPにデータを転送します。

    • プライベートクラウドネットワークおよびCSPネットワークとのネットワークピアリング。

    これらのオプションは、転送速度、遅延、信頼性、サービスレベルアグリーメント(SLA)、複雑さ、およびコストの点で異なります。オプションに関係なく、考え方は同じです。使用するデータ転送が小さいほど、コストは低くなります。

    帯域幅の使用量を減らすために、圧縮は私たちがすべき最も重要なことです。現在、ほとんどのレプリケーションサービスは接続圧縮をサポートしているため、複数のサイト間のデータ転送サイズを大幅に削減できます。たとえば、MySQLマスタースレーブの接続圧縮を有効にすると、圧縮レベルやアルゴリズムを追加で構成しなくても、帯域幅の使用量を1.5倍に簡単に減らすことができます。これは、ロスレスデータ圧縮技術と呼ばれます。両方のエンドポイントでの圧縮と解凍の処理能力のトレードオフを使用して、さらに高い圧縮率に設定できます。

    ワークロードの配置も重要です。ハイブリッドクラウドのセットアップでは、アプリケーションとワークロードがプライベートクラウドとパブリッククラウドの両方に存在する可能性があります。社内アプリケーションの場合は、ネットワーク遅延が少ないオンプレミスに近いプライベートクラウドに配置することをお勧めします。パブリックアプリケーションのパフォーマンスを向上させるには、コンテンツ配信ネットワーク(CDN)のエッジサーバーにアプリケーションを配置します。これにより、動的リクエストのみを処理し、静的コンテンツ配信を複数のエッジサーバーにオフロードするメインサーバーの負担が大幅に軽減されます。地理的にエンドユーザーに近いです。

    より高速な暗号化

    ハイブリッドクラウドのセットアップでは、インフラストラクチャの一部しか所有していないため、転送中および保存中の暗号化が必須です。送信中にデータを詮索好きな目で見たり、データに物理的にアクセスできる盗難や部外者からのデータ侵害のリスクを冒したりすることは望ましくありません。簡単に言うと、移動するデータや物理的にアクセスできないデータのすべての部分を暗号化する必要があります。ただし、一部の暗号化暗号は、ワークロードの速度とパフォーマンスを低下させる可能性があります。

    一般的な誤謬は、AES256を使用して暗号化されたメッセージは、AES128を使用して保護された同じ情報よりも解読が難しいと想定することです。キーサイズが大きいほど複雑さが増すことは論理的に理にかなっていますが、他のシステムと同様に、実装には弱点があります。 AES128とAES256について話していると仮定すると、AES256に影響を与えるキー拡張機能には既知の弱点があります。基本的に、この弱点により、AES256の複雑さがAES128よりも低くなります。

    WireGuardなどの一部のトンネリングツールは、暗号化が高速で、複数のサイト間でトンネリングする場合の実装が非常に簡単なことでよく知られています。これは、非対称暗号化アプローチを使用して、SSH暗号化が機能する方法と同様に機能します。この調査によると、テストされたすべての場所で、WireGuardは平均してOpenVPNより58%高速です。暗号化が高速になると、データの暗号化と復号化にかかる時間が短縮され、データ交換のパフォーマンスが大幅に向上します。

    ハイブリッドクラウド環境用にWireGuardVPNを設定する方法がわからない場合は、このブログ投稿「WireGuardを使用したMariaDBレプリケーションのマルチクラウド展開」を確認してください。

    すべてを監視

    クラウドベースの環境は複雑なリソースのセットに依存しており、ビジネスサービスに最も影響を与える可用性とパフォーマンスの問題を特定することは困難です。運用チームは、付随するクラウドインフラストラクチャコンポーネントを含むアプリケーションの状態を全体的に監視できる必要があります。

    ハイブリッドクラウドのパフォーマンスの向上は、常にすべてのリソースを幅広く把握できなければ実現できません。インスタンスとネットワークの使用率、アプリケーションパフォーマンス、ユーザーエクスペリエンス、遅延、ログファイルなどのリソースは、エンドユーザーに到達したり悪化したりする前に、パフォーマンスと可用性の問題をプロアクティブにトラブルシューティングできるように、収集してサンプリングすることが非常に重要です。リソースの誤った割り当ては、不十分なプロビジョニング環境では常に発生し、最終的には不十分なキャパシティプランニングにつながり、お金とリソースを浪費します。

    ほとんどのパブリッククラウドプロバイダーは、サブスクライブされたクラウドサービスの複数のレイヤーとコンポーネントをカバーする詳細な監視サービスを提供しています。ただし、欠けている部分は通常、さまざまなクラウドプラットフォーム、プロバイダー、環境間の監視の統合です。 Icinga、Nagios Core、Zabbixなどのオープンソースのオールインワン監視ツールは、ハイブリッドクラウドに関連するほとんどすべて、特にクラウドインスタンス、ネットワーク、サービス、アプリケーションを監視するように構成できます。

    ハイブリッドクラウド環境でデータベースサーバーのパフォーマンスを監視する場合は、次のリソースが役立つ可能性があります。

    • ハイブリッドクラウドでのMariaDBパフォーマンスの監視

    • ハイブリッド環境でのPostgreSQLの監視


    1. SELECTステートメントでBOOLEAN型を使用する方法

    2. MariaDBでのUNHEX()のしくみ

    3. SQL左結合

    4. 整数を16進数に、16進数を整数に変換