G2.5 SIMを冗長化する #
対象機種: AG10(ほかの機種はインターフェイス名が異なります。『G1.4 インターフェイスとポートの対応』を参照してください)
2 枚の SIM を使い、主に使う SIM で接続できないときに、もう 1 枚の SIM へ自動で切り替えます。
要件
- 通常は SIM スロット 0 の SIM(セッション A)で接続する。
- セッション A で接続に 3 回続けて失敗した場合は、SIM スロット 1 の SIM(セッション B)に切り替える。
- セッション B で接続している場合は、1 時間(3600 秒)後に切断し、セッション A に戻す。
- (任意)定期的に ping で通信を確認し、通信できない場合はモバイル回線を切断して接続し直す。
この設定例では、SIM の情報を次の値とします。お使いの SIM の契約情報に置き換えてください。
| 項目 | セッション A(優先) | セッション B(予備) |
|---|---|---|
| SIM スロット | 0 | 1 |
| 優先度(priority) | 0 | 1 |
| APN | amnimo.net | amnimo.net |
| ユーザー名 | user | user |
| パスワード | pass | pass |
| 回線接続リトライ回数(retry) | 3 | 3 |
| 最大接続時間(connection-timeout) | 設定しない | 3600 秒 |
構成
インターネット
| |
SIM 0(A) SIM 1(B)
優先度 0 優先度 1
| |
ecm0(mobile peer lte)
+-------------------+
| 本製品(AG10) |
+-------------------+
モバイル回線(mobile peer)の中に、SIM ごとのセッション(session)を作成します。モバイル回線は、優先度(priority)の値が小さいセッションから接続します。次の表の切断イベントが起きると、セッションが切り替わります。
| 切断イベント | 関連する設定 | 切断後に接続するセッション |
|---|---|---|
| 回線接続リトライオーバー | attach-timeout、call-timeout、retry | 次に優先度の高いセッション |
| 無通信検知時間満了 | idle-timeout | 次に優先度の高いセッション |
| 最大接続時間満了 | connection-timeout | 次に優先度の高いセッション |
| 切断検出機能による回線切断検出 | disconnect-detection | 次に優先度の高いセッション |
| 基地局からの回線断 | reconnect-timeout | 次に優先度の高いセッション |
| キープアライブによるモバイル回線切断 | schedule keep-alive の action disconnect ecm | 優先度の一番高いセッション |
切断イベントとセッションの切り替えについて詳しくは、『5.8.1 各モバイル設定項目の補足』を参照してください。
補足: セッション B に切り替わった後は、セッション A の回線が復旧しても自動では戻りません。セッション B に接続している間は、セッション A の回線の復旧を検知できないためです。この設定例では、セッション B に最大接続時間(connection-timeout)を設定し、一定時間後にセッション A に戻します。
手順
設定モードに移行し、モバイル回線 lte の詳細設定モードに移行します。
amnimo# configure amnimo(cfg)# mobile peer lte amnimo(cfg-mp-lte)#優先するセッション A を設定します。
retry 3で、接続に 3 回続けて失敗したときに次のセッションに切り替えます(初期値は no retry)。パスワードは、passwordを実行して 2 回入力します。amnimo(cfg-mp-lte)# session A amnimo(cfg-mps-A)# priority 0 amnimo(cfg-mps-A)# sim 0 amnimo(cfg-mps-A)# apn amnimo.net amnimo(cfg-mps-A)# username user amnimo(cfg-mps-A)# password Enter new password: Retype new password: amnimo(cfg-mps-A)# retry 3 amnimo(cfg-mps-A)# enable amnimo(cfg-mps-A)# exit amnimo(cfg-mp-lte)#予備のセッション B を設定します。
connection-timeout 3600で、接続から 3600 秒後に切断し、セッション A に戻します。amnimo(cfg-mp-lte)# session B amnimo(cfg-mps-B)# priority 1 amnimo(cfg-mps-B)# sim 1 amnimo(cfg-mps-B)# apn amnimo.net amnimo(cfg-mps-B)# username user amnimo(cfg-mps-B)# password Enter new password: Retype new password: amnimo(cfg-mps-B)# retry 3 amnimo(cfg-mps-B)# connection-timeout 3600 amnimo(cfg-mps-B)# enable amnimo(cfg-mps-B)# exit amnimo(cfg-mp-lte)# exit amnimo(cfg)#- 接続方法(connect)は、初期値の always(常時接続)のままにします。manual(手動接続)にすると、セッションは切り替わりません。
インターフェイス ecm0 にモバイル回線 lte を割り当てます。G2.1 で設定済みの場合は不要です。
amnimo(cfg)# interface ecm0 amnimo(cfg-interface-ecm0)# mobile lte amnimo(cfg-interface-ecm0)# dhcp4 amnimo(cfg-interface-ecm0)# enable amnimo(cfg-interface-ecm0)# exit amnimo(cfg)#(任意)キープアライブを設定します。電波は届いていて回線は接続しているのに通信できない、といった状態を検知するために、定期的に ping で通信を確認し、失敗した場合はモバイル回線を切断します。切断後は、優先度の一番高いセッション(A)から接続し直します。
amnimo(cfg)# schedule keep-alive mobile amnimo(cfg-sch-ka-mobile)# datetime */10 * * * * amnimo(cfg-sch-ka-mobile)# action disconnect ecm ecm0 reset enable amnimo(cfg-sch-ka-mobile)# ping dest 203.0.113.1 amnimo(cfg-sch-ka-mobile)# enable amnimo(cfg-sch-ka-mobile)# exit amnimo(cfg)#datetime */10 * * * *は、10 分ごとに実行する指定です。action disconnect ecm ecm0 reset enableは、ping が失敗したときに、モバイル回線を切断し、モバイルモジュールをリセットする指定です。ping destには、確実に応答を返す、自社で用意した宛先を指定してください。公共の IP アドレスを ping の宛先にすると、相手先のネットワーク障害につながるおそれがあるため、使用しないでください。203.0.113.1 は例です。
補足: キープアライブの action には、フェイルセーフ機能が関係します。詳しくは『7.7.3 スケジュールを設定する』と『12.3 フェイルセーフ』を参照してください。設定を保存します。
amnimo(cfg)# config file save
各コマンドの詳細は、次の節を参照してください。
- 5.8 モバイル回線を設定する(mobile peer、session、priority、sim、retry、connection-timeout)
- 5.8.2 実行例(複数セッションの設定例。RSSI に応じて切り替える例、1 枚の SIM で複数の通信事業者の回線を切り替える例もあります)
- 6.2.3 インターフェイスを設定して設定情報を保存する(interface、mobile、dhcp4)
- 7.7.3 スケジュールを設定する(schedule keep-alive、datetime、action、ping dest)
- 3.4 アムニモ設定情報に書き込む(config file save)
完成した設定
管理者モード(amnimo#)で貼り付けます。パスワードは対話形式で入力するため、この設定には含めていません。貼り付けた後に、次の「パスワードの設定」を実行してください。キープアライブ(schedule keep-alive)が不要な場合は、schedule keep-alive mobile から次の exit までを削除してください。
configure
mobile peer lte
session A
priority 0
sim 0
apn amnimo.net
username user
retry 3
enable
exit
session B
priority 1
sim 1
apn amnimo.net
username user
retry 3
connection-timeout 3600
enable
exit
exit
interface ecm0
mobile lte
dhcp4
enable
exit
schedule keep-alive mobile
datetime */10 * * * *
action disconnect ecm ecm0 reset enable
ping dest 203.0.113.1
enable
exit
config file save
パスワードの設定(設定モードで 1 行ずつ入力し、password ごとにパスワードを 2 回入力します):
mobile peer lte
session A
password
exit
session B
password
exit
exit
config file save
補足: G2.1 の設定に続けて設定する場合、G2.1 で作成したセッション sim0 も、モバイル回線 lte のセッションとして残ります。セッションを A と B の 2 つだけにする場合は、モバイル回線 lte の詳細設定モードで
no session sim0を実行して削除してください。
確認方法
モバイル回線の設定を表示します(5.7 モバイル回線の設定を表示する)。
amnimo# show config mobile peer lte- 見どころ:
session Aにpriority 0、sim 0、retry 3があり、session Bにpriority 1、sim 1、retry 3、connection-timeout 3600があること。どちらもenableであること。
- 見どころ:
現在接続しているセッションを確認します(5.3 モバイル回線の通信ステータスを表示する)。
amnimo# show mobile ecm0- 見どころ: 通常時は
session A、sim 0、state connectedであること。切り替わった後はsession B、sim 1と表示されます。
- 見どころ: 通常時は
セッションが切り替わった経緯を確認します(5.4 モバイル回線の接続履歴を表示する)。
amnimo# show mobile history ecm0キープアライブを設定した場合は、スケジュールの動作状況を確認します(7.7.1 スケジュールの動作状況を表示する)。
amnimo# show schedule- 見どころ: タスク mobile の
CMD/STATUSが、ping が成功している場合はping(OK)、ping を送信中の場合はping(running)と表示されること。ping が失敗した場合は、実行したアクション名が表示されます。まだ実行されていない場合はwaitingと表示されます。
- 見どころ: タスク mobile の
よくある失敗
| 症状 | 確認すること |
|---|---|
| セッション A で接続できないのに、セッション B に切り替わらない | セッション A に retry を設定したか(初期値は no retry)。接続方法(connect)を manual にしていないか。セッション B が enable になっているか。 |
| セッション B に切り替わったまま戻らない | セッション B に connection-timeout を設定したか。設定しない場合、セッション A の回線が復旧しても自動では戻りません。 |
| 圏外になってもセッションが切り替わらない | no disconnect-detection を設定していないか。切断検出機能を無効にすると、圏外でも回線を切断しないため、切り替わりません。 |
| 意図しない SIM で接続する | 不要なセッション(G2.1 の sim0 など)が残っていないか。各セッションの priority と sim の組み合わせ。 |
詳しい切り分けは『G3.2 モバイル回線につながらない』を参照してください。
