OFFICE風太郎

日本のエンジニア、風太郎です。問題解決が飯のタネです。仕事や生活で問題解決を活用したり、問題解決の基礎となる統計とかデータ分析の話をしていきます

50代後半からのIT技術者への転身 クラウドのセキュリティについて

営業さんが言っていない3つの良くないことと良いこと

 またもセキュリティの話です。サーバーとクラウドの区別が付かない人もいます。昔レンタルサーバーを借りた人はメールサーバーが用意されていたり、その後はWordPressとか使えるようにいくつかのサービスが容易されていました。 クラウドって、もっと色々なサービスが展開されていて、それを組合わせることにより実現するんですよね。

私的クラウドの定義

 昔の人は自作というのをよくやっていました。「ラジオの製作」とか「初歩のラジオ」とかいう雑誌があって、ラジオ等の回路図や色々な電子機器の回路図、製作記事が載っていました。今考えるとそんなにラジオ作ってどうするの?という気がします。
 パソコンもそうでした。パソコンと呼ばれるより前の世代、マイクロプロセッサが効果だった時代には「CPUをICでつくる」「メモリを編む」(要注記)なんて言うこともあったそうです。やがてマイクロプロセッサが発売されると次の様な自作になってきました。

自分で回路図を作成して、半田付けやワイヤラッピングで作っていく。それがIBM互換機の時代を迎えて、ボードを組み合わせて自作するようになってきました。
 クラウドサービスっていうのは各種サービスを組み合わせて、自分のやりたいことを実現させるシステムだという風に考えます。個々の信頼されたパーツがあるから高性能で機能を実現できる。これは自作コンピュータが変化したのと似ていないこともないです。

  • ICを使ってCPUから自作していく
  • マイクロプロセッサを使って、周辺回路込みで設計して自作する
  • 作られたボード類を組み合わせて自作していく

 クラウド環境の魅力は各種パーツ(マネージドサービス)をうまく組み合わせて実現することに本領があると考えました。その点がレンタルサーバーとの大きな違いです。

セールスが言わないクラウドの大変なところ

構築が大変である。

 セールスは「すぐインスタンスが作れる」「ハードを導入するよりも期間が短い」という風にいっています。しかし、言ってくれない大変な事があり、これがクラウドサービスを構築する方と依頼する方で大きなギャップがあると感じます。
 新しいサービスを複数のパーツで構成します。一つ一つのブロックの機能はしっかりしていてもそれを組み合わせて何らかの機能を満足に動作させることは大変なことです。これはパーツを組み合わせてラジオやコンピュータを作る様なモノです。PCの自作はほぼ機能は決まっています。(WinやLinuxが動く)しかし、クラウドサービスを使った新しいモノはどうしたらいいか?設計していくことが必要なため、当然時間がかかります。

意外と高価

 マネージドサービスはそのサービスが動いたり、セキュリティホールを塞ぐなどの作業を行ってくれます。そして、簡単な設定でバックアップも取ってくれます。こういったことを自分たちで維持するのは大変です。しかしながら、それなりの料金がかかります。自分たちで行うより、工賃を考えるとずっと安くつくのですが、「今ある人はタダ」と思うような経営者や管理者がいると、「そんなの使わずにオンプレ(やEC2)でやれ」なんて言うこともあるでしょう。そうしてセキュリティなどが担保されず、いざというときに大騒ぎがおきます。その事を考えると高くはないのですが、どうしても値段に目が行ってしまいます。

セキュリティを確保するのは大変

 クラウドは米政府のデータを任されるほどセキュリティは高いと称しています。前の記事でも書きました。しかしそれにはいくつかの理由があります。 * 政府専用のリージョンがある * 個々のセキュリティサービスは正しくとも上記の様に自分で設定する必要があるため、そこをただしく出来ているという前提 * 自社側にセキュリティをしっかりしていないとそこから侵入される。  といったことです。AWSには「責任共有モデル」というのがあります。これは言い方が正しくないと思っています。正確には「責任分担モデル」でしょう。ユーザがやるべき事をやらないとしっかりした金庫の裏がベニア板だとか、一個鍵開ければ全部のドアが開いてしまうなどという可能性もあります。セキュリティ設定も標準のままだと”*”になったりしています。これは”なんでも”という意味なので、しっかりと対象のサービスを記述する必要があるでしょう。
 そういった技術力がないとセキュリティガバガバです。

