2018年1月3日水曜日

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

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

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

本業としてはAWSを主にやってきているのですが、人がいないので自動化が簡単なスクリプトでサクサクできるのが楽しいですね。従量課金で自腹検証にも優しいですし
昨年はSTSOrganizationsが楽しくてあれこれ突きまくって、年末なのに何度も特別処理をサポートにお願いしたりしました。(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月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に反映しておこう・・・

2017年10月15日日曜日

Windows Server 2012 R2上のHyper-Vにて、Windows Serverバックアップが失敗する

Windows Server 2012 R2上のHyper-Vにて、CentOS6な仮想マシンを動かしている場合、
WindowsServerバックアップで謎のエラーが発生し失敗することがあります。
(なお、Ubuntu16.04は問題ない)
バックアップに成功しましたが、スナップショット内でバックアップ済みの一部のコンポーネントに不整合があります。このコンポーネントが属しているアプリケーションは、このバックアップが回復に使用された後で正しく機能しなくなる可能性があります。
どうも仮想マシンのバックアップを取るのにVSSを使っているようですが、
これがCentOS6な仮想マシンだとVSSが失敗するようです。
で、解決法は、CentOS6内にHyper-V用のVSSデーモンをインストールします。

yum install hyperv-daemons
トラブルだらけでもう疲れたよ・・・


Windows 10で回復ドライブからリカバリ後回復パテーションが見える

回復ドライブから無事リカバリできたかと思えば、まぁそう簡単にはいかないのがWindows…
今度はなぜか非表示のはずの回復パテーションが見えている(汗
しかも、ディスクの管理からはアクティブパテーションとなっており、回復パテーションと認識すらされていない・・
大丈夫か?Windows10

という訳で直します。
まずはwindowsキー+Xでコマンドプロンプト(管理者)を実行します。
次にdiskpartを実行します。
select disk 0で0番目のディスクを選択。
list partitionでパテーションを確認。回復パテーションがある番号を確認します。
ここでは3番目にあるとします。
select partition 3でパテーションを選択し
set id = 27
で回復パテーションIDを書き込みます。(これはMBRの話して、UEFIの場合は違うようです。詳しくはここを参照) removeで割り当てられたドライブレターを削除し、exitで終了です。

再起動しても非表示のままであればOKです。