Armadilloフォーラム

SORACOM Napter(HTTPS)を利用して、コンテナ内とTCP通信する方法

m_r

2024年1月5日 14時49分

お世話になっております。

SORACOM Napterの機能を使用して、Webページを表示し、ページ内のボタンを押下時にGWのコンテナ内とTCP通信を行うような処理にしたいと考えております。
現状、SORACOM Napterの機能を使用して、Webページの表示はできていますが、コンテナ内と通信を行うことができていません。

fetch APIを使用して、コンテナ内のIPと接続待ちをしているポート番号を指定しましたが、タイムアウトとなってしまいます。
コンテナ内に立てたサーバのログを参照したところ、接続した形跡はありませんでした。

他に何か方法はありますでしょうか?

Webアプリケーションの経験がなく、初歩的な質問になっているかと思いますがご教授いただけますと幸いです。
よろしくお願い致します。

コメント

at_mitsuhiro.yoshida

2024年1月9日 16時30分

吉田です。

製品マニュアル 「ポート転送」にある設定をコンテナ起動設定ファイルに追加するといかがでしょうか。
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

Napter 概要図の 「3. デバイス側のポートに変換し、デバイスにアクセス」のポートを指定するイメージとなります。
https://users.soracom.io/ja-jp/docs/napter/how-it-works/

お世話になっております。
ご返信ありがとうございます。

提示していただいた「ポート転送」の設定をコンテナ起動設定ファイルに追加しましたが、コンテナ内に接続することができませんでした。(ERR_CONNECTION_TIMED_OUT)
現在、SORACOM Napterを使用して表示しているソースはArmadillo BaseOSに配置してあります。
コンテナの3000番のポートを解放し、Webページのボタン押下時にfetchAPIで接続を試みています。
何か他にWebページ-コンテナ間で接続する方法はありますでしょうか?

よろしくお願いします。

at_mitsuhiro.yoshida

2024年1月10日 16時53分

吉田です。

Napter 経由で Armadillo Base OS 側の Web ページに接続後、
Web ページ内のボタンを押下し、
(1) Napter 経由で Web ページを表示している端末からコンテナの指定ポートに接続しようとしているのでしょうか?
(2) Armadillo Base OS からコンテナに指定ポートで接続しようとしているのでしょうか?

構成を把握できておりませんので断言はできないのですが、
(1) だとすると、以下の 2 系統の Napter が必要になるかと思われます。
[1] Armadillo Base OS 側にある Web ページとの接続
[2] コンテナの指定ポートとの接続

ご返信ありがとうございます。

Napter 経由で Armadillo Base OS 側の Web ページに接続後、
(2) Armadillo Base OS からコンテナに指定ポートで接続
を想定しておりました。

添付させていただいた画像が今回行いたい処理の概要になります。
script.jsからhoge.jsへデータを送信する箇所がうまくいっていない状況です。
よろしくお願いします。

ファイル ファイルの説明
SORACOM_Napter.png

at_mitsuhiro.yoshida

2024年1月11日 17時08分

吉田です。

現状のコンテナ設定ファイルを把握していないので
勘違いがあるかもしれませんが、コンテナ設定ファイルに

set_ip [コンテナに設定したい IP アドレス]

を追加して、コンテナ内でポート指定した TCP/IP サーバーで
待ち受けると接続出来ないでしょうか?