2019年7月1日月曜日

マイクロソフトMVPアワード受賞できませんでした

2003年4月から、連続して受賞してきた「Microsoft MVPアワード」ですが、今回は受賞できませんでした。

一昨年は書籍が2冊出たのですが、昨年は全くなかったことが要因かもしれません。現在、書籍執筆が2冊進行中なんですが、ちょっと残念です。

2019年6月26日水曜日

【Azure】マネージドディスクとイメージ、仮想マシンの課金

一般にクラウドコンピューティングサービスでは「使った分だけ課金」が基本ですが、何をもって「使ったか」というのはなかなか難しい問題です。


ストレージアカウントの場合(ページBLOB=非マネージドディスクを含む)

Azureのストレージは、Standard ページBLOBを使った仮想ディスクだけが「実際に使った分量に対してGB単価で課金」で、その他のストレージは「割り当てた分量に対して課金」です。

Standard ページBLOB以外のストレージは、いくつかの容量が事前に用意されており、それを選ぶ「カタログ方式」となっています。実際には1GB単位で指定できるのですが、課金はカタログ単位の切り上げになります。たとえば128GBの次は256GBなので、129GBを割り当てると256GBの課金が発生します。

請求は1ヶ月単位のサイクルで行なわれますが、ストレージの使用が1ヶ月に満たない場合は毎日の平均(日割り計算)となります。

Azure Storage を月に数日間のみ使用した場合、料金は日割りされますか?

はい。ストレージ容量は、1 か月にわたり、保存されていたデータ量の 1 日あたりの平均 (GB 単位) を基準に請求されます。たとえば、月の前半は 10 GB のストレージを常に使用し、後半は使用しなかった場合は、ストレージの平均使用量の 5 GB が課金されます。

(ストレージのFQAより)

課金は1日のピークで行なわれるので、図の例で6月15日にゼロにするためには、6月14日中に削除しておく必要があります。

マネージドディスクの場合

ただし、マネージドディスク(管理ディスク)の場合はStandard HDDを含むすべての種類が割り当て単位で課金されます。また、カタログにある容量を超えた場合は課金が切り上げられます。

ストレージアカウントと同様、請求は1ヶ月単位のサイクルで行なわれますが、マネージドディスクの使用が1ヶ月に満たない場合は1時間単位の課金となります。

以下に示す料金が月額になります。管理ディスクを 1 か月未満使用した場合はどのように課金されますか。

料金は月額を使用して、時間単位で計算されます。たとえば、P15 の Premium SSD は ¥4,896.720 になります (リージョンによって料金が異なります)。10 月は、¥4,896.720/(31 日 x 24 時間) = ¥6.582/時間で課金されます。

(マネージドディスクのFQAより)


仮想マシンイメージの課金

マネージドディスクから仮想マシンイメージを作った場合、「スナップショット」と同等の料金がかかります。「無料」と書いてある記事もあるようですが、課金されることはサポートに問い合わせたので間違いありません。

しかし、実際に課金状況を調べてみると、はるかに小さな金額しか請求されていません。「課金サポートではこれ以上のことは分かりかねるので、有償の技術サポートに連絡して欲しい」と言われました。詳細が分かったら報告します。


仮想マシンの課金

Azureの仮想マシンは、分単位課金です。仮想マシンが実行状態になってから課金がスタートして、最初の1分は無条件に1分が課金されます。

その後、1分59秒までは追加の課金がなく、2分になってから次の1分の課金が行なわれます。

AzureのWebサイトには「秒単位課金」という言葉や「時間課金」という言葉が混じっていて混乱していますが、ブログ執筆時点で分単位で課金されることは間違いありません。

「秒単位課金」は「秒単位計測」の意味のようです。1分59秒までが1分、2分ちょうどから次の1分と、正しく認識するには秒単位の計測が必要です。

「時間赤金」は課金明細の記載単位だそうです。確かに、利用明細には「0.92 1時間」のように、1時間単位で記載されています。

