2020年9月23日水曜日

木村泉先生のこと

寡聞にして木村泉先生が昨年お亡くなりになっているのを存じ上げませんでした。一般にはあまり知られていないかもしれませんが、計算機科学界隈で大変有名な方です。たとえは、情報処理学会2011年度功績賞も受賞していらっしゃいます。もしかしたら、ワインバーグ氏の一連の著書の翻訳者として認識している方が多いかもしれません。

大学の時、先生が翻訳された「プログラム書法」を読んで、「そうかコードはこう書くのか」と思っていたら、授業では構造化どころか最適化コンパイラの動きも無視していて失望したものです。

追悼文を読んでいると、先生の最初の著書は3名の共同ペンネームで出版された「計算機科学の発想」だそうで、知りませんでした。
古い本ですが、とても面白い本で、実家から持ち出してきた数少ない書籍です。

木村先生は一度だけ情報処理学会の全国大会でお見かけしたことがあります。というより、座長の名前を知って先生を見に行ったようなものですが。

「FORTRANの可読性を上げるツール」の発表では、当時でも(1985年かな?)もう時代遅れになっていた(でもユーザーは相変わらず多い)言語のせいか質問もなく、木村先生が「そんなツールが出たらFORTRANの寿命がますます延びてみんな困るんじゃないでしょうか」と発言して場内を笑わせてました。

お亡くなりになって、もうすぐ1年だそうですが、改めてご冥福をお祈りいたします。

2020年1月4日土曜日

【書籍】ビクトリア女王は「新刊が出たら教えてくださいね」と言ったので、桜庭にいなさんにもやってもらった

トレノケ雲の会 mod.6「雲の下から(meet the author)」開催レポート で告知した通り、猫写真サークル「まぐにゃむフォト」として、「コミックマーケット(コミケ)97」にサークル参加してきました。ちなみに「技術書典8」は抽選漏れです。


meet the author「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築 第3版」 from Tetsuya Yokoyama

一番売れたのは新刊の「ふとんねこ」ですが、一番長い時間をかけて撮ったのが「COPYCAT」シリーズで、これもそこそも売れていきました。

コミケ前、「ふとんねこ」ができる前に、このCOPYCATを猫好きだというインディーズアイドル(地下アイドル)の桜庭にいなさんに差し上げました。そして、「新刊が出たら教えてくださいね」と言わせました。

「あ、新刊あります」と、わざとらしく渡したのが「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築


ひと目でわかるAzure基本から学ぶサーバー&ネットワーク構築第3版
(マイクロソフト関連書)

桜庭にいなさん、今はLinux系のSEとして働いていらっしゃるようで、ビクトリア女王が数学書をもらったよりはお役に立てるのではないかと思います。


【元ネタ】ジョークの解説をするのは野暮ですし、「トレノケ雲の会」のスライドにも入っているのですが、こちらにも書いておきます。

『不思議の国のアリス』を読んだビクトリア女王が「他の本も読みたい」とルイス・キャロルに言ったら『行列式初歩』という数学書が贈呈されたそうです。

ルイス・キャロルの本名はチャールズ・ドジソンで、立派な数学者です。

2019年12月16日月曜日

【Azure】要塞~RDPもSSHも使えないときは~

Microsoft Azureで仮想マシンを管理するには、RDP(Windowsの場合)またはSSH(Linuxの場合)による接続が必要です。

まれに、社内からはRDPもSSHも使えない会社があるようです。そういう会社でクラウドコンピューティングサービス、特にIaaSを勉強するののはほとんど無理だと思うのですが、皆さんどうなさっているのでしょう。

RDPやSSHが使えなくても、HTTPSは通す会社が多いようです。実は、HTTPSが使えれば多くの抜け道があるので何とかなります。RDPやSSHを禁止するのは「セキュリティ上の理由」と説明していただくことが多いのですが、HTTPSを通すのであれば、セキュリティ対策にはそれほど貢献していません。

もっとも、世の中にはアクセス先のIPリストを管理しているところもあるようで、それならセキュリティ上の意味はあります。もっとも、あまり厳しく制限すると今度はインターネットを使う意味がなくなると思いますが。

さて本題です。HTTPSを使ってAzureの仮想マシンにアクセスするのは以下の方法があります。他にも最低2つは思いついたので、皆さんも考えてみてください。

  1. ポイント対サイトVPN接続(P2S VPN)
  2. クラウドシェル上でのSSHコマンド
  3. 要塞ホスト(Bastion Host)


1. ポイント対サイトVPN

仮想ネットワークにVPNゲートウェイを立てて、SSTP接続を行います。SSTPはSSLベースのVPNであり、HTTPSを通すのであれば問題なくつながるはずです。

また、OpenVPNを使うこともできます。OpenVPNはポート番号を自由に設定できるので、HTTPSと同じポートを使ってファイアウォールの制限を回避できる可能性があります。

