2024.12.03
セキュリティ製品を入れても検出されず…被害事例から見る最新の攻撃トレンド 不正侵入・悪用を回避するポイント
リンクをコピー
記事をブックマーク
真壁徹氏:(スライドを示して)戦略のサンプルを簡単にまとめてきました。
1個目がAKSの規定や推奨ベースにするということで、これは冒頭で話したKubernetesの推奨、AKSの推奨に従うやり方ですね。AKSだけではなくてKubernetesコミュニティ、あとはまわりのエコシステムが成熟してきて、リスクは下がってきています。
なのですが、このサンプルではマイナーバージョンアップは手動で行います。パッチとか、パッチバージョン、Nodeのイメージのアップグレードは自動でやりましょう。それでスケジュールを工夫します。
夜中にやるとか昼にやるとか、いろいろ工夫できます。こういう戦略です。私は今後はこれがスタンダードになるんだろうなと思っています。
まだ過去のアップグレードの悪い体験、トラブルの体験が残っているお客さまは「Blue/Greenしたいな」と言うかもしれませんが、今後はこれがスタンダードになるんじゃないかなと思います。
実は2023年の秋ぐらいにKubernetesのプロダクトマネージャーが日本に来て、散々議論をして、そのあと私も様子を見ていろいろなお客さまともディスカッションして、実績も見て言っています。これがスタンダードになるんじゃないかなと思います。
ただインプレースアップグレードなので、リカバリー手段はやはり準備しておいたほうがいいだろうと思います。大きく2つのリカバリー手段があります。原因を取り除いてアップグレードを完遂するやり方と、バックアップから戻すやり方です。
私はアップグレードが途中でこけたとしても、その原因を取り除いて、目的のバージョンに上げる、完遂することをおすすめします。そのほうががんばって戻すよりたぶんシンプルです。なぜこけたかはけっこうわかりやすくなっています。先ほど話しましたが、問題の診断と解決機能を見ると、「ここでこけたよ」というものが出ていたりします。
あと最近のAKSのアップグレードツールは、「あ、このエラーが原因だったんじゃないの?」ということを概要画面の一番上に出してくれます。「アップグレードがfaileしたよ。これが原因かもしれませんね」とリンクが出てきて、そのリンクを押すとトラブルシューティングガイドに飛びます。ということもあり、私のおすすめはアップグレードをやりきるというやり方です。このほうがシンプルかなと思います。
(スライドを示して)問題の診断と解決機能を知らない方が多いので、ぜひ使ってみてください。かなり細かく診断してくれます。まだプレビュー(の状態)ですが、最近流行りのCopilot形式というか、チャットで自然言語で問い合わせられるようになるそうです。私もまだ触れていないのですが、今後にご期待ください。
もう1つのインプレースアップグレードのリカバリーは、バックアップから戻すやり方です。ただ、正直これは複雑です。複雑なのであまりおすすめしないのですが、バックアップから戻すほうがいいという方もいると思うので、もしやりたい場合には資料を参考にしてもらえければと思います。
それとBlue/Greenですね。冒頭に話しましたが、これもまだ有力な戦略です。今後これがメインにはならないと思うのですが、いざという時にできるようにしておくのはけっこう大事な戦略です。
なので、Blue/Greenじゃなくて自動アップグレードやインプレースを中心にしていく場合でも、クラスタの前に何らかのゲートウェイなり、リバースプロキシを置いておきたいです。
あとは隣にクラスタを置けるだけのIPアドレスのレンジを持っておくことは、けっこう大事です。あとからインプレースアップグレードができない機能が出てきた時や、Kubernetesのクラスタのネットワークの設計を大きく変えたい時にやはりBlue/Greenをしたくなるので、そういう余裕を持っておくと、後々安心です。
サンプル2ですね。これはサンプル1と相反するものではないのですが、「事前に他のクラスタで十分な検証をしましょう」というやり方です。Azure KubernetesサービスにFleet Managerという機能があり、クラスタのコントロール、オーケストレーションをしてくれる仕組みがあります。
これはアップグレードの順序制御もしてくれるので、検証環境のステージングに先にアップグレードをあてて、それがOKだったらプロダクション、本番にあてるという順序制御ができるようになります。
なので、検証環境を早めに上げて、1週間とか、十分な検証をできる時間をとっておきます。waitで7日間待つなどの設定ができるので、それがOKだったら本番をアップグレードするなんてことができます。
今のFleet Managerでもできるのですが、将来的には大規模なクラスタ環境を作られても、クラスタ5つとか、3つとか、4つとか、そのぐらいの数で、複数クラスタで1つのシステムを作りたい時には、例えば複数クラスタの順序順序でアップグレードしていくなどのコントロールもできるようになるので、クラスタのカナリアアップグレードも夢としてはあります。
今は単純にはできないですが、仕組みとしてはできます。APIを叩くだけです。
自動テストはけっこう重要です。これは深い話なので今日はしませんが、やはり気づくためにはアプリケーションを動かさないといけないので、アプリケーションの自動テストをどこまで仕組みとして作っておくのかは、けっこう大事な検討ポイントです。
ただ、網羅的なE2Eテストはいらないと思います。GUIを全部気にする必要はなくて、代表的なアプリケーションフローを通した時、Kubernetesのアップグレードがこけていると派手にこけるのでわかります。なので、網羅的なE2Eテストはしなくていいかなと思っています。
まとめです。「今日の話は根拠があるのか」みたいな感想があると思うので、大きな実績を話していきます。マイクロソフト自身の実績ですね。「Office 365」や「Teams」、「Bing AI Copilot」や「GitHub Copilot」で使っている方もいます。「Xbox」やOpenAIの「ChatGPT」。これは全部AKSを使っています。24時間365日動いています。
これらのサービスが「アップデートだから」と言って止めるとか、ぽこすかセッションを切るなんてことはみなさんあまり感じていないですよね。うまくできるということです。24時間365日動かしながらアップグレードができるという証明をマイクロソフト自身がしています。
(スライドを示して)最後のまとめです。繰り返しになりますが、今は転換期だと思っています。「アップデートが大変だよ」というイメージをみなさんは持ってしまったというのがこれまでだったと思いますが、できるだけ自動化して楽をすることを考える転換期かなと思っています。コミュニティも、KubernetesとAKSも、成熟してきてツールも整ってきました。
あとは、トラブルシューティングガイド、ナレッジも、インターネット上で公式ドキュメントとして手に入るようになっているので、かなり整ってきているんじゃないかなと思います。
最後に大事なことを伝えます。自動化は勇気がいると思います。「怖いからできない」という方が多いと思いますが、全部自動化する必要はないと思います。部分的に、段階的に自動化していけばいいと思います。
例えばNodeOSのイメージのバージョンアップだけ先に自動化するなど、徐々に自動化する対象を広げていけばいいと思います。それで経験なり能力を積んで、自信を積んで全体のアップグレードを自動化していくとか、そういうところにいつかたどり着けばいいという進め方でいいんじゃないかなと思います。
私は正直、ここ2年ぐらいアップグレードは失敗していないです。
実は以前に仕事の場で、「私、失敗しないので」と、(その場にいたASTの)齋藤さんに強く言い切りました。言い切れるぐらい自信があります。慣れてしまえばどうってことないです。シャア・(シャア・アズナブル)みたいなことを言いますが、どうということはないので、みなさんも慣れてください。
ということで、私の発表は終わります。ご清聴ありがとうございました。
関連タグ:
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.12.03
職場の同僚にイライラ…ストレスを最小限に抑える秘訣 「いい人でいなきゃ」と自分を追い込むタイプへの処方箋
2024.11.27
何もせず月収1,000万円超…オンラインゲームにハマって起こした事業 大学中退し4社立ち上げ・2社売却した起業家人生
2024.12.04
いつも遅刻や自慢話…自分勝手な人にイラっとした時の切り返し 不平等な関係を打開する「相手の期待」を裏切る技
2024.12.02
給料や人間関係が良いだけでは部下は満足しない メンバーの「働きがい」を育む5つのステップ
2024.11.29
やたらと多い自慢話、批判や噂好き…「自己重要感」が低い社員の特徴 管理職が知っておきたい「一生働きたい職場」の作り方
2024.11.26
タスクの伝え方が部下のモチベーションを左右する マッキンゼー流、メンバーが動き出す仕事の振り方
2024.11.25
仕事はできるのに、なぜか尊敬されない人が使いがちな言葉5選 老害化を防ぐために大切な心構えとは
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.28
“新規事業が生まれない組織”に足りていないもの 「PoC貧乏」に陥らず、アイデアを形にするためのヒント