ちょっと紛らわしいですね。

なお、後損仁通り、仮想マシンの課金は単なるシャットダウンでは停止せず、「割り当て解除」状態に移行しないと課金が継続します。ハードウェアの割り当てをしている以上は「使っている」とみなすわけですが、これも直感に反します。理屈が分かれば不思議ではないのですが。

2019年6月21日金曜日

【Azure】Azureの仮想マシンにドメインコントローラーを構成する

Microsoft Azureの仮想マシンにドメインコントローラーを構成する場合、以下の注意が必要です。

  • データベースはCドライブに置かない
  • 仮想ネットワークのDNSサーバーアドレスをドメインコントローラーのものに変更する

AzureのシステムディスクにはRead/Writeキャッシュが設定されていて、不慮の事態によるデータロスがあり得ます。SLAでは稼働率99.9%とか99.95%となっていても、落ちるときは落ちます。

ドメインコントローラー昇格時は、ディレクトリデータベースを配置したディスクドライブのキャッシュを無効にするため、データロスの問題は発生しませんが、パフォーマンス劣化の問題があり、いずれにしてもCドライブににディレクトリデータベースを配置するのは好ましくありません。

と思っていたんですが、Azureキャッシュは無効にできないようです。つまり「データベースはCドライブに置かない」という結論は同じですが、その理由は「予期せぬ停止により、データロスが発生する可能性があるから」ということになります。

このあたりの話は、以下のコースで扱っています。

Microsoft Azureによるサイト間ネットワークの構築 ~ハイブリッドクラウド構成の基礎~

Linuxのお客様も増えてきたので、カリキュラムの変更も考えているのですが、当分の間Windows Serverの話をしています。ただし、最後の1時間くらいです。

2019年6月9日日曜日

AzureとAWSの可用性ゾーン(AZ)

Microsoft Azureの「可用性ゾーン(AZ)」が東日本で利用できるようになっています。西日本はもう少しかかりそうですが、いずれは利用できるようになるそうです。

AzureのAZは、リージョンあたり3つと決まっています。AWSは「2つ以上」だったでしょうか。

Azureのリージョン間は数百Km以上離れているので非常に安全ですが、少々距離が遠すぎます。一方、AZ間の距離は(同一リージョン内の)数十Kmと、かなり短くなっています(AWSと同程度です)。阪神大震災でも40Kmも離れればほとんど影響はありませんでしたから、実用上はAZで十分でしょう。

従来の可用性セット(AS)は、最短でサーバーラックが分離されるだけですから、大規模災害に対しては少々不安が残ります。災害リスクを考えるとAZが必要でしょう。また、日本に関しては、可用性セットで分離できる障害ドメイン(サーバーラック)は2つですから、障害範囲に関しても現時点ではAZの方が有利なようです。

ただし、AZは仮想マシンを作るときにゾーンを明示的に指定する必要があります。それに対してASは「とりあえず同じASにする」という設定で、適当に分散してくれます。何も考えなくてもいいので、ASの方が設定は楽です。

以上のことから、災害対策を想定する場合はAZ、ハードウェア障害を想定する場合はASと使い分けるのがいいようです。なお、Azureでは災害対策にはASR(Azureサイトリカバリ)も利用できます(ASRはリージョン間の複製です)。ASRを使っているならAZを使う必要はないでしょう。

また、「AzureのAZはAWSのAZと同じ」という説明がされていますが(私もしています)、実際には違いもあります。

AWSでは、AZ単位でサブネットを分割する必要があります。これに対して、Azureでは同一サブネット内に異なるAZのサーバーを配置できます。

もっとも、AZが違えばデータ伝送遅延時間が違うので、異なるAZを同じサブネットにするのが適切かどうかは分かりません。AWSと同じように、異なるAZは異なるサブネットにした方が分かりやすいのではないでしょうか。

試しに、複数のAZに複数のサブネットを構成してpingを実行してみました。Windowsのpingは応答時間の分解能が低いのでLinux(Ubuntu)を使っています。

図のように、AZ内では1ミリ秒程度、AZ間では2ミリ秒程度の遅延がありました。サブネットの有無は速度に影響しません。これもAWSと同様のようです。

アプリケーションにとっては1ミリ秒と2ミリ秒の違いが重要な場合もあるので、サブネットを自分で分けた方が分かりやすそうです。

2019年5月4日土曜日

Azure管理用PowerShellモジュール「AzureRM」の削除手順

Microsoft Azureの展開モデルには「クラシックモデル(別名サービスマネージャー)」と、「リソースマネージャー」があります。

PowerShellから管理する場合、クラシックモデルはAzureモジュールを、リソースマネージャーはAzureRmモジュールを使っていました。

Azureモジュールのコマンドレット(PowerShellのコマンド)は「動詞-Azure名詞」の形式で、たとえばGet-AzureVMのようになります。

AzureRmモジュールのコマンドは「動詞-AzureRm名詞」の形式で、たとえばGet-AzureRmVMのようになります。

よく使うリソースマネージャーの方がコマンド名が長くなっているのは、リソースマネージャーがあとから登場したためです。

昨年から提供されているのは、AzureRmモジュールに変わるAzモジュールです。こちらは「Get-AzVM」のようにAzを識別子として使うため、コマンドレットが少し短くなっています。

しかし、これにより2つの問題が発生しました。

  • 既存のスクリプトが動かなくなる
  • AzモジュールがAzureRmモジュールと共存できない

以下が解決方法です。


【既存のスクリプトが動かなくなる】

コマンドレットの名前が変わると既存のスクリプトが動作しなくなります。そこで、Enable-AzureRmAliasというコマンドレットが用意されました。このコマンドレットを実行することで、AzureRmモジュールのコマンドレットがAzモジュールのコマンドレットの別名として利用できます。


【AzモジュールがAzureRmモジュールと共存できない】

PowerShellのAzureRmモジュールが残っている場合は、Azモジュールのインストール前にAzureRmモジュールをアンインストールしてください。Azureモジュールはそのままで構いません。

詳しい手順は以下を参照してください。

Azure PowerShell モジュールのアンインストール

私の環境では、それでもいくつかのサブモジュールが残ってしまいました。そこで、以下のコマンドを実行しました(全体で1行です)。

Get-Command *az* | where module -Like "azurerm*" | Sort-Object -Unique module | ForEach-Object {Uninstall-Module $_.module}

きちんとデバッグしていないので、利用する場合は十分テストしてからにしてください。

2019年4月16日火曜日

Living Computer Museum(その7) ~ストレージ編~最終回

Living Computer Museumの紹介も第7回。最終回はストレージの紹介です。

最古のストレージが「ホレリスカード」、何しろコンピューターより古くからあります。統計処理に使われたようですね。当時の1ドル札とほぼ同じで、紙幣運搬用の箱に入れて保管したそうです。

ちなみに、1枚80文字です。Living Computer Museumでは実際にパンチしたカードを持って帰ることができました。

ホレリスカード(パンチカード)

コアメモリモジュール。ミニコンピューターでは広く使われたようです。ドーナツ型のフェライトコアに3本の線を通したものを、網戸のようなモジュールにまとめています。

メモリ(磁気)の保持に電源を必要としないため、ノートPCのハイバネート的な使い方もできたそうです。

コアメモリモジュール(32KBくらいでしょうかねえ)

網戸的な部分をアップで撮影。

コアメモリのアップ(網戸みたい)

コアだけの展示もありました。

コアメモリのコア

寄ってみると、ドーナツ状の形が分かります。

コアメモリのコア(拡大)

コンピュータの故障コーナーもあって、クラッシュしたディスクが展示してありました。

クラッシュした磁気ディスク

こちらは旧式のディスク。円盤は数枚あるのに全部で200MBしかありません。おそらく1980年代のものでしょう。

磁気ディスクパック(200MB)

磁気ディスクの原型となった磁気ドラム。今でもアイコンに使われています。

磁気ドラム(今のディスクのアイコンはこれ)

磁気ドラムのアップ。

磁気ドラム

70年代特撮ドラマでおなじみ(?)磁気テープ。ここにあったのはDEC TU78で、私も使いました。「私も使った」というと、学芸員の人が驚いてました(笑)。

DEC TU78磁気テープ

Living Computer Museumの話は以上です。

実際に動くのが面白くて、4時間くらいいたように思います。お土産にCray-1のペーパーモデルを買ってきました。組み立てたらまた紹介したいと思います。

2019年4月14日日曜日

Living Computer Museum(その6) ~PC編~

現在のPCは、日本の電卓ベンダーだった「ビジコン」社が、当時の新進企業インテルにLSIを発注したことからスタートします。

この頃、日本ではシャープとカシオによる電卓開発競争が激化しており、小型化や薄型化とともに機能拡張も盛んに行われていました。

両社に対抗するため、ビジコン社では「簡単に機能を追加・変更できる電卓用IC」を求めていました。これがコンピュータであることを見抜いたインテルのエンジニアは、ビジコン社の社員だった嶋正利氏とともにCPUを設計します。このあたりの経緯は「マイクロコンピュータの誕生――わが青春の4004」に詳しく記載されています(ただし、嶋正利氏の視点であることには注意してください)。

4004は電卓用だったため、4ビット単位で演算を行う「4ビットCPU」でした。4ビットあれば10進1桁を表現できたからです。

後に8ビットCPU「8008」が開発されましたが、ハードウェア的に少々扱いにくかったため、8080を開発します。「40ピンのワンチップLSIでCPUが入手できる」ということで話題になりました。ピン間隔は約2.5mmです。

インテル8080マイクロプロセッサ

当時、半導体は同じ仕様の製品が複数社から提供されるのが普通でした。2社目以降を「セカンドソース」と呼びます。CPUも例外ではなく、セカンドソースとしてNECなどが8080互換CPUを製造していました。

1社独占になるのは16ビットCPUから32ビット化が進んだ頃だと思います。

モトローラMC6800トレーニングキット

インテルに続いて、モトローラもCPU製造を開始します。8080は電卓用途からスタートしたため、汎用のコンピューターとしては機能不足や、アーキテクチャ的に「美しくない」点が感じられました。この問題は、今のXeonになってもいまだに言われます。私、最新の命令セットを知らないので、本当かどうかは判断できないんですが。

後発のモトローラ社は、通信機や半導体製造の大手企業であり、最初からコンピューターとして設計したMC6800を投入します。DEC PDP-11を参考にしたとされるCPUは、小型ながら豊富なアドレッシングモードと、ある程度直交した命令体系を持ち、多くの人に支持されます。

ただし、CPUは小さくてもコンピューターにはソフトウェアが必要です。そこで、エンジニアがソフトウェアを作成し、実際の動作をテストできるような最小構成のキットが発売されました。いわゆる「トレーニングキット」です。

展示してあったのは、モトローラMC6800のトレーニングキットです。

なお、日本ではNECが8080互換CPUを使った「TK-80」を発売し、当時としては爆発的に売れました。買ったのはエンジニアだけではなく、ホビイストも多かったようです。

ALTAIR 8800 (キット)

Altair 8800は、インテル8080を使ったコンピュータキットです。トレーニングキットとは異なり、純粋にホビー用途でした。

Altair 8800にはソフトウェアが全くなかったため、ビル・ゲイツとポール・アレンがAltairの製造元であるMITS社に「BASICインタプリタ」を売り込むことに成功します。マイクロソフトの創業がシアトルではなく、アルバカーキなのはMITS社がアルバカーキにあったためです。