ポイント対サイトVPNの詳細は、教育コース「Microsoft AzureによるITインフラの拡張」で紹介しているほか、拙著「ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築第3版」でも解説しています。

基本的には管理者を想定しているため、クライアントPCの管理者権限が必要です。

なお、ゲートウェイを作成するには30分ほどかかります。


2. クラウドシェル

Azureの管理ポータルからLinux (Ubuntu) ベースのシェルを起動できます。このシェルからsshコマンドを使ってSSH接続を行います。ただしGUIは使えません。

その場で起動できるので便利ですが、RDPを使って接続することはできません。また、Windowsに接続したい場合は、Windows仮想マシン上でSSHサーバー(デーモン)を起動する必要があります。そのためには初期化時にPowerShellのコマンドを送る必要があり、少々面倒な作業が必要になります。


3. 要塞ホスト

最近正式公開(GA: Generally Available)になった方法で、単に「要塞」と呼ぶようです。英語ではBastion(バスチョン)です。

大ざっぱな手順は以下の通りです。

  1. 仮想マシンを作成
  2. 仮想マシンを配置した仮想ネットワークに、AzureBastionSubnetという名称のサブネットを作成(現在は、事前に作成しなくてもBastion作成時に追加可能)
  3. 要塞(bastion)を、AzureBastionSubnetサブネットを指定して新規作成
  4. 仮想マシンの[接続]から[要塞]を指定
    要塞ができていない場合は、その場で作成することもできます。
    ここでサブネットの作成もできるようになりました。サブネット名が指定されるのでクリップボードにコピーして貼り付けてください。

    要塞の作成には数分かかります。
  5. 要塞ができている場合、[接続]からWebブラウザのウィンドウ内でRDPまたはSSH接続が可能になります。

要塞の料金は、東日本の場合で1時間あたり21.28円プラス帯域使用料です。D2v2仮想マシンより少し安い程度ですね。

ただし「割り当て解除」のような、課金を中断する仕組みはないようです。サブネット名が固定されているなど、どちらかというとVPNゲートウェイに似ています。


おまけ: バスチーユ

ちなみに、bastion(要塞)に対応するフランス語がbastille(バスチーユ)です。

フランス革命勃発の舞台となったバスチーユ牢獄はもともと要塞だったのでそのまま「バスチーユ」と呼ばれるようになったそうです。

2019年10月26日土曜日

【Azure】Azureポータルのハブメニューが消えた?

ひと目でわかるAzure「基本から学ぶサーバー&ネットワーク構築」第3版が無事出版されました。

ひと目でわかるAzure基本から学ぶサーバー&ネットワーク構築第3版

前著から100ページ増加していますが、値段は200円アップにとどめています。

左から、初版、改訂新版、第三版です。第3版でだいぶ厚くなっていることが分かります。

クラシックモデルの内容をだいぶ削ったので、ここまで厚くなるとは思いませんでした。そもそも、そんなに加筆したつもりはないのですが。

例によって、校正中に機能が変わったり、画面が変わったりして、多少困ったこともあったんですが、大きな変化はなくてよかったと思います。

が、最近、Azureポータルの操作がちょっと変わりました。

左端のメニュー(ハブメニュー)がなくなりました。


3本ラインのハンバーガーボタン(本来は「引き出し」のアイコンらしい) を押すと出てきます。

従来のハブメニューは、正直ちょっと邪魔だったのでよく縮小してました。前著「改訂新版」でも、ハブメニューを縮小した画面ショットを多用しています。今回はきちんと表示しているのですが、これだったら隠しても良かったですね。


2019年8月2日金曜日

【Azure】Azureサイトリカバリーで可能な操作

「Microsoft Azureによる災害復旧手法」のテキストで、少しわかりにくいところがあったので補足します。

詳細は、マイクロソフトの公式情報「Hyper-V から Azure へのディザスター リカバリー アーキテクチャ」をご覧ください。


いつでも実行可能な操作

以下の作業はいつでも実行可能です。

  • 移行の完了…現在の状態を保存し、複製を正常に終了(フェールオーバー中の仮想マシンは残る)
  • レプリケーションの無効化…複製をなかったことにする(フェールオーバー中の仮想マシンは残る)


Hyper-V対Azure

Hyper-V対Azureの複製の場合、利用可能な操作は以下の通りです。

●平常時(Hyper-Vで実行)

  • 計画されたフェールオーバー
  • フェールオーバー
  • テストフェールオーバー

●テストフェールオーバー中(両方で実行)

  • テストフェールオーバーのクリーンアップ

●計画されたフェールオーバー(Azureでの実行に切り替え)

  • 復旧ポイントの変更
  • コミット(復旧ポイントの確定)

●計画されたフェールオーバー後のコミット後(Azureで実行中)

  • 計画されたフェールオーバー(つまりフェールバック)

