投稿

PowerCLIで資格情報を保存して、接続時に再利用して安全かつ簡単に接続する方法

PowerCLIではvCenterへ接続してvSphere Management API経由で情報を取得します。初めの接続にはConnect-VIServerコマンドレットを利用しますが、スクリプトに資格情報をハードコードしたり資格情報の要求ウィンドウへ毎回入力したりしている方が多いのではないでしょうか。
PowerCLIでは上記よりもセキュリティ上安全で利便性の高い方法として、Credential Storeが提供されています。
Credential Storeを利用しない場合 以下のようにConnect-VIServerしていると思います。

Connect-VIServer <vCenter Address> –User <User> –Password <Password> 上記で明示的にPasswordを指定しない場合には資格情報の要求ウィンドウが表示されます。パスワードがハードコードされているとコードを共有するのが難しくなり、毎回入力するとなると手間がかかるようになります。

 Credential Storeを利用する場合 初めにNew-VICredentialStoreItemコマンドレットで資格情報を保存します。
New-VICredentialStoreItem -Host <vCenter Address> -User <User> -Password <Password> 上記の手順を1回実行した以降はConnect-VIServerを実行するたびに資格情報を入力する必要がなくなります。つまり今後はvCenterのアドレスだけで接続できるようになります。
Connect-VIServer <vCenter Address> すでに保存されている資格情報を表示するにはGet-VICredentialStoreItemコマンドレットを利用します。
保存した資格情報を削除するにはRemove-VICredentialStoreItemコマンドレットを利用します。

上記であれば資格情報はPowerCLIで管理されるため、より簡単で安全に接続処理を記述することができます。

VMware PowerCLIがPowerShell Galleryからダウンロードできるようになりました!

イメージ
PowerCLI 6.5.1がリリースされ、PowerShell Gallery経由でインストールできるようになりました。
以前のバージョンではMSI形式のインストーラーが配布されていましたが、今回からInstall-Moduleコマンドレットを利用するだけで簡単にインストールすることができるようになりました。

すでにPowerShell Galleryからモジュールをインストールしたことがある方は以下のコマンドだけで簡単にインストールできます。
PS C:\> Install-Module -Name VMware.PowerCLI –Scope CurrentUser MSFCのGet-ClusterやHyper-VのExport-VMなど同じコマンドがインストールされている場合には追加のパラメータとして「-AllowClobber」が必要になる点に注意しましょう。

PowerShell Galleryを使ったことがない方やオフラインインストールなどその他の詳細な手順は以下のBlog記事 (英語)を参照してください。
Welcome PowerCLI to the PowerShell Gallery – Install Process Updates https://blogs.vmware.com/PowerCLI/2017/04/powercli-install-process-powershell-gallery.html

PowerCLIをインストールして接続してVMの一覧を表示するまで3行です。
Install-Module -Name VMware.PowerCLI –Scope CurrentUser$vis = Connect-VIServer -Server VC -User administrator@vsphere.localGet-VM -Server $vis

ASRock C2750D4I Java 1.8.0 131へ更新後にIPMIのコンソールの起動に失敗する

事象 C2750D4IのIPMIで提供されるリモートコンソールにおいて、Java 1.8.0 131へ更新後に「このアプリケーションを起動できません。」のエラーと共に起動に失敗します。

推定要因 Java 1.8.0 131ではセキュリティポリシーが変更となりJARファイルに対するMD5の署名は有効ではありません。このため未署名なアプリケーションとして扱われ、システムへのアクセスをリクエストするとみなされて起動に失敗します。

回避策セキュリティ上の考慮点:この方法は強度が十分でなく脆弱であるため無効化されたMD5による署名を有効化してアプリケーションを起動します。有効化による問題を認識した上で手順を実施してください。

java.securityファイルにおけるjdk.jar.disabledAlgorithmsからMD5を除外します。この変更によりJARファイルにおける無効化されたMD5が有効化されます。 例 変更後 jdk.jar.disabledAlgorithms=MD2, RSA keySize < 1024
変更前 jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

java.securityは64bitのWindowsであれば以下に配置されています。 C:\Program Files (x86)\Java\jre1.8.0_131\lib\security
参考情報MD5 added to jdk.jar.disabledAlgorithms Security property This JDK release introduces a new restriction on how MD5 signed JAR files are verified. If the signed JAR file uses MD5, signature verification operations will ignore the signature and treat the JAR as if it were unsigned. This can potentially occur in the following types of applications that use signed JAR…

CoreOSとVMware vSphereでDocker環境を構築する

お疲れ様です。照屋です。
CoreOSがvSphere 5.5及びvCloud Airにてサポートされるようになるとアナウンスがありました。
http://blogs.vmware.com/vsphere/2015/03/coreos-now-supported-vmware-vsphere-5-5-vmware-vcloud-air.html
VMware Compatibility Guideにも既に記載がありますね。CoreOS 557とESXi5.5以降の組み合わせになるようです。

概要 vSphere環境があれば、すぐにでもCoreOSを始めることができます。
今回はOVAファイルをダウンロードして、vSphere Web Clientから
既存のvSphere環境に対してCoreOSを展開します。
その上で実際にWordPress + MySQLを動かすところまでを説明します。
ネットワーク要件 インターネットより各種ファイルやコンテナファイルを取得するため、
インターネット接続が必要になります。
それに伴いDNSによる名前解決ができる必要があります。
CoreOSを接続する先の仮想スイッチでDHCPによるIPアドレス割り当てが行えるか確認してください。
DHCPが利用できない場合はCoreOSの「Network Configuration with networkd(英語)」を参照して構成してください。
https://coreos.com/docs/cluster-management/setup/network-config-with-networkd/

