Envoyプロキシは、クラウドネイティブアプリケーション用に設計された無料のオープンソースサービスプロキシです。 リバースプロキシとして使用できるNginxやhaproxyに匹敵しますが、Envoyプロキシは最新のサービスとインフラストラクチャ向けに設計されています。
Envoyは、あらゆるアプリケーション言語で動作する高性能サービスプロキシです。 静的構成にYAML構成ファイルを使用し、gRPCベースのAPIのセットも使用します。
Envoyプロキシは、Cloud Native Computing Foundation(CNCF)を卒業しました。 これは、最新のインフラストラクチャおよびコンテナテクノロジで使用されています。
このチュートリアルでは、Debian11サーバーにEnvoyプロキシをインストールして設定する方法を示します。
前提条件
Envoyのインストールでは、以下を使用します。
- LinuxサーバーDebian11Bullseye
- sudo権限を持つroot以外のユーザー
Envoyリポジトリの追加
Envoyは、Envoyリポジトリによって提供されるバイナリパッケージやDockerを使用するなど、さまざまな方法でインストールできます。 この例では、Envoyリポジトリのバイナリパッケージを使用してEnvoyをインストールします。
Envoyを追加してインストールする前に、次のパッケージをインストールする必要があります。 The gnupg2 DebianサーバーにGPGキーを追加するために使用されます。 apt-transport-https 安全なhttps接続からパッケージをインストールできるようにします。
sudo apt install gnupg2 apt-transport-https -y
次に、次のコマンドを使用してEnvoyGPGキーを追加して確認します。
curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg
echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check
キーが有効な場合は、OKなどの出力メッセージが表示されます。
次に、以下のコマンドを使用して、Envoyリポジトリをシステムに追加します。
echo "deb [arch=amd64
signed-by=/usr/share/keyrings/getenvoy-keyring.gpg]
https://deb.dl.getenvoy.io/public/deb/debian
$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list
最後に、Debianリポジトリを更新して更新します。
sudo apt update
以下のスクリーンショットでは、EnvoyリポジトリがDebianシステムに追加されていることがわかります。
EnvoyProxyのインストール
これで、Envoy GPGキーとリポジトリが追加されました。これで、Envoyパッケージをシステムにインストールします。
以下のaptコマンドを実行して、EnvoyパッケージをDebian11システムにインストールします。
sudo apt install getenvoy-envoy
以下に、プロセス中のEnvoyのインストールを示します。
Envoyのインストールが完了したら、次のコマンドを使用してEnvoyのバージョンを確認します。
envoy --version
以下に、Debian11にインストールされたEnvoyv1.18を示します。これは、Envoyリポジトリによって提供されるEnvoyプロキシの最新バージョンです。 最新バージョンを入手したい場合は、EnvoyWebサイトからビルド済みのバイナリファイルを使用できます。
さらに、次のコマンドを使用して、envoyコマンドで使用可能なすべてのオプションを確認することもできます。
envoy --help
Envoyの設定に使用できる多くのオプションが表示されます。
エンボイプロキシの設定
Envoyをインストールした後、Envoyの設定方法を学習します。
まず、新しいディレクトリを作成します / etc / envoy / 次のコマンドを使用します。広告
mkdir -p /etc/envoy/
次に、新しいファイルを作成します /etc/envoy/demo.yaml を使用して ナノ 編集者。
sudo nano /etc/envoy/demo.yaml
次の構成をファイルに追加します。 この例では、 static_resources Envoyの構成。これには、 リスナー、 クラスター、 と static_resources。
リスナーは、Envoyに使用されるIPアドレスとポートを決定します。 この例では、Envoyはポート80のパブリックIPアドレス0.0.0.0で実行されます。
ここでのクラスターservice_envoyproxy_ioは、サービスのエンドポイントとして使用されます。これは、ドメイン名www.envoyproxy.ioです。
static_resources:listeners:
- name: listener_0
address:
socket_address:
address: 0.0.0.0
port_value: 80
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: ingress_http
access_log:
- name: envoy.access_loggers.stdout
typed_config:
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
http_filters:
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match:
prefix: "/"
route:
host_rewrite_literal: www.envoyproxy.io
cluster: service_envoyproxy_ioclusters:
- name: service_envoyproxy_io
type: LOGICAL_DNS
connect_timeout: 5s
# Comment out the following line to test on v6 networks
dns_lookup_family: V4_ONLY
load_assignment:
cluster_name: service_envoyproxy_io
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: www.envoyproxy.io
port_value: 443
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
sni: www.envoyproxy.io
完了したら、ファイルを保存して閉じます。
次に、以下のenvoyコマンドを実行して、構成ファイルdemo.yamlを確認します。
envoy --mode validate -c /etc/envoy/demo.yaml
YAML構成が正しい場合は、「configuration/etc/envoy/demo.yamlOK」などの出力が表示されます。
次に、次のコマンドを使用して、構成ファイルdemo.ymlでEnvoyを実行します。
envoy -c /etc/envoy/demo.yaml
以下にログ出力が表示されます。 また、エラーメッセージが表示されないように注意してください。
次に、ローカルマシンに移動し、nanoエディターを使用して構成ファイル/ etc/hostsを編集します。
sudo nano /etc/hosts
以下のように、www.envoyproxy.ioドメイン名とサーバーのIPアドレスを追加します。
192.168.5.10 www.envoyproxy.io
完了したら、ファイルを保存して閉じます。
最後に、Webブラウザーを開き、ドメイン名www.envoyproxy.ioにアクセスすると、ドメイン名www.envoyproxy.ioのホームページが表示されます。
結論
おめでとうございます! これで、Debian11サーバーにEnvoyが正常にインストールされました。 また、Webサイトwww.envoyproxy.ioをプロキシするためにYAML構成を使用してEnvoyをセットアップする方法も学習しました。
The post Debian11にEnvoyプロキシをインストールして設定する方法 appeared first on Gamingsym Japan.