地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

Colaboratory でブラウザが高負荷に・・・

 ColaboratoryはPythonのお勉強にぴったり。そこでWikipediaのデータを持ってきて見よう見まねで整形処理に挑戦。

 だが、しかし。

 処理項目毎にメッセージを出すようにしたら、すごい勢いでログが出る。すると、非力な我がX230はCPU使用率が100%に張り付きブラウザは画面の更新もままならず、たたタブを閉じるのみ。

 90分経ってセッション停止するまで待つしか・・・。

 こんな落とし穴があるとは。

 というか、いきなり大量処理は止めましょう。

 

 検索しても、回避方法はないし、リダイレクトしてファイルに残すのも、なんとなく、本来の使い方と違う感じもしなくもない。

 

 失敗例でした。

 

ひさびさのタブレット物色

  持ち歩きが主なので、このサイズはいい。MediaPad M3。どうしても今後のGoogleさんの出方が気になるが、それでも販売済みの端末はサポートするらしいので、ポチリ直前。

 タブレットって需要ありそうなんだが、なかなかいいものが出てこない。

 いっそ、Chorme book待ちか!?

 

  しかし、1GBしかRAMないけれども、Fire7の価格は破壊的だ。

Fire 7 タブレット (7インチディスプレイ) 16GB - Alexa搭載 (Newモデル)

Fire 7 タブレット (7インチディスプレイ) 16GB - Alexa搭載 (Newモデル)

 

 

JupyterLab (Anaconda Windows10)で環境構築

 Colaboratoryでお勉強には、かなり満足。制限あったり得られた結果を保存したりするにGoogle Driveマウントしたり、消える前にダウンロードしたり、と不便。

 でも、やっぱりローカルにも環境が欲しくなる。

  念のため、昔に試したpythonはuninstallしてからAnadondaをインストール。次のサイトを参考にした。 

qiita.com

 JupyterNotebookの後継というJupyterLabを使ってみる。一度試したらNotebookよりサクサクしていていい感じだったからだ。

 起動させたら作業フォルダがCドライブに固定されていている。ちょっと不便。メニューから見れる設定ファイルにはない。configファイルをいじるといいらしい。 

izmmr.blog.jp

 無事に成功。

 ポチポチ勉強します。

 

 

結束バンド

 コードを纏めたり、ちょっとした工作にも使える結束バンド。ただし長いからってコードぐるぐる巻きにしてまとめちゃうと加熱して危険な場合があるから注意が必要。

 スマホの充電コードとか、パソコンの裏側とか、使いどころは沢山。電源タップの固定にも使っている。

 あまり過信はできないけど、便利に使えている。

 

コード纏めたりするのに便利なマジックタイプ

パンドウイット マジック結束バンド タックタイ スリットタイプ 黒 UL認定品 HLTP3I-X0

パンドウイット マジック結束バンド タックタイ スリットタイプ 黒 UL認定品 HLTP3I-X0

 

  

 

 がっちり止められるロック式。

 

今だからこそのUSBメモリ

 大体のパソコンやスマホはネットにつながっている。繋がってないのは不便。そうすると、やっぱりセキュリティが気になってくる。だいたい、たまにしか使わないものに限って大事なものも多い。

 そこで1つ。

 さらに、バックアップ。CDやDVDドライブがない機器も増えちゃいました。Windows10だと回復ドライブとしてUSBメモリで作れます。

 さらに2つくらい。

 すでに3つになった。

 ごくたまにネットが落ちた時にデータを移し替えたりするのに1つ。

 と、結構持っているUSBメモリ

  USB3.1だと速度が遅くもない。

 クラウドサービスももちろん活用大事だけれども、必要になっちゃうUSBメモリでした。

 

 ラズパイにはSDカードとUSBメモリどちらが耐久性あるんだろうか・・・。

 

 

SanDisk USBメモリ 32GB USB 3.0 Ultra フラッシュドライブ [国内正規品] (5年保証) SDCZ48-032G-J57
 

 

 

 かつてはお世話になりました。

 

ja.osdn.net

VPS(CentOS7)へのVPNの設置

 ラズパイへのVPN(SoftEther)が可動したので、借りているVPSへもインストールする。国内設置のサーバーなので国内の固定グローバルIPが貰えるし、ネットワーク的にもお家内に設置したラズパイサーバより速度も期待できる。安いプランなので、使えるネットワーク量も1TBと限られているが、モバイル用途であれば十分だろう。

 

 さっそく先人の知恵を借りようとしたが、準備始めるとyumコマンドがうまく動かない。DBが壊れてたらしい。それは別の機会に。とりあえず、SSH環境は出来ていて稼働できている状況から始めます。

  

 基本的には以下のサイトが丁寧でわかりやすい。

