クラウドにおけるアプリケーションの依存関係の管理: 戦略とベスト プラクティス

クラウドにおけるアプリケーションの依存関係の管理: 戦略とベスト プラクティス

アプリケーション依存関係マッピングの基礎、クラウド コンピューティング環境におけるアプリケーション依存関係の重要性について学習し、4 つの主要なベスト プラクティスについて説明します。

アプリケーション依存性マッピングとは何ですか?

アプリケーション依存性マッピング (ADM) を使用すると、企業はエコシステム全体の包括的なマップを作成できます。死角を回避し、間違いや抜け穴を防ぐのに役立ちます。アプリケーション依存性マッピング (ADM) ソリューションは、エコシステム全体のポートやサービスを含むすべてのインスタンス、アプリケーション、通信チャネルを識別してマッピングできます。

ベンダーネイティブ、オープンソース、ベンダーに依存しない商用ツールなど、さまざまなアプリケーション依存関係マッピング ソリューションが存在します。ベンダーに依存しないソリューションにより、Microsoft Azure、Google Cloud、AWS などの複数のクラウド コンピューティング プロバイダー上のサブネット、VPC、セキュリティ グループを迅速かつ簡単に識別できます。

アプリケーション依存関係マッピング ソリューションは、アプリケーションの依存関係を視覚的に表す直感的なマップを表示できます。このマップは共有、検査、計画やトラブルシューティングに使用できます。マップの視覚化は、ビジネス戦略の開発をサポートし、ビジネス シナリオ別に整理し、アラートと情報をリアルタイムで優先順位付けするのに役立ちます。

クラウド コンピューティングにおいてアプリケーション依存関係マッピングが重要なのはなぜですか?

アプリケーション依存関係マッピングは、企業がすべてのアプリケーション依存関係を移行するのに役立ちます。そうしないと、重要な依存関係を見逃し、それなしで移行してしまう可能性があります。その結果、アプリケーションでパフォーマンスの問題や停止が発生する可能性があります。アプリケーション依存関係マッピングは、これらの問題を回避するのに役立ちます。

クラウド コンピューティング プロバイダーは、移行前に依存関係をマッピングすることの重要性を理解しており、Azure、AWS、Google Cloud などのオンプレミス環境向けのアプリケーション依存関係マッピング ツールを提供しています。これらのツールは環境に固有の結果を提供するため、これらのクラウド プラットフォームのいずれかに移行する場合にのみ使用する必要があります。

あるいは、ベンダーに依存しないツールを使用することもできます。無料のオープンソース ツールなど、さまざまなオプションが利用可能です。ほとんどのツールは、アプリケーションを分析し、サーバー間の関係をモデル化し、受信および送信接続の遅延、必要な TCP ポート、実行中のプロセスを識別します。

クラウドプロバイダーADMツール

(1)AWSアプリケーションディスカバリーサービス

AWS アプリケーション検出サービスは、オンプレミスのデータセンターに関する情報を収集し、企業が移行プロジェクトを計画するのに役立ちます。データ センターの移行には、相互に深く依存する何千ものワークロードが関係することが多いため、移行プロセスの早い段階でサーバーの使用率データを分析し、依存関係のマッピングを実行することが重要です。

AWS アプリケーション検出サービスは、サーバーの使用状況、動作、構成データを集約して提示し、企業がワークロードをより深く理解できるようにします。このサービスでは、データ ストレージを使用して、収集したデータを暗号化された形式で保存します。

ユーザーはデータを CSV ファイルとしてエクスポートし、それを使用して AWS の総所有コスト (TCO) を見積もり、それに応じてクラウド移行を計画できます。このデータは AWS Migration Hub でも確認でき、ユーザーはこれを使用してサーバーを移行し、移行の進行状況を追跡できます。

(2)Azureアプリケーションインサイト

Azure Application Insights は、リアルタイム Web アプリケーションの監視とスケーラブルなアプリケーション パフォーマンス管理 (APM) を提供する Azure Monitor の機能です。ユーザーは、Azure Application Insights を使用してパフォーマンスの異常を自動的に検出し、分析ツールを使用して問題を診断できます。

