読者です 読者をやめる 読者になる 読者になる

3.5インチベイにSSDを設置する

最近のPCケースだと、SSDの利用を前提として2.5インチ用のベイをPC内部に確保してくれています。
ですが、昔のケースとか、サーバ用ケースですと3.5インチベイのみのものが多いと思います。

そういう時は、下記の製品がお勧めです。
2.5SATA-3.5SATA変換をしてくれるマウンタです。

私は、この製品をHP Proliant ML 110 G7 に搭載してSSDを利用しています。
お勧めです。

自宅開発環境の考察(Part1)

自宅に快適な開発環境を用意することに多くの労力をかけております。
最近は、クラウド環境の充実で自宅サーバとか不要では?!という人もいるかと思いますが、
自分はそう思っていません。

必要な時だけサーバを上げる人であればいいのかもしれませんが、
24時間運用する必要があるサーバの場合は、いまだにクラウドは割高だと思っています。
それにある程度大容量のデータを扱う場合は、WANだとそれなりに転送時間がかかるため
フラストレーションが溜まります。(私は)

で、24時間運用するサーバってなに?と言われると、自分の環境だと以下です。

・AD、ADFS、ADFS Proxy → これはOffice365をはじめとしたSSO環境を提供
・ファイルサーバ    → 言わずもがな大事なデータを保管
VPNサーバ       → 外出先から、自宅へ接続するために必要
・Slack Botサーバ    → 毎朝天気予報を呟いたり、ゴミ出しの日を教えてくれる
・メールサーバ     → 独自ドメインのメールアドレスの運用。Office365でいいじゃん。。
・カレンダーサーバ   → いわゆるicalサーバ。Office365でいいじゃん。。
・赤外線リモコンサーバ → エアコンとか、Hue(ライト)とか自宅電子機器の遠隔操作
              これにより最寄り駅に着いたときにエアコンを入れることが可能。
・データマートサーバ  → DBサーバとSplunkサーバを運用。

書き出したら、めっちゃあるじゃん。。
自宅の開発環境を快適にというのもあるけど、自宅を便利にという思いも多々ある。

上記サーバを全て、自宅サーバ2台で運用しています。
大部分は、HP Proliant ML 110 G7に、ESXi6.0をインストールしてその上で運用しています。
もう一台は、HP Microserverというコンパクトなサーバでして、
Hyper-Vをインストールして、その上で運用しています。

http://h50146.www5.hp.com/products/servers/proliant/system_pdf/ml110g7.pdf

HP ProLiant MicroServer - モデル | 日本ヒューレット・パッカード

いろいろ考えた上で今のシンプルな構成?に落ち着いたと思っているので
そのあたりを今後ご紹介できればと。

Windowsの展開に関しての評価ガイド

MSは様々な技術文書(自習書、評価ガイド etc...)を無償で提供してくれています。
内容は非常に充実しており下手な書籍よりも有用なものも多く、
新しい技術に関しては書籍も出版されていないので、これらの文書が頼りになります。

不満点は、資料が様々な場所に点在しているところ。
探しにくいのです。

今回は、Windowsの展開技術に関しての文書を探したのでまとめておきます。
Windowsの展開技術とは、
クライアントPCなど大量の端末をキッティングする際に、利用される技術です。

一台程度ですと手動でインストールしてもいいのですが、
企業になると数百台にもなりますし、企業ごとにOSのカスタマイズをする必要もあるかと思います。

システム部門が作成した、標準インストールイメージを利用して、
どのように端末にWindowsをインストールするか、
そのための技術情報が下記にまとまっていますので参考になれば。


・標準イメージの展開技術概要
 http://download.microsoft.com/download/9/7/9/97983C57-B297-4FBE-AA2B-F8736739B5F4/W8_Migration_WP_Overview.docx

Windows ADK による標準イメージの作成手順
 http://download.microsoft.com/download/9/7/9/97983C57-B297-4FBE-AA2B-F8736739B5F4/W8_Migration_WP_ADK.docx

・USMT の利用によるユーザー データの移行
 http://download.microsoft.com/download/9/7/9/97983C57-B297-4FBE-AA2B-F8736739B5F4/W8_Migration_WP_USMT.docx

Windows 展開サービスによる標準イメージの展開
 http://download.microsoft.com/download/9/7/9/97983C57-B297-4FBE-AA2B-F8736739B5F4/W8_Migration_WP_WDS.docx

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

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

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


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