Linux ノードでプロキシを使用するための SSM Agent の設定 - AWS Systems Manager

Linux ノードでプロキシを使用するための SSM Agent の設定

オーバーライド設定ファイルを作成してhttp_proxyhttps_proxyno_proxy、 の設定をファイルに追加することで、HTTP プロキシ経由で通信するように AWS Systems Manager Agent (SSM Agent) を設定できます。より新しいバージョンまたはより古いバージョンの SSM Agent をインストールすると、オーバーライドファイルにもプロキシ設定が保持されます。このセクションには、upstart 環境および systemd 環境の両方で上書きファイルを作成するための手順が含まれています。Session Manager を使用する予定の場合は、HTTPS プロキシサーバーはサポートされていないことに注意してください。

プロキシを使用するように SSM Agent を設定する (Upstart)

upstart 環境のオーバーライド設定ファイルを作成するには、以下の手順に従います。

SSM Agent がプロキシ (Upstart) を使用するように設定する
  1. SSM Agent をインストールした先のマネージドインスタンスに接続します。

  2. VIM などの単純なエディタを開き、HTTP プロキシサーバーと HTTPS プロキシサーバーのどちらを使用しているかに応じて、以下のいずれかの設定オプションを追加します。

    HTTP プロキシサーバーの場合:

    env http_proxy=http://hostname:port env https_proxy=http://hostname:port env no_proxy=IP address for instance metadata services (IMDS)

    HTTPS プロキシサーバーの場合:

    env http_proxy=http://hostname:port env https_proxy=https://hostname:port env no_proxy=IP address for instance metadata services (IMDS)
    重要

    no_proxy 設定をファイルに追加し、その IP アドレスを指定します。no_proxy の IP アドレスは、Systems Manager のインスタンスメタデータサービス (IMDS) エンドポイントです。no_proxy を指定しない場合、Systems Manager への呼び出しによってプロキシサービスからアイデンティティを引き受けるか (IMDSv1 フォールバックが有効の場合)、Systems Manager への呼び出しが失敗します (IMDSv2 が強制されている場合)。

    • IPv4 の場合は、no_proxy=169.254.169.254 を指定します。

    • IPv6 の場合は、no_proxy=[fd00:ec2::254] を指定します。インスタンスメタデータサービスの IPv6 アドレスは、IMDSv2 コマンドと互換性があります。IPv6 アドレスは、AWS Nitro System 上に構築されたインスタンスでのみアクセス可能です。詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスメタデータサービスバージョン 2 の仕組み」を参照してください。

  3. amazon-ssm-agent.override という名前のファイルを次の場所に保存します: /etc/init/

  4. 次のコマンドを使用して SSM Agent を停止し、再起動します。

    sudo service stop amazon-ssm-agent sudo service start amazon-ssm-agent
注記

Upstart 環境で .override ファイルを使用する詳しい方法については、「init: Upstart init daemon job configuration」を参照してください。

プロキシを使用するように SSM Agent を設定する (systemd)

systemd 環境内でプロキシを使用するように SSM Agent を設定するには、次の手順に従います。

注記

この手順のステップの一部には、SSM Agent が Snap を使用してインストールされた Ubuntu Server インスタンス用の明示的な手順が含まれています。

  1. SSM Agent をインストールした先のインスタンスに接続します。

  2. オペレーティングシステムの種類に応じて、次のいずれかのコマンドを実行します。

    • スナップを使用して SSM Agent がインストールされる Ubuntu Server インスタンスでは、次の操作を行います。

      sudo systemctl edit snap.amazon-ssm-agent.amazon-ssm-agent

      他のオペレーティングシステムで以下の手順を実行します。

      sudo systemctl edit amazon-ssm-agent
  3. VIM などの単純なエディタを開き、HTTP プロキシサーバーと HTTPS プロキシサーバーのどちらを使用しているかに応じて、以下のいずれかの設定オプションを追加します。

    次の図に示すように、情報は必ず「### Lines below this comment will be discarded」というコメントより上に入力してください。

    ファイル内の新しいテキストを入力する場所を示すスクリーンショット。

    HTTP プロキシサーバーの場合:

    [Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=http://hostname:port" Environment="no_proxy=IP address for instance metadata services (IMDS)"

    HTTPS プロキシサーバーの場合:

    [Service] Environment="http_proxy=http://hostname:port" Environment="https_proxy=https://hostname:port" Environment="no_proxy=IP address for instance metadata services (IMDS)"
    重要

    no_proxy 設定をファイルに追加し、その IP アドレスを指定します。no_proxy の IP アドレスは、Systems Manager のインスタンスメタデータサービス (IMDS) エンドポイントです。no_proxy を指定しない場合、Systems Manager への呼び出しによってプロキシサービスからアイデンティティを引き受けるか (IMDSv1 フォールバックが有効の場合)、Systems Manager への呼び出しが失敗します (IMDSv2 が強制されている場合)。

    • IPv4 の場合は、no_proxy=169.254.169.254 を指定します。

    • IPv6 の場合は、no_proxy=[fd00:ec2::254] を指定します。インスタンスメタデータサービスの IPv6 アドレスは、IMDSv2 コマンドと互換性があります。IPv6 アドレスは、AWS Nitro System 上に構築されたインスタンスでのみアクセス可能です。詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスメタデータサービスバージョン 2 の仕組み」を参照してください。

  4. 変更を保存します。オペレーティングシステムの種類に応じて、次のいずれかのファイルが自動的に作成されます。

    • スナップを使用して SSM Agent がインストールされる Ubuntu Server インスタンスでは、次の操作を行います。

      /etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/override.conf

    • Amazon Linux 2 および Amazon Linux 2023 インスタンスの場合:

      /etc/systemd/system/amazon-ssm-agent.service.d/override.conf

    • 他のオペレーティングシステムで以下の手順を実行します。

      /etc/systemd/system/amazon-ssm-agent.service.d/amazon-ssm-agent.override

  5. オペレーティングシステムの種類に応じて、次のいずれかの SSM Agent コマンドを使用して再起動します。

    • スナップを使用してインストールされた Ubuntu Server インスタンスで、次の操作を行います。

      sudo systemctl daemon-reload && sudo systemctl restart snap.amazon-ssm-agent.amazon-ssm-agent
    • 他のオペレーティングシステムで以下の手順を実行します。

      sudo systemctl daemon-reload && sudo systemctl restart amazon-ssm-agent
注記

systemd 環境で .override ファイルを使用する方法については、Red Hat Enterprise Linux 7 システム管理者ガイドの「既存のユニットファイルの変更」を参照してください。