IMSAI 8080 (ALTAIR 8800互換品)

Altairのハードウェアには少々雑なところがあり、製作者は苦労していたようです。製作代行業者もいたと聞きます。

IMSAI 8080はAltair 8800と完全互換のコンピューターで、より洗練したハードウェアを持っていました。

テレタイプ社のテレタイプ

AltairやIMSAIの入出力装置として使用されたのが「テレタイプ」です。テレタイプは、タイプライターから入力した文字を遠隔地で印字する装置で、テレタイプ社の商標です。企業でも、コンピューターのキー入力装置としても広く使われました。

特に人気のあったのがASR-33という機種ですが、機械式タイプライターに似た機構は、打鍵がうるさく一般家庭で使えるようなものではなかったそうです。

コモドールPET 2001の後継と思われる

インテル8080やモトローラMC6800は180ドルくらいだったそうです。1975年当時は1ドル300円程度ですから、5万4000円程度になります。さすがにちょっと高いので、完成品としてのコンピューターはかなり高価になります。ちなみに現在のインテル Core i5の小売価格は2万円くらいです。

そこに登場したのがモステクノロジー社の6502です。これは、モトローラのMC6800開発チームがスピンアウトして作ったCPUで、シンプルながら洗練されたアーキテクチャを持っていました。

6502はわずか25ドル(7500円)で入手できたため、ホビイストたちの興味をひきました。こうして生まれたのがApple IIであり、コモドール社のPET 2001です。

写真はPETの文字はありますが、キーボードがオリジナルPET 2001と違います。改良モデルなのでしょう。PET 2001はApple IIよりもソフトウェア性能やハードウェア機能面で劣っていたようですが、安価なためよく売れました。

任天堂ファミリーコンピュータ(ファミコン)も6502互換CPUを使っています。

TRS-80

タンディラジオシャック(TRS)が発売したTRS-80は、Apple IIやPET 2001と同様、買ってすぐ使える完全なコンピューターで、BASICインタープリタを内蔵していました。また、本体とキーボードが一体で、ディスプレイを外付けするようになっていました。

写真のTRSはフロッピーディスクが付いているので、後期モデルと思われます。初期モデルは、外部記憶装置としてオーディオカセットテープを使っていたはずですし、ディスプレイも分離型でした。

TRS-80は、Apple IIよりも落ち着いたデザインで、ビジネス用途に広く使われたように思います。

クロメンコ(Cromemco)社のPC

クロメンコも、IMSAIと同様、Altair互換機ですが、使っている人はあまり見ませんでしたが、世界的にはかなり売れたはずです。写真のような一体型PCを出しているのは知りませんでした。おそらくTRS-80の少し前だと思います。

IBM PC

満を持してIBM PCが登場です。型番はIBM 5150、名称はthe IBM Personal Computerだそうです。「IBMらしい名前だ」と月刊アスキー誌に出ていたのを覚えています。

先に紹介した「Welcome IBM. Seriously」というアップル社の広告は、このIBM PC登場直前の出来事です。

Compaq Portable

IBMは、サードパーティの参入を容易にするためシステム情報を積極的に公開しました(過去のIBMには絶対なかったことです)。しかし、IBMの予想に反して、本体の互換機が出てしまいます。Compaqもその1つで、本家よりも高速で高機能なPCを発売します。

Compaqポータブルは、世界初の「持ち運べる(ポータブル)PC」です。

IBM PC/AT

互換機に懲りたIBMは、新機種PC/AT以降、PC情報に対してライセンス契約を要求するようになりました。これに対抗して、PC互換機ベンダーは協同で別規格を立ち上げます。

最終的にIBMが実質的に折れることになり「IBMがIBM互換機を作る」などと報道されてしまいました。

さまざまなPDA

各種PDAも展示されていましたが、このあたりは新しすぎるせいか、単に並べてあるだけでした。