トラフィックフィルタリングの利用には別途お申し込みが必要です
トラフィックフィルタリングを利用するには、別途お申し込みが必要です。詳しくは、SORACOM サポート にお問い合わせください。
トラフィックフィルタリングを設定する手順を説明します。トラフィックフィルタリングでできることや、設定前に決めることについては、トラフィックフィルタリングの概要 を参照してください。
操作を始める前に準備が必要です (クリックして確認してください)
対応する VPG を作成する
VPG Type-F、Type-F2、または Type-G を作成してください。詳しくは、VPG を作成する を参照してください。
IoT SIM やバーチャル SIM/Subscriber が利用する VPG を切り替える
IoT SIM やバーチャル SIM/Subscriber が、作成した VPG を利用するように設定してください。詳しくは、IoT SIM が利用する Virtual Private Gateway (VPG) を切り替える を参照してください。
ステップ 1: トラフィックフィルタリングを有効化する
トラフィックフィルタリングを設定する VPG の VPG 設定画面で、 タブをクリックします。
VPG 設定画面を表示する操作について詳しくは、VPG の設定を変更する を参照してください。
タブには と の 2 つのセクションがあります。本ページで説明するトラフィックフィルタリングは セクションで設定します。アウトバウンドルーティングフィルターについては、アウトバウンドルーティングフィルターを設定する を参照してください。

セクションのスイッチをオンにします。
確認画面が表示されます。

トラフィックフィルタリングを有効化または無効化すると、設定を反映するために VPG を経由するすべての通信が一時的に不通になります。
表示内容を確認して、 をクリックします。
セクションが表示されます。

と の設定方法については、以下の項目を参照してください。
初回有効化時にデフォルトの IP ルールが自動登録されます
がまだ一度も登録されていない VPG で初めてトラフィックフィルタリングを有効化すると、すべての宛先への通信を許可する IP ルールが自動的に登録されます。ユーザーコンソールには、 が
0.0.0.0/0、 がALL (255)、 が「任意」、 が「許可」のルールとして表示されます。すべての通信を拒否する設定 (最小権限の原則) で運用する場合は、このルールを編集または削除してから利用してください。
SORACOM API の場合
SORACOM API を利用しても、トラフィックフィルタリングを有効化できます。
- SORACOM API を利用するには、API キーと API トークンが必要です。詳しくは、API キーと API トークンの取り扱いについて を参照してください。
{vpg_id}は、VirtualPrivateGateway:listVirtualPrivateGateways APIで取得できます。
$ curl -v -X POST https://api.soracom.io/v1/virtual_private_gateways/{vpg_id}/traffic_filtering/enable \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN"
HTTP 403 Forbidden が返された場合は、お申し込みが完了していません。詳しくは、SORACOM サポート にお問い合わせください。
ステップ 2: フィルタリングルールを設定する
ステップ 1 でトラフィックフィルタリングを有効化したあと、 セクションの 一覧で IP ルールを、 一覧でドメインルールを設定します。IP ルールとドメインルールは、どちらか一方を選ぶものではありません。必要に応じて併用できます。それぞれ別のルールセットとして管理され、個別に保存します。
ルールの並び順は評価に影響しません
IP ルールとドメインルールでは、一覧や CSV の並び順ではなく、最も詳細に一致するルール (ロンゲストマッチ) が適用されます。評価結果を変えるためにルールを並べ替える必要はありません。詳しくは、IP ルールの仕様 または ドメインルールの仕様 を参照してください。
設定変更を反映するにはセッションの再確立が必要です
トラフィックフィルタリングの設定変更は、新しく作成されるセッションにのみ適用されます。すでにアクティブなセッションには影響しません。
設定を反映するには、IoT SIM やバーチャル SIM/Subscriber のセッションを再確立する必要があります。詳しくは、IoT SIM のセッションを再確立する または バーチャル SIM/Subscriber のセッションを再確立する を参照してください。
セッションを再確立すると、TCP の接続情報が再初期化されます。IoT SIM やバーチャル SIM/Subscriber を利用するデバイスやアプリケーションでは、自動再接続機能を実装するなど、セッション再確立に対応した設計を推奨します。
IP ルールを追加・編集する
IP ルールでは、宛先 IPv4 CIDR、プロトコル、ポート、アクションを指定します。
IP ルールを個別に追加・編集する
以下では、IP ルールを追加する操作を例に説明します。既存の IP ルールを編集する場合も、設定する項目は同じです。
セクションの 一覧で、 をクリックします。
IP ルール編集用の画面が表示されます。