この機能はユーザーの行動に関する情報を提供し、ユーザーがアプリで何を行っているかを理解するのに役立ちます。 Azure Application Insights はこのデータを活用して、アプリケーションの可用性とパフォーマンスを継続的に向上させることができます。既定のアプリケーション ダッシュボードを使用すると、Azure App Insights で負荷、パフォーマンス、応答性を追跡し、依存関係、AJAX 呼び出し、ページの読み込みを監視できます。

クラウドにおける依存関係管理のベストプラクティスと戦略

(1)修正版

バージョン固定では、アプリケーション内のソフトウェア依存関係のバージョンを制限し、特定のバージョン (理想的には単一のバージョン) が使用されるようにします。

依存関係のバージョンを固定すると、アプリケーションが時間的に固定されます。アプリケーションを再現可能にすることは良い習慣ですが、アプリケーションが依存関係に更新を組み込むのを妨げるという悪影響があり、セキュリティやバグの修正が見逃される可能性があります。

ユーザーは、自動化された依存関係管理ツールを使用してソース管理リポジトリを操作することで、この問題を軽減できます。依存関係マネージャーは、ソフトウェア依存関係の新しいバージョンを監視し、アプリケーションを更新します。通常、これには変更ログ データなどの更新の詳細が含まれます。

(2)ハッシュと署名の検証

パッケージによって公開されたアーティファクトがインストールするものであることを確認する方法はいくつかあります。アーティファクトのハッシュをアーティファクト リポジトリと比較することで、アーティファクトの信頼性とセキュリティ レベルを検証できます。

ハッシュ検証により、ユーザーは依存関係に正しいファイルが含まれていること、および悪意のある行為者がそれらを改ざんしていないことを確認できます。アーティファクトの検証または最初の取得中にアーティファクト リポジトリにリストされるハッシュは、安全で侵害されていないと信頼されます。

ユーザーは署名検証を使用して、アーティファクト検証プロセスにセキュリティ レイヤーを追加することもできます。アーティファクトは、ソフトウェア メンテナーまたはアーティファクト リポジトリ (またはその両方) によって署名できます。

(3)プライベート依存関係とパブリック依存関係の混在を避ける

クラウド ネイティブ アプリケーションは通常、オープン ソース ソフトウェア、サードパーティ コード、クローズド ソース コンポーネント、内部ライブラリなど、さまざまなコンポーネントに依存します。プライベート リポジトリは、複数のアプリケーション間でビジネス ロジックを共有し、同じツールを再利用して外部ライブラリと内部ライブラリをインストールする場合に特に便利です。

ただし、パブリック依存関係とプライベート依存関係を組み合わせると、アプリケーションが依存関係混乱攻撃にさらされる可能性があります。難読化攻撃は、脅威アクターが内部プロジェクトと同じ名前でプロジェクトをオープンソース リポジトリに公開したときに発生します。次に、攻撃者は誤って設定されたインストーラーを使用して、正当な内部パッケージに悪意のあるライブラリを密かにインストールしようとしました。

依存関係の混乱攻撃を回避するのに役立ついくつかのプラクティスを次に示します。

• ロック ファイルにハッシュまたは署名をリストして、すべての依存関係を検証します。

• 内部依存関係とサードパーティ依存関係のインストール プロセスが 2 つの異なる手順を使用して分離されていることを確認します。

• プロキシまたは手動プロセスを使用して、サードパーティの依存関係をプライベート リポジトリに明示的にミラーリングします。

(4)脆弱性スキャン

他のコンポーネントと同様に、依存関係には新しく発見された脆弱性やゼロデイ脆弱性が含まれる場合があります。ユーザーは、依存関係をスキャンし、脆弱性が見つかった場合に通知を受け取るプロセスを設定する必要があります。ただし、脆弱性データベース内の依存関係を手動で監視し、サードパーティ ソフトウェアの依存関係を確実に監査することは困難です。

脆弱性スキャナーは依存関係を自動的かつ継続的に分析し、脆弱性が発見されるとすぐにそれを探します。脆弱性スキャン ツールはロック ファイルを使用して、依存するアーティファクトを識別し、新しい脆弱性が発生したときに通知します。アップグレード パスを提案できるツールがあります。

結論は

