こんにちは。私はDevOpsの初心者で、会社のためにパイプラインを設定しようとしています。会社のバックエンドは、データベースに接続してデータを取得するためにForticlient VPN接続が必要です。インストール方法などのガイドがあるか知りたいです。ビルドはWindowsマシン上で動作する必要があります。
パイプラインにVPN接続を作成させることはお勧めしません。
一般的に、私のプライベートネットワーク内にエージェントを設置し、インターネットに接続してデプロイメントジョブを引き出す方法を取ります。これがAzure DevOpsエージェント、GitLabランナー、その他様々なデプロイシステムの動作原理です。
私のCI/CDパイプライン内にホストされたランナーを使ってプライベート組織へのVPN接続を構築したことがあります。その後、FTPを使用してリモートVMにコードをデプロイしました。
あなたのCI/CDの中にVPN接続を構築するには、次のようなものになります:
名前: VPN接続作成
シェル: pwsh
環境変数:
USER: ${{ secrets.USER}}
SECRET: ${{ secrets.PASSWORD}}
実行: |
Add-VpnConnection -Name “{{VPN extunderscore Connection extunderscore name}}” -ServerAddress “{{DNSまたはあなたのVPNサーバのIP}}” -TunnelType “SSTP” -AllUserConnection -Force rasdial “{{VPN extunderscore Connection extunderscore name}}” “$env:USER” “$env:SECRET”
これが役立つことを願っています。
パイプラインに関しては不明ですが、Enclaveのようなものを使ってDevopsパイプラインとオンプレミスのリソース間の通信を確立することも検討できます。
Enclaveエージェントは内部のWindowsマシン上で動作でき、EnclaveのGitHubアクションはCI/CDパイプライン内で動作します。
Enclaveは、イングレストラフィックを必要とせず、パイプラインの実行中のみ有効なプライベートネットワーク接続を構築できます。
開示 - 創設者@ enclave.io。アドバイスが必要な場合は参加できるSlackチャンネルがあります。Enclaveは最大10システムまで無料で利用できるため、ご希望に沿うものかもしれませんし、現行のFortinet VPNと共存したり置き換えたりも可能です。
幸運を祈ります!
これに賛成します。CI/CDパイプラインにVPN接続を設定することは、災害のレシピのように感じられます。上記のようにカスタムランナーを作成し、それらの設定を事前に準備して、ジョブの実行時に呼び出して操作できるようにします。
正しければ教えてください、Azure DevOpsエージェントを設定すれば、それがVPNとして機能し、会社のサーバーに接続できますか?
プライベートホステッドエージェントを確認してください。
これにより、パイプラインがファイアウォールの背後にあるバックエンドと並列して動作するマシン上でタスクを実行できるようになります。VPN接続は不要です。
ありがとうございます。調べてみたところ、これがまさに私が必要としているもののようです。