2018年1月3日水曜日

新年あけましておめでとうございます。

新年あけましておめでとうございます。

昨年は新年早々修理やっていましたが、今年はコーディングで年を越しました。
まぁ年末年始は毎年恒例自宅待機でサーバ監視なんですがね・・・

本業としてはAWSを主にやってきているのですが、人がいないので自動化が簡単なスクリプトでサクサクできるのが楽しいですね。従量課金で自腹検証にも優しいですし
昨年はSTSやOrganizationsが楽しくてあれこれ突きまくって、年末なのに何度も特別処理をサポートにお願いしたりしました。(BASICプランなのにスミマセン・・)
AzureやGCPも少し触りましたが、両クラウドとAWSの差はUIが開発者向けかユーザ向けかという点が大きいと感じています。どちら側を向いているか。と言い換えることもできるかと思います。
特にAzureの横長UIやJSTなのかUTCなのかよくわからなかったり、突然出てくるJSONなエラーコードとか消せないリソースとかetc.....
GCPはAzureほどではないのですが、UIがどこに何があるかわからない。あとサブネットやFWの設定もなくいきなりSSHつながるのが怖いw
いやまぁ開発者からすれば便利なんでしょうけど。
逆にAWSはオンプレの知識というか、物理ネットワーク組んだことないと入口にすら立たせてもらえないハードルの高さはあります。

しかし、コンパネの使いやすさ、レスポンスの良さは圧倒的です。あとドキュメントが豊富にあります。SlideShareや公式ブログもありますし、クラスメソッドさんのブログがある。という点が圧倒的ですね。

個人的にはSDKが豊富。特にRubyで使えるのが良いです。
PHP、Ruby、node.js、Pythonと試してみましたが、Rubyが一番書きやすいと感じました(個人の感想です)
まぁSDK使ってAPIバシバシ叩いているインフラ屋さんって珍しいのかもしれませんが・・

という訳で、今まで触ってきたものを一覧から列挙してみます。

  • EC2
  • S3
  • RDS
  • DynamoDB
  • ElastiCache
  • VPC
  • CloudFront
  • Route 53
  • Direct Connect
  • CloudWatch
  • CloudTrail
  • System Manager
  • IAM
  • Inspector
  • Certificate Manager
  • Directory Service
  • Simple Notification Service
  • Simple Queue Service
  • Simple Email Service


結構使ったことあるなぁ。まぁAWS全体のサービスからすればごく一部なんですけど。
今年はいよいよ(やっと?)サーバレスというかラムダを勉強しようと思います。
残念なことに、ラムダではRubyが動きません。コンテナで動いているのだから対応してくれてもいいのですが、AWSの中の人曰く対応する予定はないとのこと・・・
しかもサポートしている言語はどれもやったことないものばかり。(これがラムダを避けていた理由)
どうせ最初から学ぶのならどの言語を選んでも同じなので、node.jsとpythonで書いてみました。
この時はPythonの意味不明なエラー。送られてくるデータにまさかJSONが混入しているとは予想していなくてパースエラーで数時間を溶かす。などでnode.jsでやるかと思ったのですが、非同期処理が良く分からない。書いていたらコールバック地獄で根本的に間違っている気が激しくするものが出来上がり、これは独学はキツいと断念。

その足でnode.jsの本を探しに書店で探すも見当たらず、結局
AWS Lambda実践ガイドを購入。実践とあるので難しいかと思ったが、内容を見るとほぼ自分がやった内容なのですんなり理解。(なんと試行錯誤したSESのバウンスメール処理がサンプルで乗っていた。JSONの件も当然記載があり最初から本漁れば時間を無駄にしなくて済んだOrz)

というあたりで、年末年始にやった成果を置いておきます。
本年が良い年でありますように。







2017年12月10日日曜日

100均のUSBアダプタで、ジャンクハブを修理してみた。

100均で売っている、自称5V2AなUSBアダプタを使っていたのですが、
中からカラカラと音がするようになって、危険と判断し分解、結果中でプラスティックが折れた??のか破片が出てきただけでした。
これはこれで、何かに流用できないかと、電源部が壊れたジャンクハブの電源ユニットとして流用してみました。

 
100Vが流れる箇所は念入りにホットボンドで絶縁、補強しておきます。
電源との接続はUSBケーブルをぶった切って流用しました。
電源が壊れた時交換が楽なようにw

 
無事復活しました。

2017年12月2日土曜日

Ubuntu 16.04でアップデートに失敗する

自宅にあるSoftEtherなUbuntu 16.04をアップデートしたら、以下のようなメッセージが出て失敗しました。

update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
insserv: warning: script 'S20vpnserver' missing LSB tags and overrides
insserv: warning: script 'vpnserver' missing LSB tags and overrides
insserv: There is a loop between service plymouth and mountdevsubfs if started
insserv:  loop involving service mountdevsubfs at depth 2
insserv:  loop involving service udev at depth 1
insserv: There is a loop at service plymouth if started
insserv: Starting vpnserver depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting vpnserver depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: Starting vpnserver depends on plymouth and therefore on system facility `$all' which can not be true!
以下続く・・・
どうやら原因はsystemd周り?のようで、対処法は
起動スクリプトの

# chkconfig: 2345 99 01
# description: SoftEther VPN Server
なところを

# Provides : vpnserver
# Required-Start :
# Required-Stop :
# Default-Start : 2 3 4 5
# Degault-Stop : 0 1 6
# Description : SoftEther VPN Server
にすればOKです。

早速WiKiに反映しておこう・・・