SORACOM Napterとは
2019/7/2に発表されたSORACOMの新サービスで、SORACOM Air SIMの挿さっているデバイスに、簡単にリモートからセキュアなアクセスできるようになります。
WEBコンソールからsshする手順は公式ドキュメントにありますので、同じことをcliからやってみます。
cliのセットアップ
soracom cliのセットアップはここでは省略しますが、バージョン0.4.5以上にしてください。
%soracom version
SORACOM API client v0.4.5
jsonを準備
以下の内容をnapter.jsonに保存します。
{
"destination": {
"imsi": "アクセス先のIMSI",
"port": 22
},
"duration": 1800,
"tlsRequired": false
}
アクセス元を指定していない場合、cliを実行したマシンのグローバルIPアドレスが自動的に設定されます。
アクセス元を明記する場合はこんな感じで。
{
"destination": {
"imsi": "アクセス先のIMSI",
"port": 22
},
"duration": 1800,
"source": {
"ipRanges":[
"x.x.x.x/x"
]
},
"tlsRequired": false
}
接続してみる
では、さっそくやってみましょう。
%soracom port-mappings create --body @napter.json
{
"createdTime": **********,
"destination": {
"imsi": "**************",
"port": 22
},
"duration": 1800,
"endpoint": "**********:*****",
"expired": false,
"expiredTime": *******,
"hostname": "******.napter.soracom.io",
"imsi": "***************",
"ipAddress": "*****",
"operatorId": "*****",
"port": ****,
"source": {
"ipRanges": [
"******"
]
},
"tlsRequired": false
}
できました!
あとはこの情報に従って、
%ssh -p portの値 ユーザ名@ipAddressの値
でアクセスできます。
後片付け
終わったら削除しましょう。
%soracm port-mappings delete --port portの値 --ip-address ipAddressの値
で削除されます。
まとめ
Napterはお手軽かつセキュアにオンデマンドなリモートアクセスを提供してくれる素晴らしいサービスです。
cliで操作すると、シェルスクリプトなどにも組み込めて便利ですね。