前置き
ども、安田です。
プライベートインスタンスでインターネットへの接続ができない環境で
SaaS製品を有効化する要件があったのでちょいネタをアップロードします。
ほんまにごくわずかやと思いますが、誰かにさされー!
目次
1.環境に関する話
2.Squidに関して
3.設定手順
4.結果
5.感想
環境に関する話
前提環境としては、上記のスクショのような環境となっています。
VPC内にはNATゲートウェイも存在するが、
セキュリティ要件によって、プライベートインスタンスから
直接インターネット接続ができない設定となっている環境となっております。
VPC内のパブリックサブネットに踏み台環境があるので、
Squidをインストールしてプロキシとして利用することによって、
SaaS製品のみの通信をできるだけ安全に実施します。
※C1WSの要件によって、踏み台環境のアウトバウンドはHTTPSがANY許可が必要です。
※Mackerelの要件によって、踏み台環境のアウトバウンドはHTTPSが公式のIPに対して許可する必要がございます。
Squidに関して
Squid は、高性能なプロキシサーバおよびキャッシュサーバとして広く利用されているオープンソースソフトウェアです。主にHTTP、HTTPS、FTPなどのプロトコルのリクエストをキャッシュし、ネットワークのパフォーマンス向上やセキュリティ強化に貢献します。
設定手順
■セキュリティグループの設定
- 踏み台のセキュリティグループ
- メンテナンスのセキュリティグループ
※アウトバウンドは踏み台のみに制御しています。
■ Squidのインストールと設定(踏み台のセットアップ)
yum install squid
/etc/squid/squid.confを以下に変更し、systemctl restart squid.service
# ACL: 許可するクライアント(メンテナンスサーバのIP)
acl allowed_client src 10.0.136.189/32
# ACL: 許可する通信先
# mackerelのセットアップ時のみいる設定導入後は削除しても問題なし
acl mackerel_endpoints dstdomain .mackerel.io
acl mackerel_yum_repos dstdomain .yum.mackerel.io
acl amazonlinux_repos dstdomain .s3.dualstack.ap-northeast-1.amazonaws.com
acl mackerel_api dstdomain .mackerelio.com
# C1WS関連
acl c1ws_trendmicro dstdomain .trendmicro.com
# SSLポートとSafeポートの定義(HTTP通信を許可)
acl Safe_ports port 80 # HTTP
acl Safe_ports port 443 # HTTPS
# HTTPアクセスポリシー
http_access allow allowed_client mackerel_endpoints
http_access allow allowed_client mackerel_yum_repos
http_access allow allowed_client amazonlinux_repos
http_access allow allowed_client mackerel_api
# C1WS関連
http_access allow allowed_client c1ws_trendmicro
http_access deny all
# Squidがリッスンするポート
http_port 3128
# ログ設定
access_log /var/log/squid/access.log squid
# コアダンプ設定
coredump_dir /var/spool/squid
■MackerelとC1WSのインストール(メンテナンスサーバ)
-
Mackerelのセットアップ
通常どおりインストール作業を実施します。
mackerel.confの設定が完了し、監視設定を反映させる前タイミングで
プロキシ経由でMackerelが稼働するように以下のおまじないをします。mkdir -p /etc/systemd/system/mackerel-agent.service.d/ vi /etc/systemd/system/mackerel-agent.service.d/proxy.conf [Service] Environment="http_proxy=http://10.0.10.83:3128" Environment="https_proxy=http://10.0.10.83:3128" Environment="no_proxy=localhost,127.0.0.1"
※http://xxx.xxx.xxx.xxx: 3128 はプロキシサーバのLIP
おまじない後にMackerelを再起動するとプロキシ経由で通信を行います。 -
C1WSのセットアップ公式記事のとおりプロキシの登録が必要です。
そのままプロキシを指定したインストールスクリプトを生成し
サーバにて実行するとセットアップが完了します。
結果
■Mackerel
■C1WS
感想
刺さる人少なそうなアウトプットですみません!
以上、プロ騎士によるプロキシのブログでした!
体はグミでできている。
LINK
クラウドベリージャム:プロフィールページ