Envoy Proxyは、メモリフットプリントが小さい高性能プロキシサーバーであり、ルーター、ファイアウォール、ロードバランサーなどの組み込みデバイスで実行できます。もともとCitrixNetScalerアプリケーション配信コントローラー用に開発されたEnvoyProxyは、現在、多くの主要なWebプロパティおよびアプリケーションで使用されています。
Ubuntuにエンボイプロキシをインストールする方法を学びたいですか? Envoyは、Webサイトのパフォーマンスを向上させるための優れたプロキシです。レイテンシーを削減し、キャッシングを改善するのに役立ちます。さらに、設定はとても簡単です!
前提条件
Envoy Proxyをインストールするには、次のものが必要です。
- Ubuntu20.04を実行しているサーバー。このインストールプロセスは、最近のUbuntuバージョンで機能するはずですが、Ubuntu 20.04以外のものを使用している場合は、いくつかの小さな変更が必要になる場合があります。
- rootアクセスまたはsudo権限。ここでsudoユーザーを設定する方法を学ぶことができます。
- 少なくとも2GBのRAMを使用できるようにすることをお勧めしますが、必要なメモリは、プロキシするサイトの数と種類によって異なる場合があります。
サーバーの更新
サーバーのセットアップとsudoユーザーアカウントを取得したら、最初に行う必要があるのはシステムを更新することです。
システムで古くなっているパッケージを確認するには、次のコマンドを使用できます。
sudo apt update && sudo apt upgrade -y
更新されるパッケージのリストが表示されます。プロンプトが表示されたら、sudoパスワードを入力します。このインストール中に頻繁に使用するため、このターミナルは開いたままにしておきます。
更新が完了したら、次のコマンドを使用して必要な依存関係をインストールします。
次の依存関係をインストールします:
- software-properties-common:これにより、公式のEnvoyリポジトリを追加できます。
- curl:curlは、公式のEnvoyProxyをダウンロードするために使用されます。
- ca-certificates:これは、ダウンロードプロセス中にシステムが安全であることを確認するために必要です。
- apt-transport-https:これにより、HTTPSプロトコルを介してコンポーネントをダウンロードできます。HTTPSプロトコルはHTTPよりも安全です。
- gnupg2:システムがEnvoyProxyGPGキーを適切に検証できるようにするにはgnupg2が必要です。これにより、使用しているキーが正当であることを確認する方法が提供されます。
次のコマンドを実行します:
sudo apt -y install software-properties-common curl ca-certificates apt-transport-https gnupg2
依存関係の更新とインストールが完了したら、次のコマンドを使用してサーバーを再起動し、すべての新しい変更が有効になるようにします。
sudo reboot
Envoyプロキシのインストール
システムが最新の状態になり、すべての依存関係がインストールされたので、EnvoyProxyをインストールできます。
次のコマンドを実行して、GPGキーをAPTキーチェーンに追加します。これにより、サードパーティのリポジトリの正当性を確認できます。
curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg
GPGキーは、ソフトウェアリポジトリの正当性を検証するために使用される公開キーです。不正なキーはシステムにマルウェアを導入する可能性があるため、正当なGPGキーを使用していることを確認することが重要です。 Envoy Proxy GPGキーは、次のコマンドを使用して確認できます。
echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check
OKが表示されます GPGキーが有効な場合の応答。
キーを確認したら、次のコマンドを実行して、リポジトリEnvoyProxyをシステムに追加します。
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] https://deb.dl.getenvoy.io/public/deb/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list
GPGキーを追加し、Envoy Proxyリポジトリを承認したら、次のコマンドを使用してパッケージマネージャーの更新を実行します。 Ubuntuシステムに新しいソフトウェアをインストールしたばかりですが、それを実行しようとすると、そのソフトウェアがご使用のバージョンのUbuntuと互換性がないことを示すエラーメッセージが表示されます。問題は、ソフトウェアが、使用しているバージョンよりも新しいバージョンのUbuntuで動作するように設計されていることです。解決策は、APTパッケージマネージャーを更新して、Ubuntuの新しいバージョンからソフトウェアをインストールできるようにすることです。
sudo apt update -y
apt-cache policyコマンドを実行して、現在のAptパッケージマネージャーポリシーを一覧表示します。
apt-cache policy
出力にgetenvoy.ioリストエントリが表示されます。これは、EnvoyProxyをインストールできることを示しています。
最後に、次のコマンドを使用してEnvoyProxyをインストールします。
sudo apt install getenvoy-envoy -y
インストールが完了したら、sudo restartを実行して、プロキシサーバーが起動し、正しく実行されていることを確認します。
sudo reboot
インストールのテスト
Envoy Proxyサーバーをセットアップしたので、サーバーが正しく実行されているかどうかを確認しましょう。
実行しているEnvoyProxyのバージョンを確認するには、次のコマンドを実行します。
envoy --version
Envoyは、EnvoyProxyの最新バージョンに関する情報を返す必要があります。このデモでは、最新バージョンは1.18.2です。バージョン番号は若干異なる場合があります。
コマンドを実行して、使用可能なオプションのリストを表示します。
envoy --help
Envoyプロキシサーバーには、使用できる多くの機能があります。エンボイプロキシで利用可能なすべてのオプションの詳細については、公式ページをご覧ください。例:
- –enable-core-dump:これはプロキシクラッシュをデバッグするためのコアダンプを有効にするために使用されます
- –log-format-escaped:これは、プロキシログをエスケープされたCスタイルのJSONとしてフォーマットするために使用されます。
次のコマンドを実行して、デモ構成ファイルをダウンロードします。
wget https://www.envoyproxy.io/docs/envoy/latest/_downloads/92dcb9714fb6bc288d042029b34c0de4/envoy-demo.yaml
envoy -c envoy-demo.yamlコマンドを実行して、構成ファイルを使用してEnvoyプロキシサーバーを実行します。
envoy -c envoy-demo.yaml
Envoyは現在、http:// localhost:10000/でリッスンしてプロキシしています。別のターミナルウィンドウを開き、curl http:// localhost:10000 / healthzコマンドを実行して、Envoyかどうかを確認します。稼働中です。
curl -v localhost:10000
Envoyからデフォルトのウェルカムページが表示されます。したがって、EnvoyProxyサーバーは意図したとおりに稼働しています。
結論
このガイドでは、Ubuntu20.04サーバーにEnvoyProxyをインストールする方法を学習しました。これで、HTTPサーバーからのリクエストをプロキシするために使用できます。
Envoy Proxyの詳細については、公式ドキュメントを確認してください。