Start Building for Free
CircleCI.comアカデミーブログコミュニティサポート

CircleCI Server v3.x プロキシの設定

1+ year ago1 min read
Server v3.x
サーバー管理者
このページの内容

セキュリティ要件に応じて、CircleCI サーバーをプロキシ経由でインストールすることも可能です。 プロキシ経由で設定することにより、お客様のインストール環境とインターネット全体のアクセスを監視・制御することができます。

インストールと設定

プロキシ経由で CircleCI サーバーをインストールするには、2つの手順があります。 まずインストールをする際に、プロキシアドレスとプロキシの後ろにあってはいけないアドレスを指定する必要があります。

プロキシ経由でのインストール

設定方法の詳細は、 CircleCI Server v3.x インストールガイド を参照してください。 プロキシアドレスと非プロキシアドレスの両方に、 こちらで説明されている引数を使用する必要があります。 インストールコマンドは、次のような形式で指定します。

kubectl kots install circleci-server --http-proxy <my-http-proxy-uri> --https-proxy <my-https-proxy> --no-proxy <my-no-proxy-list>

プロキシの設定

サーバーをインストールし、管理コンソールにアクセスできるようになったら、以下のスクリーンショットで示すように、設定セクションで入力しなければならない項目があります。 これらのフィールドは自動的には入力されないので、インストール時に入力したプロキシアドレスと非プロキシアドレスをご自身で入力する必要があります。 プロキシがユーザー名とパスワードによる認証を必要とする場合は、 HTTP Proxy authenticated(HTTP プロキシ認証済) オプションにチェックを入れ、認証情報を追加します。

Screenshot showing settings available to configure a proxy
Figure 1. CircleCI Server v3.x プロキシの設定

既知の制限

  • プロキシ経由でインストールすると、Orb をインポートするための設定が追加で必要です。 詳しくは、 サーバーの Orb ドキュメントをご覧ください。

  • The JVM only accepts proxies that run over HTTP, not HTTPS, and therefore proxy URIs must be of the form http://user:password@host:port rather than https://user:password@host:port.

  • GitHub インスタンスがプロキシ環境(GitHub.com または GitHub Enteriprise)の外で動作している場合は、追加の設定をしなくても CircleCI アプリケーション(Kubernetes クラスタ内)と Nomad ノードからの SSH トラフィックがインスタンスにアクセスできるようにしなければなりません。 CircleCI の SSH エージェントは、異なるネットワークプロトコルを使用しているため、プロキシの設定に従いません。 プロキシがプロキシ環境の外にアクセスする唯一の手段である場合は、SSHトラフィックがブロックされ、アプリケーションが失敗します。

  • ロードバランサーのエンドポイントを、output processor と `vm-service`の非プロキシリストに追加する必要があります。 これは、非プロキシリストがアプリケーションとビルドエージェントの間で共有されているためです。 アプリケーションとビルドエージェントは同じファイアウォール内にあると想定されているため、両者の間にプロキシを介在させることはできません。

  • プロキシ設定がされていると、KOTS 管理者コンソールのアップグレードができません。 プロキシ設定が削除され、KOTS 管理者コンソールが壊れる原因になります。

  • プロキシを設定した VM サービスでは、カスタムイメージが必要になることがよくあります。 詳しくは CircleCI Linux Image Builder レポジトリ をご覧ください。

  • オブジェクトストレージがプロキシの外にある場合、オブジェクトストレージを使用するジョブ機能は動作しません。 それには以下が含まれます。

    • アーティファクト

    • テスト結果

    • キャッシュの保存と復元

    • ワークスペース

      以下のようにジョブに環境変数を設定することで、この問題を回避することができます。 例えば下記のようにします。

      jobname:
        docker:
        - image: ubuntu:latest
            auth:
              username: mydockerhub-user
              password: $DOCKERHUB_PASSWORD  # context / project UI env-var reference
          environment:
            HTTP_PROXY: http://proxy.example.com:3128
            HTTPS_PROXY: http://proxy.example.com:3128
            NO_PROXY: whatever.internal,10.0.1.2

ドキュメントの改善にご協力ください

このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。

サポートが必要ですか

CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。

または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。