以下の項目を設定します。
項目 説明 IPv4 CIDR で指定します (例: 8.8.8.8/32、192.168.0.0/16)。IPv6 は利用できません。「TCP (6)」、「UDP (17)」、「ICMP (1)」、「ALL (255)」、「カスタム」のいずれかを指定します。「カスタム」を選択すると、IANA プロトコル番号 (1〜255) を直接入力できます。 選択した に応じて、 の指定方法が変わります。
「TCP (6)」/「UDP (17)」の場合:
項目 説明 すべてのポートにマッチします。ポート番号は入力しません。 ポート番号を 1 つ入力します。 開始ポートと終了ポートを入力します。 「ICMP (1)」の場合:
ポート番号ではなく、ICMP type / code を指定します。
項目 説明 すべての ICMP にマッチします。ICMP type / code は入力しません。 ICMP type と ICMP code を入力します。 「ALL (255)」の場合:
は指定しません。
「カスタム」の場合:
は指定しません。
「許可」または「拒否」を選択します。 をクリックします。
IP ルールが一覧に追加されます。この時点ではまだ保存されておらず、編集中の状態です。

- と は、未保存の変更がある場合 (「未保存の変更があります。」と表示されている場合) のみ表示されます。
- をクリックすると、保存していない変更内容を元に戻せます。
- 保存していない変更がある状態で別のページに遷移しようとすると、確認の画面が表示されます。
- と は個別に保存します。
必要な IP ルールをすべて入力したあと、 の をクリックします。
IP ルールが保存されます。
VPG を利用する IoT SIM やバーチャル SIM/Subscriber のセッションを再確立します。
詳しくは、IoT SIM のセッションを再確立する または バーチャル SIM/Subscriber のセッションを再確立する を参照してください。
CSV で IP ルールを一括編集する
ルール数が多い場合や、既存の IP ルールセットを別の VPG に複製する場合は、CSV 形式で一括編集できます。
セクションの 一覧で、 をクリックします。
「IP ルールの編集」画面が表示されます。すでに登録されている IP ルールが CSV 形式で表示されているので、編集の出発点として利用できます。先頭のコメント行に CSV の書式が記載されています。

CSV を編集します。
IP ルールの CSV 形式は以下のとおりです (1 行 = 1 ルール)。
# cidr, protocol, fromPort, toPort, action 0.0.0.0/0, ALL, any, any, allow 10.0.0.0/8, TCP, 22, 22, deny 8.8.8.8/32, UDP, 53, 53, allow

#で始まる行はコメントとして無視されます。- カンマ前後の空白は無視されます。
- ルールにエラーがある場合は、エラーが表示され、 はクリックできません。エラーをすべて修正してから をクリックしてください。
をクリックします。
セクションの 一覧が CSV の内容で更新されます。この時点では、IP ルールはまだ保存されていません。
の をクリックします。
IP ルールが保存されます。
VPG を利用する IoT SIM やバーチャル SIM/Subscriber のセッションを再確立します。
詳しくは、IoT SIM のセッションを再確立する または バーチャル SIM/Subscriber のセッションを再確立する を参照してください。
ドメインルールを追加・編集する
ドメインルールでは、FQDN パターン、プロトコル、ポートを指定します。ドメインルールは通信を許可するルールです。拒否は設定できません。
ドメインルールを個別に追加・編集する
以下では、ドメインルールを追加する操作を例に説明します。既存のドメインルールを編集する場合も、設定する項目は同じです。
セクションの 一覧で、 をクリックします。
ドメインルール編集用の画面が表示されます。

以下の項目を設定します。
項目 説明 ドメイン名 (例:
api.example.com) または、左端のラベルをワイルドカードに置き換えたパターン (例:*.soracom.io) を指定します。最大 255 文字までです (国際化ドメイン (IDN) の場合は Punycode 変換後の文字数で判定されます)。ワイルドカードの指定方法:
FQDN パターンでは、左端のラベル全体を
*に置き換えることで、サブドメインをまとめて指定できます。指定例 説明 *.example.com✓ 有効。 foo.example.com、bar.example.comなど、example.comの 1 階層下のサブドメイン にマッチします。example.com自体や、sub.foo.example.comのような 2 階層以上下のサブドメインにはマッチしません。api.example.com✓ 有効。 api.example.comのみにマッチします。*.*.example.com- 無効。ワイルドカードは 1 つのみ指定できます。 foo*.example.com- 無効。ワイルドカードは左端のラベル全体を置き換える必要があります。 *foo.example.com- 無効。ワイルドカードを部分的に組み合わせることはできません。 example.*.com- 無効。ワイルドカードは左端のラベルでのみ指定できます。 「TCP (6)」、「UDP (17)」、「ICMP (1)」、「ALL (255)」、「カスタム」のいずれかを指定します。「カスタム」を選択すると、IANA プロトコル番号 (1〜255) を直接入力できます。 IP ルールの と同じです。詳しくは、IP ルールを個別に追加・編集する の を参照してください。 をクリックします。
ドメインルールが一覧に追加されます。この時点ではまだ保存されておらず、編集中の状態です。
- と は、未保存の変更がある場合 (「未保存の変更があります。」と表示されている場合) のみ表示されます。
- をクリックすると、保存していない変更内容を元に戻せます。
- 保存していない変更がある状態で別のページに遷移しようとすると、確認の画面が表示されます。
- と は個別に保存します。
必要なドメインルールをすべて入力したあと、 の をクリックします。
ドメインルールが保存されます。
VPG を利用する IoT SIM やバーチャル SIM/Subscriber のセッションを再確立します。
詳しくは、IoT SIM のセッションを再確立する または バーチャル SIM/Subscriber のセッションを再確立する を参照してください。
CSV でドメインルールを一括編集する
ルール数が多い場合や、既存のドメインルールセットを別の VPG に複製する場合は、CSV 形式で一括編集できます。
セクションの 一覧で、 をクリックします。
「ドメインルールの編集」画面が表示されます。すでに登録されているドメインルールが CSV 形式で表示されているので、編集の出発点として利用できます。先頭のコメント行に CSV の書式が記載されています。