inaba-serverdesign.jp

  が、他のサイトを見てローカルブリッジをトライしてハマりました。なぜかCPU使用率が100%に張り付くのだ。現象としては、仮想NATを有効にしてVPN接続するとCPU負荷が上がり、接続を切っても回復しないのだ。仕方ないので、Softetherの管理ソフトからオフライン状態で落とさざるを得なかった。

 

 しかたないので、色々と調べると

www.kwonline.org

ローカルブリッジ機能は絶対にONにしてはイケない。

と、忠告が。

 もしかするとtapデバイスを作るとか、なんとかなったのかもしれないけれども、別の目的で動いているプロセスもあるサーバーのため、これ以上弄るのはやめて、ブリッジを削除。すると、VPN接続でサーバー自体は見えないけれども仮想NAT使ってもCPU使用率が上がらなくなった。

 

 IPSec / L2TP機能も有効にしているので、確かにAndoridから直接つながる。

 

 とりあえず設定終了。セキュリティ考えて設定見直すポイントもありそうだが、少なくとも無防備な点はなさそう。ここまでで疲れちゃいました。

 

ポケットが少なくなる季節のスマホストラップ

 普段、スマホはリングをつけてポケットやウエストバックに入れている。だけれども、薄着の季節になると胸ポケットなんかに入れると飛び出て落下の恐れも増えてくる。

 ストラップホールがついたカバーも意外とすくないし、手帳型はあまり好きでない。そこで、シリコンゴムで抱き込むタイプのものを使う。カメラにかかったり、指紋認証センサーに引っかかったりすることもあるけれども、シリコンゴムだけに何とかなることも多い(笑)。割と付け外しやすいので、持ち歩くときだけさっとセットして使っている。

 ストラップ自体は別のものに付け替えたりも出来る。

 ただ、やっぱしゴムに傷つけたりしちゃうと、それを起点に切れたりすることも。過度な期待はよろしくない。

 

 

Raspberry piでGoogle Driveにアップロードしたい。

Google Driveにしちゃう動機

 Raspberry Piで収集したデータはDropBoxにアップロードしていた。Dropboxクラウドによるファイル同期や保管では老舗で使いやすくもあった。しかし、無料プランではクライアントが3台までと改変。自分の環境ではスマホタブレットとデスクトップPCにノートPCすでに4台。有料プランで制限を外すとしても1TBで月1,200円しか選べない。1TBも要らない。100GBで月200円とか、50GBで月100円とかで十分なのだ。というわけで、実用に耐えなくなった。

 OneDriveも選択肢に入る。Office356のおまけが1TBで、単独では50GB月200円。悪くはない。BOXは個人利用だと5GB無料だがビジネス色が強いし、拡張しようとすると100GB月1200円だ。

 そうなると、GoogleDriveが一番お手軽だ。Google Oneに課金して容量追加が段階的にできる。Gmailのデータで圧迫されちゃうのは辛いところだけれども、対抗馬のAmazon Driveは、Prime契約時の写真データ無制限!を除けば、大体GoogleDriveとコスト感は同じだ。

 他にも節約術としては、自分でOwnCloud or NextCloudサーバ立てるとか出来そうなことはある。それはそれで、後日検討する・・・かも。

 

クラウド同期ソフトを調査

 自分で検索をしていたら gdrive とinsyncしか引っかからず厳しいかなぁと思っていたら同じ様に調べているサイトを発見。救世主となった。

www.harumaki.net

  Insycは有料できっと悪くはないんだろうけれども、Arm版は、まだベータっぽいし、後回し。コマンドラインだけでしか使わないし、情報の多そうな gdrive と rclone をお試しに決定。

 

Gdriveとrcloneにしぼって試して比較

 定番gdrive は設置して簡単に使えた。

qiita.com

 でも、ドライブの全体が見えて操作できてしまう。これってミスったらGoogle Drive 全体が消失してしまうかも・・・。Dropboxの場合はアプリ毎の専用フォルダができちゃうので、最悪の事態は免れる。ここらへんが歴史の差かなぁ。

 

 ちょっと期待しつつrcloneを試してみた。 

blog.supersonico.info

上記は少し古いので、最新の情報も見ておいたほうがよい。

rclone.org

 

 rclone は対応クラウドが多い分、導入時の設定は気をつける必要あり。こちらはルードフォルダを指定できる。また、同期のオプション(双方向なのか一方方向同期なのか)も豊富で、異なるクラウド間を繋ぐことも可能。今回は使わないが、異なるクラウド間でのファイル操作は地味に便利だ。

 

 参考サイトでは省いているルートフォルダの設定。ルートフォルダを指定するにはFolderIDがいる。これはFolderのURLから収得できる。以下のfolders/以下の文字列がそれ。

