2024.10.01
自社の社内情報を未来の“ゴミ”にしないための備え 「情報量が多すぎる」時代がもたらす課題とは?
Private Azure Kubernetes Service cluster を触ってみよう♪(全1記事)
リンクをコピー
記事をブックマーク
五十嵐透氏:今回「Private Azure Kubernetes Service cluster を触ってみよう♪」という題名で発表します。よろしくお願いいたします。
(会場拍手)
ありがとうございます。
まず、本日のアジェンダと注意点から。注意点としましては、この情報は本日(3月25日時点)の情報となります。また、時間の関係上、Private AKS clusterのみの内容です。もし時間があれば、個人的に注目している新機能についてお話ししようかなと考えています。
逆に話さないこととしては、例えばAzureやKubernetes。もしくはAKSについての詳細な説明とかは割愛しようと思っています。あと、この発表自体は私個人の意見であって、所属する会社とか団体を代表する発言ではありません。そこのところ、ご了承をお願いいたします。
まず、自己紹介から。名前は五十嵐と申しまして、TwitterとかGitHubはこのアイコンでやっていますので、どこかで見かけたら話しかけてもらえるとうれしいです。仕事としては、クラウドエース株式会社でSREというロールで働いています。
趣味は、献血が好きで回数としては3桁超えています。社会に貢献したいなと思って献血しています。
では本題に。「あなたのAKSのセキュリティは本当に大丈夫ですか?」というところで、少し話をしていきます。
みなさんもうすでにAKSを運用されてかなり長いこと経っているかなと思いますが、現場では「クラスタに対して接続できる拠点を制限しなさい」や「Podから外部インターネットというので通信の監視とか制御しなさい」みたいなことを言われているんではないでしょうか。
Kubernetes全体に言えることかなと思っているんですけれども、まだまだセキュリティの問題は、いまだに山積しているかなと思います。
Azureは、実はAKS自体のベスプラを出しています。これは何かといいますと、AKSの製品グループ、それからエンジニアリングチーム。そして、グローバルブラックベルトを含むフィールドチームが連携して作成しているベストプラクティスが、実は公開されています。
ここにセキュリティのところやネットワーク・ストレージ。それからランニングとか、いろいろ分野に分かれてまとまっているので、AKSに携わるエンジニアは必読かと思います。もちろん今日聞いている方々は、もう何十回も読んでいるかなと思います。誰もこっちを見てくれない(笑)。
そんな感じですね。実際にPrivate AKS cluster、今回の主軸というか主目的であるところのAKS clusterに入っていきます。
こちら何かといいますと、公式のドキュメントから抜粋してきていますが、AKSのControl PlaneおよびNode poolsがどうのこうのとか書いてあります。また、Control Planeの中のAPIサーバとそれからNode poolがネットワークトラフィックがプライベートネットワークにうんたらかんたらと実は書いてありまして。これを1回見たときに「うん、なるほど。わからん……」と思ったわけですよね。
これ、インフラ屋さんであれば、RFC1918というのはおそらく、わかると思います。けれども、じゃあその2個目、2行目は「いったい何言っているかわからん……」ってなりますね。
実際にこれをもうちょっとドキュメントで見ていくと、YouTubeに動画が上がっています。これAzure Power Lunchさんがやっているんですけど、おそらく公式かなと思うんですが、たしか1月30日ぐらいに公開された動画です。
Private AKS cluster自体は3月9日にGA(General Availability:正式版)になったので、まだプレビュー版のときに作られた動画です。けっこうわかりやすく説明しているので、見てもらえればと思います。
今までがドキュメントの話です。しかし、話だけでは、何もわからないので実際触ってみましょうということで、また公式からPrivate AKS clusterを作成するコマンドを引っ張ってきました。
見てわかるとおり、最初にリソースグループを作成しまして、次にAKS clusterの作成のコマンドが入っています。ここで見てもらいたいのはAKS cluster作成コマンドの一番下の行で、--enable-private-clusterというオプションがついています。Private AKS clusterを作る際に必要なのはこのオプションだけなので、とても簡単ですね。
ですが、3月24日時点では、これだけでは動きません。おそらくバグが原因かと思われます。なぜかといいますと、Azure CLIのリポジトリにバグとしてIssueが上がっているからです。
これが一度解決してマージされたんですけれども、昨日キャプチャーしたので7日前に「いやいや、まだこれバグとして残っているよ」というIssueが上がっています。これはPrivate AKS clusterだけの問題ではなくて、おそらくこのCLIのほうの問題かなと思います。
ですが、このIssueの中で暫定的な解決方法が一応書かれていますので、その修正版を加えたコマンドがこちらです。
修正点としては、自分でService Principalを作成する。そして、az aks create時にそのService Principalを指定する必要があります。
もうちょっと詳しく見ていくと、先ほども見たとおり、リソースグループを一番初めに作り、そのあとaz ad sp create-for-rbacコマンドを使ってService Principalを作成する。
その次にまたaz aks createをするんですけれども、これコマンド下のほうを見ていただけると、下3行目ですね。--enable-private-clusterをし、それからService Principalを指定し、そのあとクライアントシークレットを指定する必要があります。このコマンドおよびオプションを使うことによって現状では作成が可能です。
実際にPrivate AKS clusterを作ったものをAzure portalからは、こういうふうに確認できます。
それだとわからないので、通常のAKS clusterと、それから今回のPrivate AKS clusterを比較してみようかなと思います。向かって左がPrivate AKS clusterのノードプールが所属しているリソースグループのOverviewのキャプチャーです。向かって右手が通常のAKS clusterのノードプールが所属しているリソースグループのOverviewとなります。
ここで比べてほしいんですが、実はPrivate AKS clusterのほうがコンポーネントが3つ増えています。何かというと、Private DNS zone、Private endpointそしてNetwork interfaceです。
通常のAKS clusterに対してこの3つコンポーネントを増やすことによって、Private AKS clusterを作れますが、僕たちは先ほど書いたとおり、オプションを足すことだけで作れます。とても簡単ですね。
すごいシーンとしてますね、本当に(笑)。ここまでで、すごいダーッと駆け足で話しているんですが、この資料自体はTwitterとかでURLを放流していますので、できれば手元で詳細に見ていただければと思います。
では話に戻しますね。実際にここまでclusterを作りました。では、次にすべきことはclusterへの接続です。でないとPodをデプロイできません。
ただ、clusterにはすぐに接続できない問題があります。いつもの通常のAKS clusterだと、このあとaz loginをし、それからaz aks get-credentialsをすることで接続することが可能です。
ただ、今回ちょっと内容を端折ってしまいましたが、このPrivate AKS clusterは内部IPアドレスしかもっていません。そうすることによって、アクセスをコントロールすることを目的としています。セキュリティを担保することを目的としていますので、Public IP Addressがありません。なので、このclusterに対して接続できる口を作る必要があります。
その接続する口を作るのが、この「Private AKS clusterに接続する方法」として公式が用意しています。ここはちょっと時間の関係で割愛しますが、このような3つの方法です。
また注意点2個目としては、プレビューのときに実はこのPrivate AKS clusterって作れるリージョンに制限があります。しかし、今回GAによってリージョン制限がなくなったというか、制限があるというドキュメント自体がなくなりました。今回、私も東京で作成しましたし。
さらに、このPrivate AKS clusterって依存関係だったりとか制限事項がけっこうあります。なので、お手元で試してもらう際にはあまり問題はないと思いますが。例えば仕事で使われるとか、もしくは本当にサービスの本番環境で使おうかなと思っているときは、ちゃんと依存関係および制限事項をよく読んで使うようにしてください。
余談なんですけれども、実はGCPにもPrivate clusterと呼ばれる同じようなクラスタがあります。日本語でいうと「限定公開クラスタ」という名前で、詳しい話はしないんですけれども、これが2018年10月2日にGAしています。もう1年以上経っていますね。
今回、2020年3月9日にこのAKSのPrivate AKS clusterもGAしたので、やっとこれで追いついたかなと思っています。なので、ここから追いつけ追い越せみたいな感じで、みんなでPrivate AKS clusterを使って進化させていければいいなと思っています。
ちょっと時間をもう少しいただけそうなので、私が個人的に注目している新機能だけサクッと紹介しますね。
ちょっとPrivate AKS clusterからはズレてしまいますが、Spot Node PoolをAKS clusterで使う機能があります。これ自体、今日の時点ではプレビュー機能のみなんですけれども。
これは何かというと、Spot VMを用いたVirtual Machine Scale SetをAKSのNode poolとして使用することが可能です。何言っているかわからないかもしれないんですけれども、詳しくはこの資料のところにリンクなど貼っておきましたので、後ほど見ていただければなと思います。
ただ、Spot VMやVirtual Machine Scale SetをSpot VMで使う機能。そもそもそのSpot VMを使ったVirtual Machine Scale SetをさらにAKS clusterのNode poolで使う機能も、すべてプレビューの段階です。
これ何がいいかというと、コスト削減につながります。なので、どんどん使っていって知見を貯めて、最終的には本番環境で使えればいいなと思っています。先ほどの話にもあったとおり、やっぱりコストって大事ですよね。……あれ?(笑)。まぁ、そんな感じですね。
駆け足になりましたが、まとめます。今回、Private AKS clusterがGAになりました。
(会場拍手)
ありがとうございます。主にセキュリティの要件として効果を発揮すると私は期待しています。また、依存関係とか制限事項があるので、うまく使いこなしていきましょう。これはもう使うしかないです。さらに、仮にバグがあっても、コミュニティの力でなんとかなる可能性はとても大きいです。なので、恐れずに使っていきましょう。
あとは、先ほど簡単に説明したとおり、新機能もAKSはどんどん出ていますので、みんなで積極的に使っていければいいなと思います。
そんな感じで、私の発表は以上です。ご清聴ありがとうございました。
(会場拍手)
2024.10.29
5〜10万円の低単価案件の受注をやめたら労働生産性が劇的に向上 相見積もり案件には提案書を出さないことで見えた“意外な効果”
2024.10.24
パワポ資料の「手戻り」が多すぎる問題の解消法 資料作成のプロが語る、修正の無限ループから抜け出す4つのコツ
2024.10.28
スキル重視の採用を続けた結果、早期離職が増え社員が1人に… 下半期の退職者ゼロを達成した「関係の質」向上の取り組み
2024.10.22
気づかぬうちに評価を下げる「ダメな口癖」3選 デキる人はやっている、上司の指摘に対する上手な返し方
2024.10.24
リスクを取らない人が多い日本は、むしろ稼ぐチャンス? 日本のGDP4位転落の今、個人に必要なマインドとは
2024.10.23
「初任給40万円時代」が、比較的早いうちにやってくる? これから淘汰される会社・生き残る会社の分かれ目
2024.10.23
「どうしてもあなたから買いたい」と言われる営業になるには 『無敗営業』著者が教える、納得感を高める商談の進め方
2024.10.28
“力を抜くこと”がリーダーにとって重要な理由 「人間の達人」タモリさんから学んだ自然体の大切さ
2024.10.29
「テスラの何がすごいのか」がわからない学生たち 起業率2年連続日本一の大学で「Appleのフレームワーク」を教えるわけ
2024.10.30
職場にいる「困った部下」への対処法 上司・部下間で生まれる“常識のズレ”を解消するには