セールスがあまり言わない良いところ

 本当なら良いことは言うはずですが、「縁起でもない」ような事を言うわけには行かなくてあまり宣伝していません。取引先の不幸や社員の不正行為を疑うような事は言わないのです。

天災に強い

 大企業でも複数の補完し合うデータセンターを持っているところはまずないでしょう。そこが天災の直撃受けたとしたら大変です。データは別の場所に合ったとしてもサーバーの調達から行わないといけません。
 クラウドで複数の国内リージョンとアベイラビリティゾーンを使いながら、バックアップを海外にあったとしたらどうでしょう?
 日本、米国、欧州の複数リージョンでいざというときに補える様にしておけば、人類が絶滅するかどうかの災害レベルでない限り対応できるでしょう。
 以前AWSの東京リージョンが止まったことあります。その時の考えはこちらに書きました。これは天災ではありませんが、ゲームは止まったりしましたが、金融やその他色々なシステムは動作していました。そのときはAWSの問題でとまりました。とはいえこの事から考えると、東京リージョンが壊滅するような天災があったとしても回復できるようにすることも可能です。

オンプレは人的物理攻撃の対策をしていない

 オンプレの警備状態はどうでしょうか?暴力的な破壊行為に対して守れるでしょうか?クラウドがどうしているかは存じ上げていませんが、欧州の警備会社は日本からは考えられないような武装をしているそうです。AWSなどは「場所自体を秘密にする」ということでもセキュリティを担保しています。特定の企業のマシンがどこにあるかわからないので物理的に破壊しようとするととんでもない事になります。「会社に恨みが募ってデータセンターを破壊した」なんていう行為が出てくるかもしれません。被害が甚大な割には罪は軽いです。

50代後半からのIT技術者への転身 クラウドのセキュリティについて

マネージドサービスというセキュリティ

報われない社内シスオペ

一部の人に大変大受けしている小説がコレである。

 どこの会社も「収益」を出している事業がある。ITはそれを支える基盤であるが、「コスト」のかかるものである。
 そのため、どうしても安く上げようとしている。人数やコストを抑えられることになる。
 その対策として、ワンオペ(またはごく少人数)でとにかく”早くやる”ことを重視する。結果として動くのだが、メンテナンス性の悪いものが出来上がったりする。品質とかと同じで報われない作業をコツコツするのがシステム管理でも必要だと考えている。
 品質管理についてはアニメゴブリンスレイヤーを題材に述べたこともあった。(生まれ変わっっても品管だけは嫌だ・・とかいうネット小説もある).  とはいえ、現実として”すぐには影響しない”業務を落としていくしかない。その一つが、使っているソフトのバージョンアップである。

ソフトのバージョンアップはするな?

 OSなどソフトのバージョンアップはするなという意見もある。正直なところ、「その時々」で決めればいいと考えている。バージョンアップすると動かないソフトが出ることもあると言われると、躊躇せざるおえない。反面「脆弱性」対策ということであれば直ちにバージョンアップすべきであると考える。 とある病院の電子カルテがロックされて脅迫された件でも、使っているソフトの脆弱性を対策したソフトのバージョンアップを怠ったところを攻撃されたということだったと報道されている。
 脆弱性がないソフトというのはありえないと考えている。しかし、それが誰も知らなかったら攻撃されることはない、多くの人が知れば攻撃される可能性は飛躍的に上がる。そのため、社内のシステムは全て注意を払う必要がある。しかし、コレはなかなか大変である。
 システムであまり推奨されないようなトリッキーな使い方などしていると、バージョンアップによって動かなくなる。そして、それはバージョンアップした担当の責任となってしまう。
 私ならば正直言ってサボりたい業務だ。やって当たり前、失敗して怒られるっていう仕事は避けたい人が多いだろう。

