Mackerel

(小ネタ)SquidでMackerelやC1WSを利用

前置き

ども、安田です。
プライベートインスタンスでインターネットへの接続ができない環境で
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

感想

刺さる人少なそうなアウトプットですみません!
以上、プロ騎士によるプロキシのブログでした!

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA