もっと詳しく

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_io

  clusters:
  - 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.