クラウドのマネージドサービスという魅力

 AWSには「責任共有モデル」というものがある。名前と実態が全然あってないこれは責任分割モデルと言えばいいだろう。AWS責任共有モデルの図のようにきっちりと責任を分けている。フルマネージドサービスはソフトのバージョンもきっちり見てくれている。
 そのため、セキュリティホールが見つかっても即座に対応してくれるというメリットがある。セキュリティというのはコストがかかるが、すぐにダメージが出てこない。こう言ったところをしっかりと面倒見てくれるのもクラウドの魅力なんだろう。

50代後半からのIT技術者への転身

夢は叶うことがあるときもある

 最近ふと思い出したのが小学校の時の将来なりたい職業と、中学校の時の将来なりたい職業のこと。
小学校の時ー技術者になりたい:こいつは達成した
中学校の時ーコンピュータエンジニアになりたい:これをいよいよ達成するときがきた。
ということらしい。

クラウド(仮想コンピュータをつないで行くこと)で楽になること

 一応上記の様な願望があったから、大学はコンピュータを専攻した。といっても今のPCに関する程度の知識である。
 いまとは全然違うものだった。そのときに難しいのはマルチタスクやスレッドのコントロールであると言われた。難しいから手を出すべきではないということだ。  例えばデータベースの更新をしているときに別の人は検索をしている。他の人はデータベースからの出力を元に表示されたものを見ている。これを一つずつ処理してはいけない。
 このマルチタスクやスレッドをコントロールするのは至難の業だった。そのため、自分でシステムを作らざる得なかったときはPCの数を増やしてネットワークでつないだりしていた。
 これは仮想的にクラウドで実現できる。

楽になったとはいえ

 それは簡単ではない、疎結合やら、なんやら訳のわからない言葉がいっぱい出てくる。こららを理解してちゃんと使いこなして行かないとまともなクラウドサービスを提供することができない。
 昔よりも楽になったが、簡単ではないし、楽になった分を機能向上に充てているので複雑さも増している。そういうのがわかってきた昨今である。

翻訳 科学的管理法の原則 by テイラー その1

なぜ翻訳したか?

 世の中にはトヨタ生産方式(なんちゃって含め)XX生産方式というのがある。しかし、小手先だけの「浅い経験値」だけのモノも多く見られる。 そういう人とは話が合わなくて、「なぜそうなったか?」という話をしたいときがある。
 まずは、著作権の切れた上記書籍の翻訳をコツコツとやっているのでここで流してみようと思う。元々はプロジェクトグーテンベルグのものである。これについては別途説明する。  また翻訳についてはDeepLで翻訳したモノをチェックして修正した。 では以下に翻訳を記述する。

科学的管理法

The Principles of Scientific Management by FREDERICK WINSLOW TAYLOR, M.E., Sc.D. 1911

前書き

ルーズベルト大統領は、ホワイトハウスの知事に向けての講演で 「天然資源の効率的な活用は国家の効率というより大きな問題へのたった一つの前提だ」   と述べています。

 国全体が我々の資源を保護することの重要性を一斉に認識しました。そして、大規模な運動が開始されました。しかしまだ、ぼんやりと”効率を高めるにはどうしたらいい?”という段階でした。

 森林が消え、水力が無駄になり、洪水によって土壌は海に運ばれます。そして石炭と鉄が尽きていくのが見えています。にもかかわらず、努力を超える消費が毎日に行われています。不手際があり、方向性はありません。ルーズベルト大統領の言う”国家の効率”というモノは漠然として、計測もできず、目に見えない状況です。

 これまでは人間が第一でしたが、これからはシステムが第一でなければなりません。(訳注:意味としては、”これまでは各個人に任せっきりでした”という表現の方が意味が通る)しかし、このことは、偉大な人間が必要ないということを意味するものではありません。  それどころか、優れたシステムの第一の目的は、一流の人間を育てることでなければならない。  そして、システム化された管理の下では、最高の人間がこれまで以上に確実かつ迅速にトップに上り詰めるのである。 これまでは人間が第一でしたが、これからはシステムが第一でなければなりません。しかし、このことは、卓越した人間が不要という意味ではありません。それどころか、優れたシステムの第一の目的は、一流の人間を育成することでなければならないのです。そして、システム化された管理の下では、最高の人間がこれまで以上に確実かつ迅速にトップに登りつめます。

 本書ではでは次の様に述べます。

 はじめに、一連の簡単な図解を通して、国中の人々が苦しんでいる大きな損失を指摘します。  一連の簡単な図解を通して、私たちの日常生活のほとんどすべての行為における非効率性によって、国全体が被っている大きな損失を指摘するためです。

 次に。この効率の悪さを改善するには組織的な管理が必要です。そのことを読者に理解してもらうためにこの非効率性の解決策は、非凡な人物を探すのではなく、体系的な管理にあることを読者に納得してもらいます。

 三番目に 最良の経営とは、真の科学であり、明確に定義された法律、規則、原則を基礎として成り立つものであることを証明すること。さらに、科学的管理の基本原則は、最も単純な個人の行為から、最も精巧な協力を必要とする大企業の仕事まで、あらゆる種類の人間の活動に適用できることを示すこと。そして最後に、一連の図解を通して、これらの原則が正しく適用されたときには、真に驚くべき結果がもたらされることを読者に確信してもらいます。   本書は、もともとアメリカ機械学会に提出するために作成されたものである。選んだ事例は、特にエンジニアや工業・製造業の管理者にアピールできるものである。 また、これらの施設で働くすべての男性にも同様にアピールできるものであると信じている。  それだけではなく、同じ原則が、家庭、農場の管理、大小の商人のビジネスの管理、教会、慈善団体、大学、政府機関など、あらゆる社会活動に等しく適用できることが、他の読者にも明らかになることを望みます。

訳者注記

  • 原文” national efficiency”に相当する訳はないようです。そのため、”社会の効率”と翻訳しました。Nationalを社会と訳するところは、品質工学(タグチメソッド)の影響です。社会の損失というのがタグチメソッドの大事なキーワードです。
  • Managementという所の訳が非常に難しいです。一般的なな管理とはことなります。動詞として使うとManage toで うまくやるという意味になります。この点を考慮してマネジメントという言葉の意味を考えるといいかと思います。

訳者コメント

 これらの考え方は後のトヨタ生産方式や品質工学、TOC(制約理論)やドラッガー氏の言葉と通じるモノがあります。

50代後半からのIT技術者への転身

今更ながらのクラウドとサーバーの違い

 会社から時間をもらっているのでこの機会にしっかり「クラウドとはなにか?」を学んでいる。
 未だ一部の人には「クラウドとサーバ」の区別が出来ていない。”やれやれダゼ”と思うが、説明できるほどの知識があるとは言えなかった。
 そこで今勉強している範囲で書き記してみた。

クラウドの特徴その1 機能別に仮想コンピュータを立てる

 大昔にレンタルサーバーというがはやった。クラウドも初期はLinuxのOSを走らせるまでに長い儀式があった。
 クラウドはそれが簡単にできる。だけでなくて、機能別に仮想コンピュータを立てている。
 例えば、データベース、ストレージ、分析環境、etc
 これら毎にサービスがある。サービス=事前にインストールされたソフトが動く仮想コンピュータ
 と考えている。
 これをオンプレの巨大なサーバーで行う場合は、一つのコンピュータで必要なソフトをインストールすることになる。
 IT技術者でなくても趣味でPCをいじってる人(風太郎の様な)は次の様な心当たりがないだろうか?

  • インストールするのが大変(設定項目が多い)
  • OS毎(下手したらバージョン毎)に機能やインストール方法が異なる
  • 他のソフトウェアとの関係で同時に動かない(共通する何かがちがう)
  • 複数のソフトを連携させるとメモリなどリソース不足

 これらの手間がかからずデータベースならデータベース、それぞれにすでにインストール済みの機能を使っていく。「インストール済み」という言い方すら不適である。これらの機能を持ったパーツが用意されており、OSが何かすら意識する必要がない。

クラウドの特徴その2 機能するかどうかはクラウド側が保証している。

 ソフトなどをインストールしても動かすまでが大変である。しかも、日々といっていいほどバージョンアップするし、下手にバージョンアップすると動いてくれなくなる。
 その動作についてはクラウド業者が保証してくれているため、メンテナンスに気を使う必要がない。

クラウドの特徴その3 停止している間はお金を払わなくて済む

 これは当たり前のことだけどありがたい。ただ、手で停止とかさせていると面倒なので自動化が必要。この点は技術をつけないといけないので、個人としてはこれからの課題である。

クラウドの特徴その4 BCP(事業継続計画)に強い

 天災などがあった場合にデータセンターが破壊される。データは外部に預けてあったとしても、ハード一式を揃えて、一からセットアップするのは大変である。これに強いのがクラウドである。天災で破壊されたとしてもデータと構築の情報があれば世界のどこかで再現できる。
 「家が火事になってもデータだけは救いたい」と考えて当時は少ない容量だったストレージサービスに加入していた。個人ですらそうなんだから会社はそこまで考えるべきである。

 これが学んだことから考えるクラウドの特徴である。

 

ノートPCが遅くて仕方ない(その対策方法と結果について)

最近ノートPCが遅いんだけど?

 2年ほど前に購入したHPOmen15(HPのノート型ゲーミングPC)、1TSSD化 RAM32G化したあります。
 このPCが最近大変遅い。タスクマネージャ見るとCPU使用率100%になっている。あり得ない・・・

やっぱりデスクトップPCだね

 そう思って、以前深層学習用に購入したZ800WSを実作業用に使うことにした。6Corex2+64GRAM(DDR3)+SATA2TSSDという一世代前の高性能機である。(SSDだけは購入後拡張した)
 面倒なのは電源入れてから起動が長いことである。Omen15は入れっぱなしだが、1200W電源のXeon 2個のPCの電源入れっぱなしはおそろしい。これについては別途対策をした。
 こっちに主力を移そうとしている最中です。これについては別記事に書きますね。

Omenを復活させる

もしやと思って確認したこと

 そう思いながら気になるのはOmen15、これって会社のPCの熱でダウンしたときに症状がにてるな? そうおもってCore Tempで確認するととんでもない温度(90℃前後)になっている。(スクショは取ったけどファイルが壊れていました)

原因推定

 当然ファンが回っているのは確認しました。風もでています。それで冷却が悪いんじゃないか?と考えてAmazonで清掃用具とグリスを購入しました。グリスを購入したのは空気の流れがよくてもCPUから冷却にうまく熱が伝わっていないんじゃないか?と考えたためです。

分解結果

 ファン周りは埃がおおかったのですが詰まっている様子はありませんでした。
ヒートシンクを取り外してグリスを確認すると完全に固まっていました。そこをティッシュにアルコールを含ませて掃除してグリスを再度つけて組み直しました。

実行結果

 今度はちゃんとスクショ大丈夫でした。OMENは快適に動いています。
とはいえ、旧式になっていくし、速度としては古いとはいえZ800いい感じです。Omen15は引退させることになるでしょう。
 今回は3年ほど経つとグリスが硬化して冷却効率が「使えないほど落ちる」と言うことがわかりました。多少そういうことは予測していましたが、使い物にならないレベルとは思っていませんでした。   f:id:FUTARO:20211123163633p:plain

50代後半からのIT技術者への転身

クラウド発注のための見積もり

 当たり前ですが、発注するためには見積もりが必要です。
 普通に商品を買うときは「価格がXXのが○個」とか、特殊な製品なら、仕様を定義していくらと発注します。曖昧なところは先方が色々説明してくれて仕様を決めていきます。
 ところがクラウドの場合は、一番最初の時点で決まっているわけではありません。勉強がてら作りながら覚えていくわけです。だから詳しい仕様なんてわかりません。

もはや見積もり自体が勉強の場だ

 AWS Pricing Calculatorで必要な金額を出してください。ということになる。アクセスして驚いたのが設定の細かさだった。データ転送量ぐらいはわかるけど、謎に満ちた言葉がいっぱいである。
 「これを正確に見積もれるならば、もう十分理解できるんじゃないの?」というレベルだった。まぁ、これは値段がわかればいいので適当に入れることにした。
 それでも「へぇ、こんなサービスあるんだ」という勉強になっている。

 AWSは見積もり自体が勉強のチャンス!というのが今回学んだことだった。