2019-12-18

仕事上で他人のPowershellスクリプトを観察して感じたことを。

「Windowsバッチ臭い」のである。
例えば、バッチでパラメータを与える時、パラメータはスペース区切りで任意の複数個を記述できる。一見柔軟性が高い様だが、バッチ作成者以外から見ると厄介である。
不完全な設計書やプログラム本体を観察して、受け入れらるパラメータは何個なのか、パラメータの書式はどの様なものかを確認しないとバッチは利用できない。

対してPowershellであれば、利用者に負担を掛けずに使いやすいものを作成できる。

例えば以下のコードであれば、こんな感じで動いてくれる。
これであれば、指定が必須のパラメータは何なのか、パラメータはどの様な形式なのか、指定のものから選択する必要があれば、どの様な候補があるのか、等が対話的に表示できる。
一般的に他人のプログラムは「詳細設計書はあるが、このプログラムは何が出来るのか?」が判らないので、この様なものが必要と思うが、如何だろうか。


PS C:\Users\doctor_d\Desktop> C:\Users\doctor_d\Desktop\1.ps1
コマンド パイプライン位置 1 のコマンドレット 1.ps1
次のパラメーターに値を指定してください:
(ヘルプを表示するには、「!?」と入力してください。)
Number: !?
Number のヘルプはありません。
Number: 1
String: !?
YesまたはNoを選択
String: Yes
1
Yes


2019-11-09

旧CITI bankがSMBCに売却されて、CITI GoldはPRESTIA Goldに継承された。

 ATMカードであるCITI CardはGLOBAL PASSという名称のDebit機能を持つATMカードに順次置き換えられる。
 機能面では国内ATM兼海外ATMカード兼Visa Debitとなるので、大幅改善である。

 しかしながら、この券面は如何なものか。

 GOLDというよりは、茶色。1色刷りのために安っぽさが感じられる。全くプレミアム感が無い。この手のカードは見易さを考えて、文字と地色のコントラストを高めにするのが多いが、現物のカードは茶色も薄めのためコピーし損ねたカードの様である。

 ANAマイレージGLOBAL PASSは多色刷りで、こちらの方がずっとデザインが良い。

 通常のPRESTIA GLOBAL PASSもAMEXのパチモノみたいで、SMBCのデザイン能力は本当に良く判らない。

2019-10-14

 プログラムはN-BasicとZ80のアセンブラしか判りません。

 そこでPowershellでログ管理のプログラムを作成していた時に変数のスコープではまったので備忘録。

 N-Basicでは変数はプログラムのどこでも同様の働きをするし、同一のものとして扱われる。しかしながら、Powershellでは動きが異なる。

 例えば以下の様に、変数Switchを$TRUEとして、この変数を$FALSEへ切り替える場合を考えてみよう。
 ここで、N-Basic的にはサブルーチンの様な、functionであるChangeSwitchを呼び出せば変数Switchが$Falseに切替できると思うのだが、挙動は異なる。

 冒頭の変数Switchとfunctionの中にある変数Switchは同じ名称でも異なるものなってしまうのだ。
 functionの中にある変数Switchはfunction内だけで有効な変数なので、functionから抜けた時にはfunctionの中の変更は反映されない。




[Param](
[Boolean]$Switch = $TRUE
 )

function ChangeSwitch{

$Switch = $FALSE

}




 それではどうするのか?
 以下の様に 変数のスコープを明示的にスクリプト内に指定する。




[Param](
[Boolean]$Switch = $TRUE
 )

function ChangeSwitch{

$Script:Switch = $FALSE

}




2019-10-10

 また仕事の話題。既存の基幹系アプリケーションをAWSへ載せ替えた。
 この手のものは、アプリケーション移行よりも運用監視機能の移行が結構大変で「従来と同じ運用手順で」という要望が多い。

 そうすると、運用ジョブの移行で頭を悩ませる事になる。AWSはEC2&EBSのスナップショット取得がバックアップに相当するので、これを活用するのだが生憎これをJP1 AJSから制御するのは大変。

 そのため実装は以下の様にしてみた。

 下から説明していく。
 AWSのスナップショットはAWS CLIで制御可能だが、これを踏まえた新規開発は人月が必要なので、仮想アプライアンスであるN2WSを導入する。

 N2WSは内部でAWS CLIを発行して、EC2&EBSのスナップショット取得や世代管理を行うアプライアンスである。そしてWeb UIによる手動運転、アプライアンス内蔵のスケジューラによる自動運転、N2WS API経由の付属Pythonコマンド集による手動運転ができる。

 今回は、Powershell自作スクリプトが、最後のPythonコマンドを発行、ログ出力等を担っている。

 この構造で任意のジョブスケジューラで業務ジョブと運用ジョブ両方を制御できる。

JP1/AJS

Powershellの自作スクリプト

N2WS付属のPythonコマンド集

N2WS

AWS (AWS CLI)


 Powershellの自作スクリプトは2種類製造している。
 1個目は、バックアップの起動、2個目はバックアップ結果の確認である。
 Pythonコマンド集のバックアップの起動は「起動に成功した」というステータスしか戻ってこないため、別途結果確認のPythonコマンドを発行するPowershellスクリプトで確認している。

 最後に余談だが、AWSのスナップショットは「ストレージ最適化」中に取得できない制限がある。
 「ストレージ最適化」はEBSやRDSの領域拡張後に発生するが、意外に時間が必要である。処理中もサービスは継続するのだが、夜間のバックアップが何故か失敗している、という事象の際にはこの制限が起因か確認すると良い。

