【書評】日経クラウドファースト創刊

さてタイムリー?な雑誌が創刊されました。

itpro.nikkeibp.co.jp

昨今、クラウドという言葉は様々な意味で使われているわけですが、
この雑誌には下記のようなサブタイトルが付いています。

AWS・Azure導入の先端技術情報」

つまり、上記2サービスに焦点を当てた雑誌なのでしょう。
早速創刊号を読ませていただきましたが、
サブタイトルに偽りなく、AWS、Azureのサービスを利用した導入事例と、
AWS、Azureのサービス技術情報が紹介されています。

上記2サービスの情報を追っかけていくのであればいいかもしれませんね。
書籍ですとスピード感が1、2テンポ遅くなりますし、
最新情報をサイトやらで収集するのも少ししんどいというのであれば、
ちょうど良い情報提供ツールになるかもしれません。

余談ですが、AzureをはじめとしたWindows系の情報は
自習書が充実しています。(AWSは詳しくなく、、)

blogs.msdn.microsoft.com

www.microsoft.com

また、ソフィアネットワークさんもAzure関連の自習書、評価ガイドを
発表してくれていますね。

株式会社 ソフィアネットワーク

またまた余談ですが、年間購読料は64,800円とお高めでございます。

【Office365】ADFSの証明書更新時の注意点

ネット上の他の方々の記事も幾分あるのだが、
例にもれず自分もはまった。

ADFS3.0, Windows Server 2012R2で発生するこの問題はなんぞや。
そもそもnetshを利用してバインドできることを初めて知りました。

https://support.microsoft.com/ja-jp/kb/2973873

基本的にADFSの証明書設定はPowerShellで実施するのが吉。
ADFSの管理画面よりも証明書へのアクセス権限の設定も適切に実施してくれるみたい。
加えて、Windows Server 2012からADFS Proxyではなく、
リモートアクセスのWeb Application Proxyを利用することになるのだが、
こちらもGUIから設定できる項目が限られており、PowerShellを利用することになる。

なので、ADFS3.0系統は基本PowerShellと考えればよい。
一部(KB2973873)に合致する方は手でnetshも変えればよい。
例の如く、Office365、ADFS周りは下記のブログにお世話になった。

AD FS 3.0におけるSSL証明書更新 | 日々徒然

www.slideshare.net

【Office365】Office365のための格安SSL証明書

今回Office365用に、公的な証明機関から証明書を取得しました。(格安で)

今までは、オレオレ証明書を利用してADFS,ADFSProxyのSSL通信を実施していました。
上記構成でもオレオレ認証局ルート証明書を自身の端末にインポートしておけば
SSL証明書の正常性を確認できるのでSSOでOffice365を利用できます。

ですが、利用できないケースもあります。
それは、Office365側のSP(Service Provider)から直接通信がくるケースです。

フェデレーションの基本的な通信の流れは、
IDPに対して端末がHTTPのリダイレクトを利用してアクセスするため、
オレオレ認証局ルート証明書を端末に入れておけばSSL通信が成立します。

一方で、Office365でメールクライアントなどを利用する際には、
IDPへの通信がOffice365側から発行されます。
こうなると、MSのサーバに、オレオレ証明書を入れることなど到底出来ませんので、
公的な認証局に署名を受ける必要があります。

※下記の自習書の3章「認証フロー」にわかりやすい処理の流れが記載されています。
Download Microsoft Office 365 自習書 AD FS によるシングル サインオン環境構築ステップ バイ ステップ ガイド from Official Microsoft Download Center

さて、やっと本題ですが
私は下記サイトで9ドル/1年で証明書を購入しました。
もちろん、問題なく利用できています。

Namecheap.com • Cheap Domain Name Registration & Web Hosting

今回は、SSL証明書がほしいので、SSLCertificatesのページに飛ぶと、
DomainValidation の欄に、PositiveSSLという項目があります。
単一URLであれば、こちらが最安の9ドルで購入できます。
購入方法は、クレジットカードやPayPalが選択可能。

