0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🚀【踏み台 EC2 経由】OpenSearch Serverless Dashboards にブラウザからアクセスする方法

Posted at

どうも!株式会社ShowcaseGigでSREとして働いている @atsusics です

:point_up:最初に

VPC 内 / プライベート環境で Dashboards を表示したい方向けにOpenSearch Serverless Dashboards にブラウザからアクセスする方法を記載します

AWS OpenSearch Serverless はパブリックで構築した場合に Dashboards をインターネット経由で提供します。
しかし、プライベートで構築した場合は、直接 Dashboards を開けません

そこで、認証(SigV4)が必要な OpenSearch Serverless に対して
踏み台 EC2 + aws-sigv4-proxy + SSH トンネル を組み合わせることで、
ローカル PC のブラウザから安全に Dashboards を閲覧できます。

本記事では、その具体的な手順をまとめます。


🏗️ 事前準備(簡易)

詳細は省略しますが、以下の準備は済んでいる前提で進めます。

✔ OpenSearch Serverless(AOSS)コレクションを作成

  • Collection 名:my-collection

  • ネットワークアクセス:private

  • Endpoint(例)

    https://xxxxxxxxxxxx.ap-northeast-1.aoss.amazonaws.com
    

✔ AOSS の Dashboards を有効化

  • Dashboards Endpoint(例)

    https://dashboards.ap-northeast-1.aoss.amazonaws.com/_login/?collectionId=xxxxxxxxxxxx
    

✔ VPC エンドポイント(AOSS Data) を作成

  • AOSS Data 用の Interface エンドポイント
  • サブネットは EC2 からアクセス可能に
  • Security Group は EC2 → VPCE の 443 を許可

✔ 踏み台 EC2 の作成(Amazon Linux 系推奨)

  • パブリックサブネットに配置(SSMでポートフォワーディングもできると思うけど今回はこれで)
  • セキュリティグループで ローカルPC の IP → 22(SSH) を許可

これで準備完了です。


🎯 本題:踏み台 EC2 経由で Dashboards を開く方法


1. EC2 に必要パッケージをインストール

sudo yum update -y
sudo yum install -y git wget tar golang

2. aws-sigv4-proxy をインストール(ソースからビルド)

最新はここ
https://github.com/awslabs/aws-sigv4-proxy/releases

cd /tmp
wget https://github.com/awslabs/aws-sigv4-proxy/archive/refs/tags/v1.10.tar.gz
tar -xzf v1.10.tar.gz
cd aws-sigv4-proxy-1.10/cmd/aws-sigv4-proxy

ビルド:

go build -o aws-sigv4-proxy .

配置:

sudo mv aws-sigv4-proxy /usr/local/bin/aws-sigv4-proxy
sudo chmod +x /usr/local/bin/aws-sigv4-proxy

動作確認:

aws-sigv4-proxy --help

3. aws-sigv4-proxy を AOSS に向けて起動

以下では、AOSS の Data API エンドポイントを利用します。
(※値はマスキングしてあります)

AOSS_ENDPOINT=https://xxxxxxxxxxxx.ap-northeast-1.aoss.amazonaws.com

起動コマンド:

/usr/local/bin/aws-sigv4-proxy \
  --host=xxxxxxxxxxxx.ap-northeast-1.aoss.amazonaws.com \
  --sign-host=xxxxxxxxxxxx.ap-northeast-1.aoss.amazonaws.com \
  --region=ap-northeast-1 \
  --name=aoss \
  --unsigned-payload \
  --port=:9200

EC2 上でポート 9200 が待ち受け開始します。


4. ローカル PC から EC2 へ SSH トンネルを張る

ローカル PC で以下を実行:

ssh -i "my-ec2-key.pem" \
  -L 9200:127.0.0.1:9200 \
  ec2-user@ec2-xx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com

これで以下のように接続経路が作られます:

ローカルPC → (SSHトンネル) → EC2:9200 → aws-sigv4-proxy → AOSS


5. ブラウザから Dashboards を開く

ローカルPCのブラウザで:

http://localhost:9200/_dashboards/app/home

これで OpenSearch Serverless Dashboards を GUI で利用できます!


🧪 動作確認(任意)

curl -I http://localhost:9200/_dashboards/api/status

成功例:

HTTP/1.1 200 OK

🎉 まとめ

上記手順を踏むことで、認証(SigV4)が必要な OpenSearch Serverless に対して
踏み台 EC2 + aws-sigv4-proxy + SSH トンネル を組み合わせることで、
ローカル PC のブラウザから安全に Dashboards を閲覧できました

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?