2019-09-18

 所謂メガバンクの富裕層向けのサービスは鳴り物入りで始まったが、最近は今ひとつに感じられる。
 例えばBTMはサービスを廃止しまっている。

 筆者がみずほプレミアムを確認してみたところ、サービスの低下が始まっているので継続性に疑問が出てきた。

 みずほプレミアムは預かり資産1000万円以上のプレミアムと3000万円以上のブリリアントとに区分されている。
 また提供するサービスによって、みずほグループが提供する「金融サービス」とJTBに委託している「ライフスタイルサービス」とに区分されている。

 ブリリアントになっても資産運用で有利になるとは思えない。外貨送金は優遇であり、プレステアゴールド(預かり資産1000万円以上)の様に無料ではない。優遇されても、プレステアが安価である。また外貨預金の両替レート優遇はあるが、外貨預金をするなら、みずほ証券で外貨MMF辺りを購入すれば良いので、サービスとして提供されても使う場面が思いつかない。

 後者もブリリアントになるとサービスが追加されるが、提供されるサービスが徐々に削減されている。一番良さそうなのが、不動産仲介手数料の優遇だが、上場企業であれば大概存在している金融機関との提携サービスと同一レベルなので、嬉しいと言えるものではない。この中で一番良さそうなのが、上野の東京国立博物館常設展無料入場で、これで富裕層が喜ぶのか疑問である。
 他のサービスも、普通に検索すれば優待として受けられるんじゃないのレベルのもので、インターネットに疎い老人であれば嬉しいかもしれないが、そもそもみずほプレミアムクラブの案内がインターネットに掲載されているという始末なので、サービスが存在している事を知らない人が多い気がする。

 金融サービスに戻るが総合的に良いのが「貸金庫優待」で貸金庫年間料金40% offで富裕層であれば需要もあるし喜ばれると思う。近所の支店の貸金庫が空いていればだが。

 そしてクレヲタの皆様に喜ばれるのが、みずほAmexプラチナカードであろう。年会費13万円と飛び抜けているが、家族カード4枚まで無料発行なので一族郎党で家族カードを持ち、海外旅行でラウンジやら荷物の空港間配達等を使い倒せば少しは富裕層気分になれるかも。でも、これって、みずほ以外で加入した方が良いのでは?


 なんだかんだ言っているが、金融サービスを本当に良くするかHSBCの様に、プラチナカードを無料提供します!位じゃないと資産残高を増やしてもらうのは難しいのではと思う。

2019-09-02

 暫し待ったが、BoHのDebit Cardが再発行された。

 普通郵便で送付されて来た。電話でactivationしろとある。

 口座開設はHawaiiだが、Skypeで本土のtoll freeへ接続するのが良い。こちらは接続後、電話番号を入力しろ、といった事はない。

 BoHのPDFに操作手順が載っているので予め用意すると良い。activationは7を押すとすすむ。詳細手順は適当にググってください。結局オペレータに繋がってactivationして頂いた。

 また、メニューを見ると414で従来ATMでしか行えなかったPINの変更が存在している。こちらを試したところ、結局オペレータと再度繋がり色々教えて貰ったところ「別途PINが届くから、到着後PINを変更しろ」という事であった。

 その後PINが普通郵便で送付されて来た。この後、414で操作したところ、16桁debit card番号#、PINを持っているなら(忘れていないか?)1#、旧PIN#、新PIN#を2回確認のため入力して、PINが変更できた。

 時間が有る時に買い物でもしてみますか。

2019-08-20

 昨年の記事ですが、PRESTIA(旧citibank)と海外投資を楽しむ会でお馴染みのBank Of Hawaiiが提携したというもの。

 しかしながら、具体的なサービス内容が全く打ち出されていない辺り、日本っぽいなあと思う次第。日本経済新聞には「送金手数料の割引」みたいな記述もあるが、本家のPRESTIAでは「提携しました」だけでサービス内容の記載は無し。

 最も、Bank Of Hawaiiで残念なのは預金残高を増やして上級のbankohanaにならないとwire transferの受け取り手数料が$17という日本では考えられないチャージがあるので、これを無料となる様なサービスが有難いのだが。
 イメージとしては、HSBCのGlobal Viewの様な感じでお願いします。

2019-08-18

  Raspberry Pi(raspbian buster lite)でUSB経由でカードリーダーを接続、SD microカードを認識させようとしたところ、問題があったので備忘録。

 先ず、オーム電機製PC-SCRW6をraspberry piへ接続したところ、Accessランプが点滅、その後常時点灯に推移した。Mac OSでもAccessランプは同様の遷移となるが、Mac OSからRWが可能である。
 しかし、raspbianからlsusbを実行しても、PC-SCRW6は認識されない。USBポートを変更、接続した状態でraspberry pi電源を投入等を試してみたが認識されない。

 切り分けのために、Buffalo製BSCR100U2を購入してraspberry piへ接続確認してみた。
 アクセスランプの遷移が異なり、点滅、その後消灯に推移した。raspbianからlsusbを実行すると認識され、またBSCR100U2へ挿入した16GB micro SDもRW可能であった。

 余談であるが、手元の古いBuffalo製BCR-C7L/U2もraspbianから認識されるが、カードリーダーの仕様上micro SDは2GByteまでしか認識されないのでrpi-cloneでのバックアップ用途には厳しいものがある。raspbian buster liteをイメージ書き込み&パッケージ最新化等を行うと、rpi-cloneの書き出し先は1.9GByte必要と表示された。
 

2019-08-04

それでは日立製作所の野望JP1 AJS編の続きである。

 さて、商品体系が判ってきたところで小規模システムへの対応状況を見てみよう。

 正直、Manager , Viewが高価なので小規模システムだと費用対効果が宜しくない。

 日立製作所としてはAgent側にJP1/AJS Agent MEという「1日10ジョブまで」に限定した安価なagentは用意しているのだが、システム全体の費用削減に大きく寄与しない。まず小規模システムだとAP , DBサーバにアプリケーションやユーティリティが集中する。この結果として、どうしてもジョブ数が多くなってしまうのである。
 筆者は「Managerから制御できるAgentは5ノードまで」といった商品設定が必要と考えるが、日立製作所の意見は異なる様である。

 また、「JP1をSasS提供」という広告が一時あったが、これはJP1製品群の極一部が従量課金サービスとして提供されたという事であり、JP1/AJSが例えばジョブ数での従量課金で利用できる、という訳ではない。さらに「JP1/AJSがAWS対応」と言った広告も、AZまたぎのクラスタ構成がサポートされたという事で、JP1/AJS ManagerがAWS marketplace対応した、SaaS化された、というものでは全くない。現時点ではオンプレの拡張と考えた方が良い。残念ながら、日立製作所としては十分にシェアを取ったジョブスケジュール市場で安売りをする気は無い様だ。


 システムデザイン上はWindowsのタスクスケジューラではなく、ちゃんとしたジョブ運用ツールの導入が望ましいが、JP1/AJSを含めて安価なものは存在しないと思って良い。

 オープンソースに期待はしているが、現状としてWindow/Linux両対応で、判りやすいViewまで無償提供されているものは無い。例えばHimeosは無償だが、ViewはHinemosジョブマップオプションとして有償提供となっている。Zabbixのジョブスケジューラも国内サポートがあるが、結構良いお値段が必要である。大規模システムであれば、この手のOSSのサポートは定額なので従量課金の商用ライセンスより安価になりやすいが、小規模システムだと逆に割高になりかねない。

 情報システム部が10名以上いて、自社でOSSをある程度トラブルシュート出来ないなら、基幹システム運用では商用製品の方が始末が良い、というのが筆者の考えである。
 

2019-08-03

先日のBoH発行のDebit Card不正利用の続き。

 Customer serviceにon line webから連絡したところ、1)最新の住所を確認後、カードを新規発行する、2)カードの不正利用に対して、申し立て(dispute)してくれ、という2点の回答があった。

 2)はメールではなく電話が必要である。

 電話はUS toll freeであるが、日本からの場合はDialing with AT&T USA Directという海外からAT&TのオペレーターへUSAの番号へ接続して貰えるサービスを使ってくれ、との事である。そもそも英語話者用のサービスなので先ずはBoHまで電話をするのが大変そうな予感。

2019-08-01

 ちょっと気晴らしに日立製作所のJP1/AJSについて、第三者の目で勝手な解説をしたい。なお筆者は日立に全く関係の無い企業に所属している。

 日立製作所の運用管理製品であるJP1製品群は多様な製品を、一括してJP1と名付けているために全体像が非常に判りづらい。かつ、日立製作所本体だけではなく、グループ会社である日立ソリューションズの製品も同一のグループ名としているため、混迷に輪をかけている。

 先ず、日立製作所本体が設計していると思われる所謂運用管理製品群がある。これらはジョブ実行、監視を中心としている。
 次に日立ソリューションズが設計していると思われる 暗号化の「秘文」、そして監視製品の補完製品である「JP1/Telstaff」のシリーズがある。

 今回は運用管理製品で一番利用頻度が高いJP1/Automatic Job Schedulerについて解説するが、その前にJP1/Baseについて解説する。
  JP1製品の見積で混乱するのは「JP1を使うにはJP1/Baseが必要です」という説明がある事。それも確認するとJP1/Baseが必要な場面と不要な場面がある。

『JP1/AJSはJP1/Baseが必須』

 JP1/Baseとは何者なのか?「実行基盤です」という謎の説明が多いのだが、簡単に言うと、サーバ/クライアント間の通信用ミドルウエアである。
 例えば、Unixでリモート制御を行うにはrsh、WindowsであればWinRM、という様にOS毎にジョブの遠隔実行方法はあるが、プロトコルは統一されていない。

 ここで、日立製作所はJP1/BaseというWindows,Unix,VOS3と言った各種OSで共通して利用できる通信用ミドルウエアを開発したのである。
 ジョブ実行ミドルウエアが各OSに対して遠隔実行を命令する際にこの通信用ミドルウエアを用いているのである。

 そのため、JP1/AJSのマネージャ、エージェント(遠隔操作対象)共にJP1/Baseが必須となる。

『JP1/IMは代替手段がある』

 ジョブ実行結果のエラー通知のためにJP1/Integrated Managerも必要だと説明を受けることがある。これは何者なのか?

 実はJP1/AJS Manager(正確に言うとJP1/AJS Managerの実行結果を表示するJP1/AJS View)はジョブの失敗や遅延を外部通報する機能が存在していない。信じられないが、事実である。
 もう少し正確に言うと、ジョブが失敗したときに、特定のジョブ(リカバリジョブ)を実行させる事は出来、かつ特定のジョブとして「メールの送信」が可能である。 これで対応出来そうだが、全てのジョブ(またはジョブネット)に対して、エラー通知のジョブ(リカバリジョブ)を定義するのは大変である。

 よって、JP1/AJS ManagerへJP1/AJS Managerからジョブの実行結果をJP1/IMへ転送して、JP1/IM上で表示、選別、通報をすれば良い、というのが日立の考え方である。なお、この実行結果転送もJP1/Baseを利用するため、JP1/Baseが必要となる。
 ちなみにJP1/IMは60万円以上するため、「メール通知をするために60万円以上追加なのか!」という事になる。

  それでは代替手段はどんなものなのか?実はJP1/AJS Managerはジョブの実行結果をWindows Event Logへ出力する事も可能である。(標準はOFF)Windows Event Logに実行結果を出力して、適当な汎用監視ソフトウエアで異常終了や遅延等の特定メッセージが出力されたらメール送信を起動すれば良い。



『JP1/TelStaffが必要な場面は限られる』

 さらに「メール通知はJP1/IMに加えてJP1/TelStaffが必要です」と説明を受ける事もある。これも詳しく言うと、メール通知を細やかに制御するにはJP1/TelStaffが必要だが一般的には不要である。
 JP1/TelStaffはメール通知の際に「月曜日はAさん、火曜日はAさんだが夜間のみBさんへ通報」と言った通知のパターンを各種細やかに制御できるツールである。単純に一律メール送信であれば不要である。


『JP1/View Definition Assitantは必須』

 ジョブの定義、実行結果の表示はJP1/AJS Managerの機能ではない。別製品であるJP1/AJS Viewが必要であり、この製品は必須である。
 しかしながらJP1/Viewは画面上での表示は出来るのだが、ジョブの一覧等をテキスト等へ出力する事も、類似ジョブを大量にテキスト形式で定義してジョブ登録する事は出来ない。
 製品欠陥のレベルだが、実は別製品JP1/View Definition Assistantが当該機能を提供する。 JP1/AJSが必要となる大規模システムでは必須と筆者は考えているのだが、日立製作所見積に大概含まれておらず多数のエンジニアが苦しんでいる。

2019-07-30

 仕事で珍妙体験があったのでメモ。
 某社ウイルス対策ソフト導入で確認事項があり、サポートへ連絡したところ「専用のFTPログ送付ソフトをダウンロードして、ログ送付してくれ」という回答があった。

 このウイルス対策ソフトは海外製で国内某社がサポートしている。そして、この送付用ソフトは国内某社が作っている様だ。

 で、チーム員へログ送付を依頼したが「送付出来ない」との事。

 サポートへ「FTPだとプロキシが存在して企業ユーザは送付出来ない環境も多いとは思うが如何か?」と送ったところ、「プロキシにFTPを通過させる設定すれば良い(大意)」という、明後日の回答が来た。

 当方で観察すると、送付用ソフトはFTPプロキシに対応していない様だ。

 そしてサポートへ対応状況を確認すると、その通りだと。


 つまり、この送付用ソフトでは一般的な企業ユーザでは、どんなに頑張ってもサポートへログを送付する事は出来ないのである。大概の企業向製品はベンダサポートがアップロード用のwebやftpを用意するのだが、それも無いという。

 平たく言えば、プロキシが存在しない個人ユーザであれば、この送付用ソフトは有効なのだが、サポートを担当する国内某社が力を入れている(と思われる)企業ユーザでは混乱を招く代物でしかない。
 国内某社はSIerを自称しているらしいのだが、こんな簡単な事も気付かずにサービス体制を構築するとは日本のITは先行きが不安になる。

2019-07-24

 家族宛に元商品先物取引会社のFX勧誘が来た。

 内容はメキシコペソのロングでレバレッジ25倍の国内規制限界というもの。
  対面で1時間ほど説明をしたいという。

  この会社はおかしな会社ではなく、日経の女性向けイベントに出展しており、そこで家族が提供した情報で連絡してきている。合法的に入手した個人情報ではある。

 現在メキシコペソの政策金利は8%以上らしいので、レバレッジ25倍だとスワップ金利で年率200%も実現可能である。
 無論為替レートが4%動けば証拠金は0になるのだが、電話ではその様な説明は当然無い。

 それにしても初心者向けにレバレッジ25倍というのは凄い。株でも信用取引二階建ては超危険と言われているのに最初から規制上限の25倍ですか。

2019-07-23

Bank Of Hawaii 発行のDebit Cardが不正利用されたので、顛末を。

 ある日、以下の様なメールが到着した。
 疑わしい取引があるよ、という内容で、全てのトランザクションが自分の支払った正しいものなのか、一部自身の支払いではないものがあるのか、のリンクをクリックしてくれとある。
 このメール自体がフィッシングの可能性もあるので、BoHのサイトでaccount activityを確認すると、メール通知に記載の不正利用と思われるトランザクションが記録されている。
 Debit Cardであるが、瞬時に取引完了にならずに通常の取引でも一定期間HOLDになるようである。HOLDは2営業日程と思われる。

 次に、Fraud Service Centerに電話。

 最初はUSのフリーダイヤルにSkypeで掛けると、自動応答でこちらの電話番号をエリアコードから入力しろと言われる。どうも海外の国コードでは受け付けない様なので、+1-727-227-ZZZに連絡。こちらは有人オペレータが応答してくれる。

 で。

 筆者の英語能力が今ひとつ&焦りもあったためか、「貴方の第一言語は何ですか?」という事で先方が日本語話者を探してくれて間に入って頂けた。
 フリーダイヤルでは「英語は1、エスパニョールは2」でスペイン語はあるのに、日本語は無しかよ!と焦って居たが、ハワイ現地時間の早朝にも関わらず、わざわざ日本語話者を探してくれたコールセンタには感謝である。

 どのトランザクションが自分のものでないのか、カードの保管状況などを確認後、カードを停止するとなった。
 センターではカード停止までなので、カードの再発行はカスタマーサービスに別途連絡が必要とのこと。

Transaction Detail
Your transaction is not yet complete. Once this transaction is complete, you may add a note or categorize this transaction.

Scheduled for:ZZ/ZZ/2019
Description:VISA AUTHORIZATION VICTORIASSECRET.COM 2019-ZZ-ZZ
In-process 
Amount:$25.23
Transaction type:HOLD




URGENT: Suspicious Activity Detected on Your Card 

 

Your Card Ending in XXXXX
Dear TOSHIKA-SAN:
As part of our commitment to protecting the security of your card, we continuously monitor for possible fraudulent activity. We need to verify that you, or someone authorized to use your card, attempted the following transaction(s) on your card ending in XXXXX.
MerchantAmountDateTimeLocation
ESTEE LAUDER ONLINE$0.00ZZ/ZZ/201906:43 AM CTKING OF PRUSS, PA
VICTORIASSECRET.COM$25.23ZZ/ZZ/201903:27 AM CTREYNOLDSBURG, OH
FC2.COM HELP.FC2.COM$10.03AA/AA/20198:22 PM CTINTERNET

If the dollar amount is not identical to what is shown on a transaction receipt, this may be due to a pre-authorization which has not yet posted to your card.
The merchant location for internet transactions may be different than you expect as they are often cleared through a centralized billing location.
If you have already spoken with us about these transactions, then no further action is required.
Please click on one of the two statements below that best represents the transactions above:
All Transaction(s) Authorized

One or More Transaction(s) NOT Authorized
NOTE:
Your satisfaction is very important to us and we appreciate your prompt attention to this matter. If you have any questions about the content of this email, please don't hesitate to contact us at 1-800-369-BBBB from the U.S. and Canada. Internationally, you can reach us collect at 727-227-ZZZ and we will accept the international collect call charges. For your convenience, we are available to take your call 24 hours a day, 7 days a week. Please refer to case number YYYYYYY when you call. 
Thank you for being a valued customer.
Sincerely,
Bank of Hawaii
Fraud Service Center
Please do not respond to this email, this mailbox is not monitored. It is only used for sending Fraud Alert Email notifications.

2019-07-22


SBLソーシャルレンディングに以下のお知らせが。
高金利の一方、支払遅延が総融資額の10%になっていること、若干だがデフォルトも発生していることを踏まえて、撤退を決断と思慮。
このままだと遅延がデフォルトになる事も十分想定されるので、金利のリターンと釣り合わないなあとは思っていましたが、思ったより早く終了してしまった。



お客様各位
2019年6月28日
SBIソーシャルレンディング株式会社

SBISLカンボジア技能実習生支援ローンファンド 募集終了のお知らせ

 平素は格別のお引き立てを賜り、厚く御礼申し上げます。
 このたび、「SBISLカンボジア技能実習生支援ローンファンド」は、2019年7月19日(金)昼12時もちまして、以下のとおり、募集を終了いたします。
===============================
■最終の出資募集締切日
2019年7月19日(金)昼12時

■最終の分配(配当)予定日
2020年8月17日(月)(*)
(運用期間(予定):2019年7月~2020年8月)

(*)分配日(毎月15日)が弊社休業日(年末年始・土日祝日)の場合には翌営業日が分配日となります。
===============================
ご愛顧いただきましたお客様に、心より御礼申し上げます。

2019-07-17

 タイトルが長いですが、Windows Serverで構築したActive DirectoryドメインA(domain.local)と、AWSのPaaS Active Directory Service B(domain.cloud)との信頼関係を結ぶ検証をしてみた。
 ドメイン名であるが、よく見かけるhome.comとcloud.comというドメイン名ではないところが本投稿の特徴である。何故domain.localとdomain.cloudとしているかは後述する。


 Active Directoryでは識別のためのドメイン名は2種類ある。domain.localの様なFQDNのドメイン名に相当するドメイン名と、過去互換性を考慮して作成されているNETBIOSドメイン名とがある。後者は本ドメイン名では"domain"の様にトップドメイン".local"を削除したものがActive Directoryの初期デプロイ時に設定される。

 さて、この前提の様なActive Directoryドメイン名を持つドメインの信頼関係を結ぶとどうなるか?失敗してしまう。
 これは両方のActive Directoryドメイン名は異なるのだがNETBIOSドメイン名は"domain"と同一のものに自動設定されてしまい、同一のNETBIOSドメイン名間では信頼関係が構築できない仕様のためと思われる。

 これを解決するには、どちらかのActive Directoryドメインをデプロイする際にNETBIOSドメイン名を明示的に"DOMAINcloud"の様に他のNETBIOSドメインと異なるものに明示的に設定すると良い。

 また、Active Directoryドメイン名とNETBIOSドメイン名とは異なるものとする必要がある様だ。NETBIOSドメイン名自体は"."を使用可能であるのだが、"domain.cloud"とNETBIOSドメイン名を設定する事はActive Directory ドメイン名と同一となるためか設定出来ない。

 本環境では

ドメインA
Active Directoryドメイン名 domain.local
NETBIOSドメイン名 domain

ドメインB
Active Directoryドメイン名 domain.cloud
NETBIOSドメイン名 domaincloud

 と設定する事で所定の目的が達成された。

 お気づきの様に、NETBIOSドメイン名はユーザがOSへドメインログオンする際に使われている。
 ドメインBであれば、ユーザ名は"domaincloud\administrator"の様になる。


 さて、冒頭に記述した様に何故domain.localとdomain.cloudとActive Directoryドメイン名としたのかを説明する。
 これはオンプレからAWSへ極力シームレスな移行を狙ったためである。

 例えばオンプレ上のPCからオンプレ上のAP01サーバへアクセスするには

\\AP01.domain.local\
\\AP01\

 という2種類の表記が出来る。前者はFQDN、後者は短縮名表記となる。
 短縮名でもアクセス可能なのは、PCとAP01とは同一ドメインに所属しているので、名前解決で自動的にdomain.localが補われるためである。

 次にAP01サーバをAWSへ移行すると

\\AP01.domain.cloud\

 のみが使用できる。短縮名ではアクセス出来ない。
 よって、プログラムやショートカットなどを修正する必要がある。

 ここで、WindowsであればTCP/IPコントロールパネルの「以下のDNSサフィックスを順に追加する」を以下に設定するとどうなるか?

domain.local
domain.cloud

 を設定してみよう。

 短縮名でAP01を指定すると、先ずはAP01.domain.localを解決しようとして、これは失敗する。次にAP01.domain.cloudを解決しようとして、これは成功する。
 
 実装としては、DNSサフィックスの情報をGPOで設定し、接続先名を短縮名で記載しておくと移行が簡単になる。

 この工夫のために信頼関係を結ぶ際に若干悩んだが理解は深まったという事で...。

 

2019-05-20

 HSBC SGのEveryday Global Debitを使用する際、海外(シンガポール外)で使用するための設定覚書。

 一部順序が適当かもしれないので参考程度に。

 HSBC SG Premier +6562278889へskype

card activation&海外使用の設定は1

activationは1 , 海外使用設定は2

16桁のカード番号と#

6桁のOTPが登録した携帯電話へSMSで送られて来る。携帯電話の下4桁を言われるのでどの携帯電話か確認して入力

磁気ストライプは容易に読み取りと複製できるから海外で使うリスクうんぬんの説明

海外ATM&現地の買物両方に使用するなら1 , 海外ATMのみなら2

使用開始日をDDMMYYYYで入力。今日からなら#

使用終了日をDDMMYYYYで入力

日付の確認。

confirmなら1


2019-04-24

 arcserve UDP 6.5を使った仮想化基盤の必要計算機資源の概要はベンダサイトにある程度情報があるのだが、実例が少ないので最近の案件の参考情報を。

A)サブシステム、または小規模の基幹システムを想定。
 仮想化基盤上の仮想マシンが10台以下(バックアップ対象のディスク2TB以下)であれば、概ね以下の構成で良い。この程度であれば重複排除をonで運用すれば必要ディスクも節約できる。

 バックアップ物理サーバ1台(4-6cores , 24GB Memory , 最低RAID 10 2TBx4 または RAID 5 1TB x 8程度でサーバのディスクベイに合わせて)
 RPS,BackUp Proxy,Consoleを全て稼働させる。
 バックアップジョブ起動はarcserve UDPの内蔵スケジューラを使用。 


B)中規模以上の基幹システム、または基幹システムに加えてサブシステムも統合した仮想化基盤を想定。
 仮想化基盤上の仮想マシンが30台程度(バックアップ対象のディスク10TB以上)の規模になると、システムデザインを練る必要がある。
 具体的に見てみよう。

1)BackUp Proxyは仮想化ホスト上の仮想マシンにする。

 BackUp ProxyはESXiとRPSとを仲介してバックアップ対象のディスクのデータを読み出す機能を担当する。
 NECのサイトに詳しい(他のソフトウエアだが...)が上記A)では仮想化ホスト、バックアップサーバ(RPS兼BackUp Proxy)間の転送はNBD方式になり、これはディスクの中身がLAN上に流れるので、概ね1GByte/min程度のバックアップ速度になる。

 一方、BackUp Proxyをバックアップ対象と同一の仮想化基盤上の仮想マシンとすると、バックアップ対象のvmdkがBackUp Proxyへ接続されれ(Hot Add)重複排除や圧縮処理はBackUp Proxyで処理される。この結果、小容量になったデータのみがLAN経由でバックアップサーバ(RPS)へ流れる。この構成では10GByte/min以上のバックアップ速度が得られ、バックアップ対象が大容量時は是非検討するべきである。


2)BackUp Proxyに必要な計算機資源容量

 BackUp Proxyはどの程度の仮想マシンとして構成すれば良いのか。当方の事例では8vCPU(intel Silver 4114)、16GB Memoryとかなり大きい構成が必要であった。バックアップ設定は重複排除on(32KByte ブロックサイズ)、圧縮最大、4多重(初期設定)としている。
 メモリ不足になるとバックアップがクラッシュするので余裕が必要である。




3)Consoleはバックアップ起動方式によって配置を検討する

 Consoleはスケジューラ、web interface、CLIの機能を提供する。バックアップ起動がarc serve UDPの内蔵スケジューラであれば配置はRPSと同一の物理サーバ上に搭載で良い。
 しかしながら、ジョブスケジューラで起動する場合は注意が必要である。
 多コアの物理サーバ上でRPSと同居するとジョブスケジューラの費用が嵩む。それであれば、ゲストOSライセンス費用が増えるが個別にConsoleを小さな仮想マシンとして用意した方が良い。

 Console自体はCPU負荷が少ないため、独立して仮想マシンとして配置するのであれば1-2vCPU , 6GB-8GB Memoryで十分である。これであればジョブスケジューラの費用も少なくて済む。

4)RPSに必要な計算機資源容量

 RPSは独立した物理サーバとして構成するが、CPU負荷が高いBackUp Proxyを分離すると概ね1socket 4coresの構成で十分の様だ。
 ハッシュMemoryはarcserve UDPのツール(arcserve UDPをインストールする必要がある....)で計算できるが、あくまでも「ハッシュメモリ」だけの容量計算であるので、OSやRPS自体のメモリとして+4〜8GB程度は追加しておきたい。

 大容量バックアップではブロックサイズを標準の16KByteから32KByteへ変更した方が良い。実運用に入ってデータが溜まってメモリ不足になるとRPSが読み出し専用になるので、無理をしない方が良い。代わりに圧縮を標準から最大に変更すればディスク使用量は抑えられる。

2019-04-14

 久々にkeep.ioのweb siteをチェックしたらiris keyboard rev.3が発売される様子。
 従来の情報ではコントローラのオンボード化、USB-Cのコネクタ搭載が変更点であるが、

  • Option for rotary encoder at lower left corner of left half

 という記述があるのでマウスの様なロータリーエンコーダをオプションで追加できるのであろうか。
 web siteでは基盤の全体図面が載っていないので左手側の左端、というのがどこに位置しているのかは現時点で不明。
 3台も組み立ててしまったのと、送料が高いから試すかは悩ましいところ。

2019-03-28

 arcserveを長年利用している方であれば、ジョブ登録一覧に「メークアップジョブ」が多数自動登録されているのを覚えていると思う。

 arcserveはバックアップジョブが失敗すると自動的に当該ジョブのコピーである「メークアップジョブ」が作成され、登録される。運用担当者はこのメークアップジョブを実行すれば抜けたバックアップジョブを容易に再実行できるだろう、という設計思想のようである。

 arcserveのイメージバックアップ版とも言うべきarcserve UDPも「メークアップジョブ」が自動作成されるのだが、挙動が異なる。
 arcserveではメークアップジョブが作成されホールド状態(実行待ち)となるのみで、再実行は運用担当者が手動実行となっていたが、arcserve UDPは自動的に再実行される仕様なのだ。
 無論、これは設定で変更出来るのだが、自動再実行という思想は如何なものかと思うのだが...。

2019-03-19

 Windows Serverの重複排除とWindows Searchは併用できないというのは仕様だそうです。
 Windows Server 2012R2で併用不可だったのでWindows Server 2016でも機能修正されず、Windows Server 2019でも駄目の様です。
 こんな簡単な機能追加が出来ないあたり、Microsoftは何を考えているのか。

2019-03-17

 VMware vSphere 6.7のESXiからsnmp trapを上げるようにしたのだが、あまりにも大量のinfoが上がってくるので、その対応。

esxcliで送出レベルを設定する。
設定後snmpdを再起動すると反映される。

----
Usage: esxcli system snmp set [cmd options]

Description:
  set                   This command allows the user to set up ESX SNMP agent.

Cmd options:
  -a|--authentication=
                        Set default authentication protocol. Values: none,
                        MD5, SHA1
  -c|--communities=
                        Set up to ten communities each no more than 64
                        characters. Format is: community1[,community2,...]
                        (this overwrites previous settings)
  -e|--enable=    Start or stop SNMP service. Values: [yes|no,
                        true|false, 0|1]
  -E|--engineid=   Set SNMPv3 engine id. Must be at least 10 to 32
                        hexadecimal characters. 0x or 0X is stripped if found
                        as well as colons (:)
  -y|--hwsrc=      Where to source hardware events from IPMI sensors or
                        CIM Indications. One of: indications|sensors
  -s|--largestorage=
                        Support large storage for hrStorageAllocationUnits *
                        hrStorageSize. Values: [yes|no, true|false, 0|1].
                        Control how the agent reports
                        hrStorageAllocationUnits, hrStorageSize and
                        hrStorageUsed in hrStorageTable. Setting this
                        directive to 1 to support large storage with small
                        allocation units, the agent re-calculates these values
                        so they all fit Integer32 and hrStorageAllocationUnits
                        * hrStorageSize gives real size of the storage ( Note:
                        hrStorageAllocationUnits will not be real allocation
                        units if real hrStorageSize won't fit into Integer32
                        ). Setting this directive to 0 turns off this
                        calculation and the agent reports real
                        hrStorageAllocationUnits, but it might report wrong
                        hrStorageSize for large storage because the value
                        won't fit into Integer32.
  -l|--loglevel=   System Agent syslog logging level:
                        debug|info|warning|error
  -n|--notraps=    Comma separated list of trap oids for traps not to be
                        sent by agent. Use value 'reset' to clear setting
  -p|--port=      Set UDP port to poll snmp agent on. The default is
                        udp/161. May not use ports 32768 to 40959
  -x|--privacy=    Set default privacy protocol. Values: none, AES128
  -R|--remote-users=
                        Set up to five inform user ids. Format is: user/auth-
                        proto/-|auth-hash/priv-proto/-|priv-hash/engine-
                        id[,...] Where user is 32 chars max. auth-proto is
                        none|MD5|SHA1, priv-proto is none|AES. '-' indicates
                        no hash. engine-id is hex string '0x0-9a-f' up to 32
                        chars max.
  -r|--reset            Return agent configuration to factory defaults
  -C|--syscontact= System contact string as presented in sysContact.0. Up
                        to 255 characters
  -L|--syslocation=
                        System location string as presented in sysLocation.0.
                        Up to 255 characters.
  -t|--targets=    Set up to three targets to send SNMPv1 traps to.
                        Format is: ip-or-hostname[@port]/community[,...] The
                        default port is udp/162. (this overwrites previous
                        settings)
  -u|--users=      Set up to five local users. Format is: user/-|auth-
                        hash/-|priv-hash/model[,...] Where user is 32 chars
                        max. '-' indicates no hash. Model is one of
                        (none|auth|priv).
  -i|--v3targets=  Set up to three SNMPv3 notification targets. Format
                        is: ip-or-hostname[@port]/remote-user/security-
                        level/trap|inform[,...].

2019-02-28

 古のシステム(2005年頃の構築?)移行で若干の謎を発見。

 これはOracle 10gを利用した生産管理システムだが、データベースキャラセットをJA16SJISにしている。JA16SJISTILDEではない。各国語キャラセットはAL16UTF16なので普通である。

 通常はJA16SJISTILDEだと思っていたが、どの様に違うのかといろいろ見たところ、~の扱いが異なる。

 詳しいことはOracleの資料(pdf)が詳しいので、そちらを確認頂きたいのだが、生産管理ではチルド~記号をDBへ格納することはなさそうな気がするので、この設定でも問題は無いのかもしれない。

 一方、クライアントPCはWindows7以降が使われる様になったので、この辺りを読むと何となく一部の文字で問題が出そうな気がする。最も、生産管理なので「ホッケ」の漢字は入力しないから、まあ、良いのかも...。

 最初にJA16JISTILDEを選択していないのは当時のミスっぽいが...。

