書評『PowerShell実践ガイドブック クロスプラットフォーム対応の次世代シェルを徹底解説』
PowerShellやDSCの最新情報についていつも参考にさせていただいている @guitarrapc_techさんが本を出版されたとのことで、 これは買わねばなるまいと思っていました。 そんな時、マイナビ出版さんが先行レビューの希望者を募集されていましたので、 イチかバチかで申し込んでみたところ、 ご恵贈いただきました。 マイナビ出版さん、ありがとうございましたm(__)m わたしの周辺のPowerShell事情 ここ数年、仕事ではもはやクラウド(主にAWS)関連のコンサルやデリバリーばかりやっています。 Serverless、Container等の新しい潮流は増えてきているものの、 わたしがビジネスを行っているエンタープライズ領域のシステム開発では、 未だWindowsやLinuxを利用するIaaSの活用が主流です。 当然ながら、ビジネスのバックエンドで動くシステムでは運用を自動化します。 AWSならLambdaのcronライクな機能を使って運用タスクのスケジューリングを行うこともできますが、 エンタープライズ領域ではオンプレミスに構築された統合ジョブ実行基盤(JP1、Systemwalker、WebSAM、Senju等)や、 クラウド上に構築したジョブ実行基盤を利用して運用タスクの自動化を行うケースがほとんどです。 運用タスクを自動化するスクリプトは、Linux環境であればbashやPythonが多いのですが、 Windows環境は近年やはりPowerShellがメインになってきています。 PowerShellが出始めた頃(2006年頃)は、どうもあのコマンドレットというものの羅列に馴染めず、 WSHやコマンドプロンプト(.bat)で十分、と思っていた時期が私にもありました。 が、Infrastructure as Codeが流行りだし、CloudFormationやAnsibleの勉強をする中で、 PowerShell DSCというものに出会い、少しずつPowerShellに触れるようになってきました。 慣れてくると、WSHや.batよりも、PowerShellの方がコードがすっきりしますし、 例外処理やOSの機能を活用するような処理もやりやすいですね。 現在、AWSのEC2上で運用スクリプトを書く場合は、PowerShellでAWS CLIをラップして 作成しています。 AWSでWindowsインスタンスを起動すると、AWS Tools for Windows PowerShellがプレインストールされているのですが、 敢えてAWS CLIをインストールしています。 理由としては、AWS CLIであればWindows環境で作成した運用スクリプトのAWS CLI部分を Linux環境に移植しやすいですし、 AWS CLIであれば、S3とEC2間のファイル転送時に最大同時リクエスト数やマルチパート処理が採用されるファイルサイズの閾値(デフォルト5GB)を変更できるからです。 (AWS Tools for Windows PowerShellではまだそこまで細かい制御はできない・・はず) AWS CLI.