f:id:etsubo:20160424223034j:plain

あとは普段証明書を発行している手順でCSRを作成して、
サイト上で発行手続きすればOKです。
慣れれば30分程度で証明書の発行が完了できます。

ポイントとして、署名してもらうドメインが本当にあなたのものですかという確認があります。
DNS、HTTP、メールの3つから確認方法を選べます。

自分はメールでの確認を行いました。
内容としては、サイト側が提示するアドレスにURL付きのメールを送るから、
そこからアクセスして認証を進めるというもの。
ドメインの管理者なら、自由にユーザアカウントも作成できるよねというところから
成り立つ確認方法ですね。

上記が完了すればメールアドレスで証明書が送付されてきます。

ログ解析(データ解析)のプラットフォームに関して

エンジニアとして、様々な形式のログを扱うことがあるかと思います。
システムログしかり、データ分析しかり。
それこそ、Webサーバのアクセスログは膨大な量になりますし、
上手に取り扱わないと結構面倒です。

昨今は、データサイエンティストの需要というのも大きく
今まで以上にデータの解析という仕事をする人が増えていると思います。

私はインフラエンジニアなので、データ解析というよりはログ解析の目線ではあるのですが、
基本的に類似点が多いと思います。
システムログにはタイムスタンプがあり、各時刻ごとのデータが記載されています。
データ解析でいる時系列データ解析に近いです。

そんなログ解析・データ解析ですが、皆様はどのようなプラットフォームで作業していますか。

SIerなんかだと、Excelでピボットテーブル使っているよというエンジニアいると思います。
ピボットテーブルは便利ですが、Excelには扱える行数に限りがあります。
大量のアクセスを受け付けるWebサーバのアクセスログ解析ではどうしましょう?

他に、集計用のスクリプト作っている方もいると思います。
SQLが得意なので、一度DBにインポートしてからSQLで解析していますという人もいるかと思います。
または、R、Pythonなりデータ解析に特化したライブラリを有する環境を利用するという人もいるかと。

というわけで、目標は同じですが様々な手段があるかと思います。
自分も、ケースバイケースで使い分けています。
今回は、様々な方法に関して紹介していこうかと思います。
※一つ一つの細かい内容に関しては後日の記事にします。
 今回はサマリを。


Excelを利用してログ解析・データ解析
 こちらは定番中の定番です。
 どのような方にも抵抗なく?入れる方法かと思います。
 Excelのピボットテーブルしかり、統計解析用の関数然り非常に高機能です。

 私もExcelにはお世話になっており、便利で素晴らしいソフトウェアです。
 ですが、やはり大量のデータの解析には向かないですね。そこが最大の欠点でしょうか。

UNIXLinuxコマンドを利用
 サーバエンジニアたるもの、有事の際にはサーバにあるソフトウェアだけで戦える必要があります。
 普段からこのようにする必要はないとも思いますが、
 sort,awk,nkf,grep,wc,uniq etc..
 を利用してコマンドライン上で集計できるのがインフラエンジニアとしては望ましいです。
 この方法のいいことは、繰り返し処理が容易なこと、
 バッチ処理化可能なことです。
 つまり大量のデータ解析にも向いています。
 ※運用中のサーバでドカンと動かして、負荷かけないようにね。 