●フェールバック中

  • コミット(フェールバックが確定するが、Azure上の複製に対して構成変更できないなどの制限がある)

●フェールバック中のコミット後

  • レプリケーションの反転(複製を含め、すべてが平常時の状態に戻る)

Azure対Azureの場合

オプション演習のAzure対Azureの複製の場合、利用可能な操作は以下の通りです。

●平常時

    • フェールオーバー
    • テストフェールオーバー

    ●テストフェールオーバー中

    • テストフェールオーバーのクリーンアップ

    ●フェールオーバー中

    • 復旧ポイントの変更
    • コミット→復旧ポイントの確定

    ●フェールオーバーからのコミット後

    • 再保護→反転した複製の開始→平常時へ移行

    Azure対Azureは、両サイトが対等の関係なので「フェールバック」という概念はないようです。


    【追記】

    フェールバック中、コミットした段階で複製は始まります。ただし、反転するまではフェールオーバーができません。フェールバック後の障害に備えるには、必ず反転する必要があります。

    2019年7月28日日曜日

    「クラウド市場シェアナンバーワン」に意味はない

    「AWSが世界のクラウドサービス市場で首位陥落、マイクロソフトが逆転」というニュースが入ってきて、正直ちょっとあわてました。

    AWSがクラウド業界のリーディングカンパニーであることは間違いなく、それを追うのがマイクロソフトという構図は変わっていません。また、市場シェアはAWSのざっと半分がAzureというのが一般的な見解です(調査会社によっては4倍程度まで開きます)。

    「AWS vs. マイクロソフト」つまり、SaaSを含む全クラウドの売り上げを集計すると、僅差でマイクロソフトが勝ったということです。逆にいうと、ほとんどSaaSを持たないAWSが、僅差で2位というのはいかにAWSが支持されているかの証拠でもあります。

    SaaS (Software as a Service) はクラウドの一種ではありますが、利用者の意識はちょっと違うように思いますし、IT技術者の意識もSaaSは区別して考える場合が多いようです。

    AWSは最近までSaaSには手を付けていませんでした。マイクロソフトはIaaSとPaaSをAzureとして提供していますが、SaaSは別ブランドです(たとえばOffice 365)。IBMも、IaaSのSoftLayer、PaaSのBluemixを統合しIBM Cloudとしましたが、SaaSは別ブランドです。

    SaaSを特別扱いするのは、それがビジネスと直結しているからです。電子メールやドキュメントツールくらいなら、会社による違いはそれほどありませんが、会計システムだと業界ごとの差は大きく、会社ごとの独自性もあります。

    マイクロソフトもAWSも、業務に直結したアプリケーションの提案は、ビジネスパートナーの仕事です。マイクロソフトはDynamics 365というERPクラウドを持っていますが、これはクラウドプロバイダーとしてはかなり珍しい存在です。

    ただ、近頃のSaaSはアプリケーションから利用するためのAPIが公開されており、実質的なPaaSとして利用できます。CRM(顧客管理)のSaaSで有名なSalesforceは、Salesforce CRMの動作基盤をPaaSとして利用できます。このように、SaaSとPaaSの区別はあまりなくなってきています。

    このように、SaaSは定義的はクラウドですし、実体としてもPaaSに寄ってきたので、名実共にクラウドの一種ではあります。

    それでも、現段階でSaaSをIaaSと同列に並べるのはちょっと抵抗を感じます。

    そういうことを感じながら、「AWS首位陥落」という表現はちょっと違うなあと思いながら書いた記事がこちらです。

    クラウド市場シェアナンバーワンはどこだ?~AWS vs. マイクロソフト~

    2019年7月27日土曜日

    英語版Windows Serverを日本語化する手順

    Azureなどのクラウドが提供する仮想マシンの多くは英語版のOSしか利用できません。AWSの場合は、Community AMIとして日本語化されたものも選べるようですが、Azureにはありません。Azureには、中国語版が最近追加されたので、日本語版も追加される可能性はゼロではありませんが、可能性は低いでしょう。

    そこで、以前「英語版Windows Server 2012 R2を日本語化する手順」というエントリを書きました。しかし、手順を紹介しただけで、画面ショットもありませんでした。

    Windows Server 2019で操作手順が変わったため、改めて画面ショットも付けて書き直しました。

    【図解】英語版Windowsの日本語化~画面ショット付き詳細手順~

    今度は会社の公式ブログに載せてもらいました。

    Windows Server 2019では[コントロールパネル]ではなく、[設定]を使います。Windows Server 2016では[コントロールパネル]と[設定]のどちらでも可能ですが、[設定]の手順がWindows Server 2016と微妙に違います。一方、コントロールパネルを使った手順はWindows Server 2012と同じなので、ブログではWindows Server 2019とWindows Server 2016以前の2つに分けています。