https://drive.google.com/drive/folders/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh in the browser, then you use 1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh as the root_folder_id in the config.

 

 ルートフォルダ指定が出来るrcloneに決定。

ぼちぼち準備の防水スプレー

  靴を新調したら必ず薄く吹き付けている、いつもの防水スプレー。傘やカバンにもできるだけ均一に吹きかける。雨が降ってから室内でやると刺激臭が結構キツイ。そこで本格的に雨が降る前にやっておくことにしている。

 幾つかあるけれども、定番のこれがやっぱしいい感じだ。安くはないけど常用なので、ぼちぼち仕入れる。

 高級革靴などはやめておいたほうがいいかも(ちゃんとお手入れしましょう!)

 

Raspberry PIでVPN( SoftEther )

フリーWifiも怖いがフリーVPNも怖くない?

 Free Wi-Fiにはパスワードすらないものも多い。流石に怖い。なんでもいいから暗号化キーくらいは設定してほしい。出張先ホテルのWifiサービスも気持ち悪いといえば気持ち悪い。

 かと言って、フリーのVPNは怖すぎる。通信を一手に監視できるからだ。広告収入だけならともかく個人情報が商材のところも多いだろう。

 Googleサービスを多用して、すでに魂を売っている気もしなくもない。今更感はなくもない(笑)

 

そこでラズパイ

 固定グローバルIPを持たないお家LAN内にVPNサーバーをRaspberryPiで運用してみることにした。SoftEtherはそういう環境にも対応しているという。VPN Azureという中継サーバーサービスを利用させていただくと実現できる。ただし、MS-SSTPに限定されるので、Android端末では標準では対応できずアプリを入れることになる。(アプリ入れたほうが便利なのだ・・・・)

 

ja.softether.org

 

インストール環境:

 Raspberry Pi 3B+

 Linux raspberrypi 4.19.36-v7+ #1213 SMP Thu Apr 25 15:08:02 BST 2019 armv7l GNU/Linux

 

インストールと動作確認 

参考にしたサイト https://nobuntu.jp/raspberrypi-vpn-server-softethervpn/

 

 このサイトは確認しつつ進めるような記述になっていて、分かりやすい。うまくいかないと後戻りしつつ作業。ただし、今回はAzureを使う予定なので、自宅からのアクセスで確認終了。

 

ブリッジ接続にしてラズパイ自身も見えるようにする。

 単にインターネットと外出先でのVPN接続だけを求めるなら「ブリッジ接続」はしないことを勧めます。トラブルとハマる。スキルがあれば全然問題ないだろうけれども、私のスキルだと解決に時間がかかった。

 

qiita.com

 

問題発生と解決策

 確かにAzureサービス経由でVPNアクセスできてラズパイ本体も見える様になった。が、ここで問題発生。CPU使用率25%程度、VPNseverで1コア分100%となるのだ。仮想NATをオンにすると顕著。それでも使えないこともない。気になる。どこかでループが発生しているのか。困った。

 実は、VPSでのVPNサーバー設置時にも同じ様に高負荷になるという現象にハマることになる。

 

 今回の場合の解決策。

 仮想DHCP機能でDNSをパブリックサーバ(グローバルアドレス)に指定。Googleさんの8.8.8.8(プライマリ)と8.8.8.4(セカンダリ)とした。デフォルトだとゲートウェイと同じになっているけれども仮想の内側にローカルにDNSサーバ持ってない。その外側のお家LANに直接繋げばルータのDHCP機能で配られるから問題ないのだが・・・。

 で、なんでループが解決したのかは細かくわからないが、ドメインネーム解決時に自分自身に問い詰めることがなくなったんだだろう。(え?)

 

 結果、CPU使用率は負荷大きい時にも6%以下くらい。1コア分で最大30%程度。動画再生させててもCPU使用率2~3%だった。常時使っても問題なさそう。

 

VPN接続用Androidアプリ

 SSTP接続できるアプリはあまりない。が、以下のアプリが快適。

 

 SSTP VPN Client

https://play.google.com/store/apps/details?id=it.colucciweb.sstpvpnclient&hl=ja

 

 

 指定のSSIDWifiに繋いだらVPN接続をする、もしくは指定のSSIDでなければVPN接続をする、との設定も可能。

 900円だけど有料VPNと契約しなくてすむし、ラズパイ実験くんの手間賃と思えばリーズナブルと購入。動作状況のログが表示されるのでサーバーの設定ができているのかも確認できるし、購入してよかった。