ここでは、アプリケーション依存関係マッピングの基礎、クラウド コンピューティング環境におけるアプリケーション依存関係の重要性について説明し、ユーザーがクラウド アプリケーション マッピングをより有効に活用してセキュリティ リスクを回避するのに役立つ 4 つの主要なベスト プラクティスについて説明します。

• バージョン固定 – 依存関係が安全なバージョン範囲に制限されるようにします。理想的には 1 つのバージョンに制限されます。

• ハッシュと署名の検証 – パッケージ内の成果物が本物であり、悪意のあるコンポーネントが含まれていないことを確認します。

•プライベート依存関係とパブリック依存関係の混在を避ける – サードパーティの依存関係が安全であることを確認した後、サードパーティの依存関係を信頼できるプライベート リポジトリにミラーリングすることをお勧めします。

• 脆弱性スキャン – すべての依存関係が既知の脆弱性についてスキャンされていることを確認します。

これにより、クラウド展開の可視性と制御性が向上することを期待しています。

<<:  Kubernetes を一緒に学ぶ: ワークロードのハイライト

>>:  K8S トラブルシューティング ガイド: ネットワークの問題のトラブルシューティングのアイデア

推薦する

レバレッジは依然としてマーケティングの核となるモデルである

ネット上に溢れる成功事例のほとんどは、実はレバレッジのかけ方に関するものなんです! 2 段階マーケテ...

エンタープライズ ウェブサイトの最適化: 検索ボリュームは大きいが競争率が低いキーワードを見つける方法

エンタープライズ Web サイトの最適化: 検索ボリュームは大きいが競争は少ないキーワードを見つける...

ビジネスマーケティング担当者は、ウェブサイトをどのように活用してより多くの注文を獲得できるでしょうか?

従来の企業ウェブサイトは、主に企業に宣伝プラットフォームを提供するために使用され、主に企業の状況や製...

クラウドネイティブアーキテクチャ実装ロードマップの分析

クラウドネイティブアーキテクチャシステムには多くのコンテンツが含まれています。マイクロサービス、コン...

Baiduプロモーションの核心:適切な言葉を見つけ、適切なページを選択し、会話について話す

多くのウェブサイトがBaiduプロモーションを行っています。この作業は非常に複雑に思えるため、多くの...

クラウドネイティブ開発のための 12 の Kubernetes 開発ツール

Kubernetes の便利なツールの共有を継続し、この記事では 12 個の Kubernetes ...

所有ネットワーク - $15/年/512MB RAM/100GB HDD/500GB トラフィック/G ポート/6 コンピュータ ルーム

OwnedNetworks の所有者はパナマ人です。ドメイン名は 2005 年に登録されました。ID...

テンセントの「王者栄耀」は多くの人々にとって成功であり、他のゲーム株は苦戦している

楊洋のファンの理論に従えば、「王者栄耀」は中国のゲーム業界に謝罪するべきかもしれない。楊洋のファンは...

クラウドコンピューティングの開発動向:「フルクラウド」

クラウドコンピューティングの開発動向には、「フルクラウドコンピューティング」、「クラウドネットワーク...

クラウド マスター データ管理 (MDM) がエンタープライズ IT の次の「爆発点」となるのはなぜでしょうか?

以前、私は有名企業の CIO にインタビューしました。当初のトピックはハイブリッド クラウドとマルチ...

マーケティング企画事例:「巨大な稲妻」が私の心を打つ

巨大な稲妻が広州市の街路を「襲った」?4月7日、広州の中心部に3階建ての巨大な稲妻ロゴ彫刻が現れ、通...

Kubernetes オーケストレーション ツール Minikube を 1 つの記事で理解する

1. Minikube が必要な理由コンテナ技術の急速な発展と広範な応用により、Kubernetes...

旅行サイト運営における珠海連盟と同城連盟のホテル協力の比較

こんにちは、旅行ウェブマスターの皆さん。私は普通の旅行ウェブマスターです。私のウェブサイトは「旅遊人...

ビジネスは難しいです。Tmallに出店するにはどれくらいの費用がかかるか見てみましょう。

「どこでも簡単にビジネスができるようにしよう!」ジャック・マー氏の呼びかけは、タオバオやTモールに飛...