CoreOS環境の構築 OVAファイルの取得 まずはOVAファイルのダウンロードから始めましょう。
CoreOS Release Notesに行って、「Browse Images」をクリックします。
https://coreos.com/releases/
ファイル「coreos_production_vmware_ova.ova」を見つけてダウンロードします。
次はvSphere Web ClientでダウンロードしたOVAファイルをクラスタに展開します。
この手順は一般的なOVAファイルの展開手順と同じですので、ご存知の方は次のステップに進んでください。
OVAファイルの展開 CoreOSの仮想マ…

NVGRE ゲートウェイを直接ルーティングする場合の接続文字列

お疲れ様です。照屋です。

System Center 2012 R2 Virutal Machine ManagerでNVGRE Gatewayを構成する時の小ネタです。

NVGREのゲートウェイはVM ネットワークを論理ネットワークに接続を担当します。VMネットワークはNVGREでカプセル化されたネットワークのことです。対して論理ネットワークはカプセル化されていないネットワークであり、所謂物理ネットワークと呼ばれるものです。つまりゲートウェイを使うことでNVGREの世界とそれ以外の世界をIP接続することができます。

ゲートウェイには下記の接続方法があります。
VPNNAT直接ルーティング 今回は「直接ルーティング」のみを説明します。直接ルーティング(Direct Routing)は上記の他の方法と比較すると、次のようなメリットがあります。
NVGREのアドレス系に変更を加える必要がない物理側にカプセル化の必要がない ただしデメリットもあります。
アドレスを変更しないため、単一のゲートウェイで保持するアドレス帯に重複があってはいけない NVGREを利用することで単一のVM Network内でサブネットを分離できます。NATであれば一つのゲートウェイに複数のVMネットワークを接続できますが、直接ルーティングにする場合は同じゲートウェイ内で一つのVMネットワークしか持てないようです。

上記を踏まえて、Windows Server 2012 R2をゲートウェイとして登録する際の接続文字列は以下のようになります。ネットワークサービスに登録するゲートウェイの接続文字列に「DirectRoutingMode=true」が記載されていることを確認します。

接続文字列
VMHost=<Hyper-V HostName>;GatewayVM=<Gateway VM Name>;DirectRoutingMode=true NAT接続ができているのであれば、接続文字列の変更後、VMネットワークのプロパティ>接続でネットワークアドレス変換(NAT)から直接ルーティングに変更すれば疎通が取れるようになります。

PowerShellで潜るOpenStack APIの海 - 素潜り編

イメージ
PowerShell Advent Calendar 2014の15日目!

OpenStackとは
皆さんはOpenStackというクラウド管理ツールをご存知でしょうか。OpenStackはプライベートクラウドを構築するためのオープンソースソフトウェアです。OpenStackを利用することで、大規模なクラウドを構築することができます。OpenStackはRESTfull API経由で操作することができます。つまりパブリッククラウドで言うところのMicrosoft AzureやAmazon Web Servicesと同様に、インフラの自動化をプライベートクラウドでも実現できます。
今回の手順は手元にOpenStackがある前提の内容になっていますが、対話的にPowerShellを利用しているので雰囲気だけでも感じて頂ければ幸いです。残念ながらOpenStackがない場合にはこの機会に是非、検証環境を準備してみてください。今回の内容ではOpenStackのインストールや構成までカバーすることはできませんが、日本語の技術資料も多く、日本OpenStackユーザー会(http://openstack.jp/)を初めとしたコミュニティ主催の勉強会も活発に行われています。
OpenStackはDevStack(http://devstack.org/)などの展開ツールを利用してインストールすることができます。VMware vSphereの環境をすでにお持ちであれば、VMware社が提供するVOVA(VMware OpenStack Virtual Appliance)を利用することで手軽に評価用の環境を準備することができます。 PowerShellでやってみるPowerShellは強力なスクリプト言語です。今さら説明は要りませんね。今日はOpenStackAPIの操作を通して、シェルの力を感じましょう。

SimpleSteamWebApiでゲーミングプラットフォームSteamを2倍たのしもう!

始めまして、照屋と申します。
「プログラミングたのしい!」を共有するための場としてブログを開設致しました。

唐突ですがゲーマーが集まるコミュニティ、Steam Communityの情報を集めて何かに利用しようと思ったことはありませんか?
ありませんか?
例えばアップデート情報をウォッチしたいなど、ありませんか?

そんなあなたに私が作ったC#のライブラリ、Simple Steam Web Api (Nuget)がオススメです。
これを使えば簡単にSteam Communityの情報を取得できます。
パッケージをインストールして、少しコーディングするだけ!
動作環境Visual Studio 2013.NET 4.5 サンプル新規コンソールアプリケーションプロジェクトを作成パッケージインストール (NuGet)ニュース一覧を表示するコードを書く パッケージインストール (NuGet) パッケージマネージャーコンソールに入力:
PM> Install-Package SimpleSteamWebApi
 コーディング Program.csに下のように記載し実行するとTeam Fortress 2 (AppID=440)のニュースが取得できているはずです。
「ENTER_YOUR_API_KEY_HERE」とありますが、このAPIはキーをいれなくても動くので記載のままで問題ありません。
 Program.cs using SteamWebApi; using System; using System.Threading.Tasks; namespace SimpleSteamWebApiApp1 {     class Program     {         static void Main(string[] args)         {             Run().Wait();             Console.WriteLine("Press any key to exit");             Console.ReadLine();         }         static async Task Run()         {             string api_key = "ENTE…