SQLを利用してログ解析・データ解析
 基本的に、業界標準の規格が定まっている技術というのが好きです。
 なぜなら、どのようなソフトウェア、環境に移行しても基本概念が変わることはありませんから。
 そういう方にはSQLでの解析がオススメです。
 SQLというエンジニアの共通言語で、どこでも利用できるとうのが最大の利点でしょう。

 サーバからアクセスログを取得してきて、
 ローカルのDB(SQLITEなり、PostgreSQLなり)にインポートして、
 SQLで集計するということを私はよくやります。
 一度インポートするし、面倒くさくない?ということを思う人もいるかと思いますが、
 その一度をやってしまえば、大量のデータに対して繰り返し施行錯誤できます。
 そして繰り返しますが、どのようなデータでもSQLの知識があれば戦えるという利点が大きいです。

 以下、私がよく利用するプラットフォームの紹介です。

 ■SQLITE
  言わずもがな。簡易DBとして便利ですね。
  SQLite Home Page

 ■PostgreSQL
  こちらも有名です。私はローカルのPCにインストールしてありますw
  PostgreSQLは分析関数が強力なのがいいですね。
  データ解析に向いているDBだと思います。
  PostgreSQLの分析関数の衝撃1 (モードとメジアン) (1/3):CodeZine(コードジン)
  Download PostgreSQL | EnterpriseDB

 ■LogParser
  Microsoftが提供するログ解析要のツールです。
  Windowsのイベント・ログの解析や、IISのログ解析では非常に強力です。
  一度解析用のSQL分を作成してしまえば、それを使い回せば良いので業務も効率化できます。
  また、一度に複数のログ・ファイルを指定して解析かけられるのも便利です。
  Log Parser 2.2 日本語版
  概要: Log Parser Studio - (旧) Exchange Team Blog 日本語版 - Site Home - TechNet Blogs
  Log Parserでログを統合的に扱い運用保守に役立てる(基本編) (1/4):CodeZine(コードジン)

 ■q - Text as Data
  先ほど一度、ログをDBにインポートすると言いました。
  人によってはめんどくさいと思うかもとも言いました。
  それなら、直接テキストファイルに対して
  SQL打てるようにすればいいじゃないかというわけですね。
  皆様、似たようなこと考えているのかもしれませんね。
  というわけで、テキストファイル、CSVファイルに対して直接SQLを発行できるツールです。
  Run SQL directly on CSV files | Text as Data | q

■統計、データ解析専用のプラットフォーム
 こちらは説明するほどではないのですが、
 統計を扱う方には定番のソフトウェアたち。
 こちらに関してはサラッと解説するのも難しい上、
 情報も多くインターネット上にあるので今回は名前の羅列だけ。
 ※もちろんここに紹介した以外のソフトウェアもあるとは思います。
  あくまで私が利用したことあるものだけです。


 ■R
  R: The R Project for Statistical Computing

 ■Python
  O'Reilly Japan - Pythonによるデータ分析入門

 ■Splunk
  皆様しっています?Splunkというソフトウェア。
  もしかしたら、Kibana+ElasticSearch+Fluentdとかいう構成なら
  知っている方がいるかもしれません。それに近いです。

  http://www.splunk.com/ja_jp
  http://eure.jp/blog/fluentd_elasticsearch_kibana/

  Splunkというのはあらゆるマシンデータをドカンと突っ込んで、
  データをラベリングし、分析可能な状態にしてくれるログ解析プラットフォームです。
  データの収集・分析・解析をこれ一つでできます。

  Web画面を通じて、Splunkに突っ込んだデータを閲覧でき、
  SDL言語というのを通じて、データの集計を実施できます。

  SPLというのがSQLとまたちょっと違う言語でなれが必要です。
  ですが、SQL・SPLの対応表があるのでこちらを参考にしてみてください。
  Splunk for SQL users - Splunk Knowledgebase


以上、簡単ですが一覧を記載してみました。
今後、少しづつ詳細に関して記載していこうと思います。

競技プログラミング

実は去年の年末から少し競技プログラミングを再開しました。
一応初めてではなくて、学生の頃にちょこっと(ほぼ遊び感覚で)やっていましたが、
PyCon Japan 2015の講演で競技プログラミングに関しての発表がありまして、
久々に興味が出てきた次第です。

ちなみに、昔はTopCoderとかしか知らなかったのですが、
たくさんあるんですね。。

www.slideshare.net

しかしいきなり突撃するのもあれなので、、
また、久々ということもあり普段と違った言語で、
アルゴリズムとデータ構造の復習をかねてはじめようと思いました。