CSV を編集します。
ドメインルールの CSV 形式は以下のとおりです (1 行 = 1 ルール)。ドメインルールは通信を許可するルールのため、CSV ではアクションを指定しません。
# fqdnPattern, protocol, fromPort, toPort *.soracom.io, TCP, 443, 443 api.example.com, TCP, 443, 443

#で始まる行はコメントとして無視されます。- カンマ前後の空白は無視されます。
- ルールにエラーがある場合は、エラーが表示され、 はクリックできません。エラーをすべて修正してから をクリックしてください。
をクリックします。
セクションの 一覧が CSV の内容で更新されます。この時点では、ドメインルールはまだ保存されていません。
の をクリックします。
ドメインルールが保存されます。
VPG を利用する IoT SIM やバーチャル SIM/Subscriber のセッションを再確立します。
詳しくは、IoT SIM のセッションを再確立する または バーチャル SIM/Subscriber のセッションを再確立する を参照してください。
SORACOM API の場合
SORACOM API を利用しても、フィルタリングルールを追加 / 編集できます。
- SORACOM API を利用するには、API キーと API トークンが必要です。詳しくは、API キーと API トークンの取り扱いについて を参照してください。
{vpg_id}は、VirtualPrivateGateway:listVirtualPrivateGateways APIで取得できます。
API では一度の PUT リクエストでルールセット全体を 置き換え ます。既存のルールを残す場合は、現在のルールセットに新規ルールを追加した完全な配列を指定してください。
1 件でも無効なルールが含まれていると、SORACOM API は HTTP 400 Bad Request を返し、リクエスト内のルールはすべて登録されません。レスポンスボディには、ruleIndex (配列内の何番目か) と ruleType (uplink または fqdn) が additionalInfo として返されます。
IP ルールを設定する
$ curl -v -X PUT https://api.soracom.io/v1/virtual_private_gateways/{vpg_id}/traffic_filtering/uplink_rules \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"rules": [
{
"type": "ip",
"cidr": "8.8.8.8/32",
"protocol": 17,
"fromPort": 53,
"toPort": 53,
"action": "allow"
}
]
}'
ドメインルールを設定する
$ curl -v -X PUT https://api.soracom.io/v1/virtual_private_gateways/{vpg_id}/traffic_filtering/fqdn_rules \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"rules": [
{
"type": "fqdn",
"fqdnPattern": "*.soracom.io",
"protocol": 6,
"fromPort": 443,
"toPort": 443,
"action": "allow"
}
]
}'
IP ルールをすべて削除する
空の配列で更新します。ドメインルールを削除する場合は、URL の uplink_rules を fqdn_rules に変更してください。
$ curl -v -X PUT https://api.soracom.io/v1/virtual_private_gateways/{vpg_id}/traffic_filtering/uplink_rules \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "rules": [] }'
PUT リクエストは登録された後のルールセットを { "rules": [...] } 形式のレスポンスボディとして返します。リクエストで fromPort と toPort を省略した場合、ポートの概念がないプロトコル (ALL など) ではサーバー側で 0 および 65535 に正規化されてレスポンスに含まれます。レスポンスをそのまま再度 PUT すれば、設定内容を別の VPG に複製できます。
トラフィックフィルタリングを無効化する
VPG 設定画面の タブで、 セクションのスイッチをオフにします。
「通信が一時停止します」という確認画面 (有効化時と同じ) が表示されます。

表示内容を確認して、 をクリックします。
無効化しても、登録済みのルールは保持されます
トラフィックフィルタリングを無効化しても、登録済みのフィルタリングルール (IP ルール / ドメインルール) は削除されません。再度トラフィックフィルタリングを有効化したときには、無効化前のフィルタリングルールがそのまま適用されます。フィルタリングルールを削除する場合は、トラフィックフィルタリングを有効化したあとで、別途、 / で個別に削除してください。
SORACOM API の場合
SORACOM API を利用しても、トラフィックフィルタリングを無効化できます。
- SORACOM API を利用するには、API キーと API トークンが必要です。詳しくは、API キーと API トークンの取り扱いについて を参照してください。
{vpg_id}は、VirtualPrivateGateway:listVirtualPrivateGateways APIで取得できます。
$ curl -v -X POST https://api.soracom.io/v1/virtual_private_gateways/{vpg_id}/traffic_filtering/disable \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN"