2019-02-19

 US ZOHO社製品のopManagerは日本国内では日本法人であるZOHO Japanが提供している。
 この日本法人サポート品質は控えめに言って最悪である。

 この製品以外にもベンダサポートは各社受けてきたが、ここまで良くないのは珍しい。

 レスポンスは非常に悪い、

 Webからの問い合わせをすると、「2営業日以内に回答します」とあるが、これは「2営業日以内に返信はする」という意味である。翌営業日に「(WebからのQAを)受信しました」という自動応答にしか思えない返信が来る。
 そして翌々営業日に「担当者がアサインされた」程度の進捗しかない。この時には真面なサポートはされない。WebのFAQがメールに返信されている程度であり、何らかのログを取得して欲しい、という依頼は大抵ない。

 単なる操作方法の質問であれば、この程度の時期に回答がある事もあるが、それらは大抵緊急度は低いので、余り有難みはない。

 困るのはここからである。

 先ずは単なる操作ミスではないという事を、こちらが立証する必要がある。一般的なベンダではログ送付依頼が返信され、ベンダが解析「単なる操作ミスですよ」または「~の障害なので」という進行になる。
 しかしこのベンダは一味違う。ログ取得の依頼は無く「操作ミスかも知れないから各種操作を再度確認しろ!」と回答してくる事がとても多い。
 そのため、最初に「ログ等をアップロードするサイト(これはベンダが用意しているのだが、言わないとURLを発行しない)を用意しろ。そこに操作した動画を送るから、操作ミスを否定するから」という様にこちらで操作ミスを否定してやらないと、先に進まない。
 そして、やっとログ解析をしてくれる。完全に操作ミスを否定しないとログ解析をしてくれないので要注意である。

 で、ログを送付しても、当日に簡単な確認もしない。受信したという返信も寄こさない。2営業日程して、「操作記録がログに残っていなかったので再度取得を」と依頼してくる。

  この様な牛歩戦術を取るために障害の解決は概ね1-2か月必要になる。製品品質がOSSのbeta or alphaみたいなノリなので、動かないものは徹底的に動かないのである。

 この製品はUS開発なので、開発元への問い合わせであればタイムラグがあるのは仕方がない。しかしながら一般的なベンダであれば、当日に何らかの連絡や進捗のための行動をするものである。この日本法人はその様な顧客満足度のための行動はしない。

 opManagerを導入するのであれば、必ず評価をして、それが動くことを確認してから購入するべきである。カタログ記載の簡単なことが出来なくても、それを有償サポートで解決できると思ってはいけない。製品のbugであれば、解決するのに2か月は必要と思った方が良い。

2019-02-15

 Windows版Oracle 12c 12.1.0.2.0をインストール、OEMをFirefoxでアクセスしたところ、login押し下げ後、ポップアップに以下のエラーが 。
 IEではlogin出来るのでブラウザ起因の様である。

---(追記 2019/2/20)---

 なぜかIEでログインしたたら、上部のメニューっぽい箇所は評されるが、その下のコンテンツは真っ白になるという事象が発生。どうもこの箇所はAdobe flashで生成している様なのだが、関連があるのか?(古いFlashを使っていると、この領域を表示させる時にFlash更新の警告が毎回表示される)

 Google chromeだとすべてのコンテンツは正常に表示される。

 筆者の様にお猿Oracle管理者もどきはalterほげほげと打つよりもOEMでパラメータを変更したいので、何とかOEMが使える様にしたいところ。




TypeError: Error #1034

Memory Log:
0     : AppContext(): params=null, bootStrap: true
15     : AppContext(): params=[object Object], bootStrap: false
15     : AppContext(): _locale=ja
46     : AppContext(): no active report(Object)#0
  caching = "2313579"
  em_express = "true"
  locale = "ja"
46     : AppContext(): _em_express=true _emx_caching_number=2313579 resourceDir=/em/resources
46     : AppContext(): localeChain is null, resourceDir=/em/resources
46     : NLSResources.setRootUrl(): rootUrl=/em/resources
46     : AppContext:createAppContext(): AppContext.execModeem
109     : NLSResources.initResource()
203     : EMAppicationScript - showPage() page.pageFeature=null, currentPage=null
578     : DBUrlNavigator:navigateToApp(): login/login
578     : pages length: 1
578     : page feature: login/login
578     : EMPageScript initiateRefresh() urlvariables:
578     : EMBaseViewScript refreshBaseModel()
593     : EMBaseController.refreshModel(): enter
593     : EMBaseController:refreshModel(): prevRefreshUrlVariables=
593     : doProcessLanguage(): enter
593     : NLSResources.getSelectedLocale(): locale=ja
593     : NLSResources.loadResource(): locale=ja currentLocale=en_US
609     : NLSResources.setResources(): selectedLocale=ja
609     : NLSResources.loadResource(): resourceUrl=/em/resources/Resources_ja_c2313579.swf
734     : NLSResources.completeHandler(): [ProgressEvent type="complete" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=0]
734     : NLSResources.applyCurrentLocale(): selectedLocale=ja currentLocale=en_US
734     : NLSResources.setResources(): selectedLocale=ja
750     : NLSResources.applyCurrentLocale() - done : selectedLocale=ja currentLocale=ja
750     : NLSResources.dispatchLocaleChanged(): locale=ja
750     : AppContext.onLocaleChanged(): locale changed
750     : EMAppicationScript - showPage() page.pageFeature=login/login, currentPage=emxLogin0.EMApplication6.viewStack.EMLandingPage11
750     : EMAppicationScript - showPage() currentPage.pageFeature=null
9641     : DBUrlLoader:loadInternal(): loading comp=Login rep=doLogin
9720     : DBUrlLoader.onComplete(): success (str=ok...)
9735     : DBUrlLoader.reportLoadComplete(): done loading
9735     : doLogin(): save token
9735     : saveToken(): saving the token
10095     : DBUrlLoader.reportLoadComplete(): notify failure in processFct
TypeError: Error #1034

2019-02-14

 久々にIris Keyboardのfirmwareを探したところ、QMKのサイトに見当たらず。
 色々探したところ、forkしている様だ。

 この辺、良く判っていないので事情をご存知の方教えてください。。

2019-02-04

久々に思い出したのでIBM DS8100のデータ復旧をしたという業者のサイトを調べてみたところ、2016年までは以下の様に宣伝していたという事が判明しました。

自己紹介

自分の写真
東京都, Japan
憂鬱な凍死家です。こちらではmixiとは異なり固めの話題中心です。

Total Page View

Categories

Powered by Blogger.

Popular Posts

Blog Archive