言語は、Pythonです。いつもC++ばかりですのでLLを採用。
まったくの初めてではないですが、それほどがりがり書いた経験もありませんので、
機械学習とかちょこっとやるくらいしか使わないので、言語の勉強もかねてです。

また、アルゴリズムとデータ構造の復習は、実際に手を動かして書くことが一番だと思います。
そこで、下記サイトを利用しています。

AIZU ONLINE JUDGE: Programming Challenge

国内のサービスで、様々なプログラミングの問題が掲載されています。
この中の「Introduction」-「Introduction to algorithm and data structures」
がちょうど自分の目的に合っています。
このカテゴリはアルゴリズムとデータ構造にちなんだ課題が集められています。
ソートから、連結リスト、再帰処理などを利用して解く問題が収録されており、
練習にちょうどいいです。

まだ初めてちょっとですが、週末など時間があるときにちょこちょこ進めています。

github.com

ExcelからDBのレコードを参照・更新したい

早速ですが、タイトルのようなことなんてあるのか?と言われるかもですが、
たまにあるのですよ。
どちらかと言うと、
元々Excelで管理していたものをDBへ突っ込みたいとかが多いのですが。

普通にDBに接続して、Insert文つくって流しましょうというのはそうなんですが、
度々やっていると一発でExcelシートの内容をDBのテーブルに突っ込めるアドオンがあれば
効率いいなという思考に行き着きまして。

なければ隙間時間に作成しようかなとも思ったのですが、
既にあるのですね。本当に素晴らしい世の中ですね。

詳細はマニュアルがしっかり整備されていますのでそちらを参照のこと。
便利だ。。

ExcelDBTool - エクセルでデータ作成、DB接続、データ取得更新

また、同サイトで紹介されている「ExcelDevTool」も大変便利です。
データの生成から、比較、テンプレートの作成等々ありがたいです。

ExcelDevTool - エクセル機能拡張

今まで、Excelの便利アドオンとしては、RelaxToolしか知りませんでしたが、
「ExcelDevTool」も試してみようと思います。

RelaxTools Addin for Excel 2007/2010/2013/2016 | Excelを便利にする250以上の機能を体系化したアドインはこちらです。

なんだかんだExcelを利用している方は多いと思いますので、参考に。

WSUSサーバのメンテナンス(管理コンソールに繋がらない等)

以前、WSUSのクリーンアップについて記事を書いたのですが、
そのほかにもWSUSというとちょこちょこ不思議な動作をすることがあります。

たまにですが、WSUSの管理コンソールに接続不可能という現象が発生することがあるのですが、
それらの自称に対して、MSのWSUSチームのBlogにてコメントが公開されていましたので。

blogs.technet.com

自分が体験したのは、上記Blogでいうところのケース2.「たまに接続ができない」になるのですが
下記で解決することが多いとのこと。

・インデックス再構築
 →確かに、パッチが増えてくると遅くなるんですよね。。パッチの選定にとてつもない時間が。。

・WSUSサーバのクリーンアップ
 →容量問題でもそうですが、不要なパッチは処理時間増を招きますからね。
  前回記事にしたのはここですね。
  WSUSサーバのクリーンアップ - Infrastructure Engineer`s Notes

・WSUS管理コンソールのキャッシュ削除
 →これは知りませんでした。効果はちょっとあるかもくらいみたいですが。

・不要な更新プログラムは「拒否」にする
 →これはWSUSの運用上非常に大事かと。
  パッチは積み上げていくので、どんどん必要なパッチの選定に要する時間が増加していきます。

・WsusPoolのメモリ引き上げ
 →なるほど。利用できる容量を増やそうと。
  ここまでやったことはないですが、ありかもですね。

SQLサーバの最小メモリ・最大メモリの設定値を変更
 →上記と同様の考えですね。
  これも試したことはないですね。

簡単ですがMSサポートチームのノウハウだそうです。
こういうの大事ですよね。