検証したい内容
Code EngineへのアクセスをVirtual Server Instanceに紐づいているSecurity GroupにてIPアドレス制御できるように、VSI上にフォワードプロキシを乗せ、プロキシ経由でCode Engineへアクセスされるようにする。
手順
- Code Engineにアプリをデプロイ
- Virtual Server Instanceにプロキシサーバー(Squid)を立てる
- Code Engineのアプリにアクセス確認
検証環境
Client PC
OS: macOS Sonoma 14.5
プロキシサーバー
Squidを入れてプロキシの動きをさせる用のVirtual Server Instanceを作成します。
- Location
リージョン:Tokyo 2
- Details
インスタンス名:xxxx-vsi
- Image and profile
CentOS Stream 9 - Minimal Install (amd64)
2 vCPU, 4 GiB, 4 Gbps
Code Engine
アクセス確認用に、Code Engineにアプリをデプロイします。今回はサンプルアプリのコンテナイメージ (icr.io/codeengine/helloworld) を使います。
- General
インスタンス名:haruna-qiita
- Code
コンテナイメージ:icr.io/codeengine/helloworld
- Resources & scaling
インスタンスリソース:0.125vCPU/0.25GB
オートスケーリングのインスタンス数:0-3
- Domain mappings
Privateエンドポイント
を有効化
検証
1. Squidのインストール
作成したVSIにログインし、Squidをインストールします。
(こちらのサイトを参照しました。)
以下のコマンドでSquidをインストールします。
dnf -y install squid
2.フォワードプロキシとして動くようコンフィグを編集
インストールが完了したら、Squid がフォワードプロキシとして動くようコンフィグファイルを編集します。
vi /etc/squid/squid.conf
以下、編集箇所です
# 55行目 : 追記 (httpアクセスを全て許可)
http_access allow all
# 60行目 : http_port 3128 → 8080に変更
# [defaultsite] は転送先 Web サーバーを指定
# http_port 3128
http_port 8080
コンフィグファイルを編集したら、Squidをリスタートします。
systemctl restart squid
3. Code Engineのアプリにアクセス確認
Code Engineのアプリにフォワードプロキシ経由でアクセスをするため、ユーザーPCからプロキシを指定します。以下のどちらかの方法で、プロキシの指定・アクセス確認をします。
アクセス確認方法1:curlコマンドでプロキシを指定・アクセス確認
ユーザーPCのターミナルから、以下のcurlコマンドでプロキシを指定し、Code Engineアプリへのアクセス確認をします。
curl --proxy http://128.xxx.xxx.xx:8080 https://haruna-qiita.xxxxxxx.private.jp-tok.codeengine.appdomain.cloud
curl --proxy
の後ろは
プロキシサーバーのFloatingIP:ポート番号
https://Code Engineにデプロイしたアプリのドメイン名
です。
Code EngineにデプロイしたHello worldアプリへアクセス出来たことがわかります。
アクセス確認方法2:ユーザーPCのWebブラウザからアクセス確認
Webブラウザにてプロキシの指定を行う必要があります。今回はFirefoxで実施しました。
Settings> Network Settingsを開きます。"Manual proxy configuration"を選択し、プロキシを入れているVSIのFloating IPとポート番号8080を指定します。Network Settingが完了したら、設定を適用するために一度ブラウザを閉じ、開き直します。
Webブラウザに、Code Engineにデプロイしたアプリのドメイン名を入力してアクセス確認します。
Code EngineにデプロイしたHello worldアプリへアクセス出来たことがわかります。