こんにちは!TECH Street編集部です!
今回は2021月12月16日(木)に開催した、 「Azureエンジニア勉強会〜次世代ハイブリッドクラウド「Azure Arc」最新トピックス ~」のイベントレポートをお届けいたします。
Amazon Web Services(AWS)の「Amazon EKS」、Google Cloudの「Google Kubernetes Engine(GKE)」などの環境下でも稼働する次世代ハイブリッドクラウド「 Azure Arc 」について、11月に開催された「Microsoft Ignite」発表ネタを交えながら最新トピックスや活用イメージを学ぶ会を開催いたしました!
登壇者はこちら!
💬廣瀬 一海さん/日本マイクロソフト株式会社
Azureビジネス本部 シニアプロダクトマーケティングマネージャー
2015年12月から、 日本マイクロソフト株式会社に在籍している。 現在はAzureを含むMicrosoft Cloudのクラウドエンジニアの成功に焦点を当て、 テクニカル、 ビジネス双方の側面からクラウド活用技術、 トレーニング、 コンサルティングなどの情報提供活動と実践を行っている。
次世代ハイブリッドクラウド「Azure Arc」最新トピックス
今回は2021年にリリースされたAzure Arcを中心に最新トピックスを紹介いただきました◎
Azure Arcについて
はじめに、Azure Arcの概要について。Azure Arcは下記の3つが基軸となります。
・Azure Services
:どんなインフラストラクチャにもAzureサービスを持ち込むこむことができます。
・Azure Stack
:サブスクリプションのハードウェアで、オンプレミスのAzureとも言えます。これを用いてデータセンターのモダナイズを実施することができます。
・Azure IoT
:IoTデバイスのエッジ拡張をコントロールすることができます。
これらの3つを1つでまとめて管理することができるのがAzure Arc。
では、実際にどのようなことができるのかを見ていきましょう。
①複数環境の管理・統制
複数のクラウドやデータセンター、エッジに散らばるサーバーとKubernetes、クラスタを中央管理し一つのコントロールプレーンから統制します。
②大規模なKubernetesアプリ管理
DevOps手法を用いて、複数環境間で大規模にKubernetesアプリケーションを展開・管理し、アプリケーションがソースコントロールから一貫して展開・設定されることを保証します。
③どこでもサービスを実行
レイテンシやコンプライアンスの要件に応じて、必要な場所にサービスを展開し、管理することができます。マネージドサービスで常に最新の情報を保ち、オンプレミス、クラウド、エッジにまたがる資産をシームレスに管理・保護します。
複数の環境、複数のアプリ、複数の場所から開発が進むようになった環境下においてこのように一元管理ができるサービスはとても便利ですよね^^
サービスの相関図はこちら。Azure Arc-enabled InfrastructureでハイブリッドリソースをネイティブAzureリソースとして接続して運用し、Azure Arc-enabled ServicesでAzureから運用しつつAzureの外部でもAzureサービスをデプロイして実行する環境を実現します。
また、Azureの中だけに限らず、マルチクラウドで管理ができるように開発が進んでいるのだそうです◎
Azure Arc enabled Serverについて
ここからは、Azure Arc enabled Serverについて。こちらはAzure Arcを使用してオンプレミスとマルチクラウドのサーバーを、Azureに取り込むことができます。具体的には、下記のようなことが可能になります。
・接続する
Linux・Windows問わず、仮想・物理問わずに接続・管理が可能です。
・インベントリの収集と管理
大規模・スケーラブルかつ統合管理されたインベントリ収集と管理、ファイル一貫性監視も可能です。
・ガバナンスとセキュリティ
Azureポリシーに対応しており、環境横断のコンプライアンスを実現します。エージェントによるモニタリング、Security Center / Defenderとの連動、更新管理も可能です。
・ロールベースの管理
ワークロードごとの管理者等、ロールベースでの管理を実現し、よりスケールする管理を可能にします。
こちらがアーキテクチャ。Azure Arcに接続されたサーバーとインターネット接続(HTTPS/443)ができていれば問題ありません。
実際の画面はこのようなイメージ。Azure Monitorで統合して管理しているので一つの管理画面で俯瞰して管理することができます。
更新プログラムの管理からは、この仮想マシンが今どのようにアップデートされているか、メンテナンスが必要なのかなどを確認することができます。また、このページからは自動で一括更新をすることも可能。台数が増えてきてもきちんとモニタリングができるのは便利ですよね◎
セキュリティセンターからはファイルの整合性の監視も一括でできます。ファイルの改ざん検知もでき、どの部分がどういじられているかも確認できます。
また自動でアップデートを管理できるAutomanageという便利な機能も!Arcのマシーンを実稼働マシーンとして選ぶと、自動でアップデートを管理することができ、手作業で行なっていた管理を簡略化することができます。
また、全ての操作はアクティビティログとして記録されていきますので、後から確認することも可能です。
Azure Arc enabled Kubernetesについて
続いて、Azure Arc enabled Kubernetesについて。Azure Arcを用いてどのKubernetesクラスタでも接続し、運用、管理を行い、アプリケーションを稼働することができます。
登録されたKubernetesの中で、App Service、Functions、Logic Apps、API Management、Event Gridなどという今まででAzureでしか動いていなかったサービスが動くようになります。
登録されているそれぞれのKubernetesクラスタの一覧がここから確認できます。
こちらに、前提条件、クラスタの詳細、タグ、スクリプトの順番でKubernetesクラスタを追加していきます。ここで登録する際の注意点としては、そのKubernetesに対してKubernetesコントロールで管理権限を持っていること、Kubenetesコントロールに一度接続されていることを確認してからスクリプトを読み込むようにした方がいいそうです。
実際に立ち上げたGKEにスクリプトを流してみるとこのようにGKEに繋がっていることがわかります。ここまで確認できたら、登録のためにconnectedk8sを流してみます。
接続が成功しました。実際にpodsをみてみるとこのような表示になります。これらがAzure Arcの管理管轄下に入ったことになります。
また、クラスタ一覧でも、今登録したarcgkeが表示されていることが確認できます。これを登録してしまえば、あとはそれぞれのコントロールポリシーを適用することもできます。その他にも拡張機能という形態で、GKEの中にAzure App Serviceを展開することなども可能です。
今回は、Application Services Extensionを展開します。これで、GKEの中にAzure App Serviceが入ってきます。
インスタンスの名前を決め、カスタムロケーションを設定します。App Serviceを作る際に、このカスタムロケーションが必要になってくるので、この段階で名前をつけておきます。
次に、静的IPアドレスを追加し、ストレージクラスを設定します。
ログやタグの設定をすると、スクリプトの実行の画面に移ります。このスクリプトを先ほどと同様にKubernetesの中で実行していきます。
23行目からがKubernetesの中に拡張機能を入れることを指示した内容になります。
実行すると、gkeappserviceが入っていることがわかります。
ここまでの設定が終われば、普通のAPPサービスとして使うことができます。
こちらがWebアプリの作成画面。地域の名前のところに、先ほどのKubernetesの場所を指定します。ここからは通常のAzure App Service同様に開発に取り組むことができます。
Azure Arc enabled data servicesについて
Azure Arcを使用して、オンプレミス、マルチクラウド、エッジにAzureのデータサービスを実行することができます。常に最新であり、弾力性のあるスケールアウトを実現。どのインフラ、どのKubernetesでも、Azure Arcのなかで統合マネジメントを可能にします。
こちらがMulti-Cloud SQL MI DR setupの1つの例です。それぞれにAKS、EKS、GKEの3つのKubernetesが展開されており、その中にArc EnabledのSQL Managed Instanceが展開され、それぞれのDBがマルチクラウドで同期しています。
Azure Arc-enabled machine learningについて
また、Azure Arc-enabled machine learningは、Azure Arcを使用して、オンプレミス、マルチクラウド、エッジでAzureの機械学習サービスを実行しモデルを構築していくことができます。使い慣れたツールで効率的に運用することができ、こちらもどのインフラでもどのKubernetesでも統合的なマネジメントを可能とします。
興味がある方は、Azure Arc Jumpstartを使うとAzure Arcの機能を一通り試すことができるのでおすすめとのことでした!
まとめ
参加者からは「とても分かりやすいです。すばらしい。色々理解できました。ありがとうございます。」「ドケチ(自分でできる範囲)な工夫がいいですね。最高です。コミュニティネタで盛り上がりそう。」などなどのコメントも!
今回は廣瀬さんの和やかな雰囲気もあり、たくさんの質問が飛び交うイベントとなりました◎ぜひ、Azure Arcをお試しの際には参考にしてもらえると嬉しいです!
次のページでは、当日のQ&Aを紹介します^^
参加者からの質問
(Q)情シスが居ない会社がAzureを活用したい!どうすれば良いでしょうか?
(A)Webサイトを立ち上げたいということであれば、Microsoft Learnを活用してみると良いです。それでも大変・うまくいかないというときは、他人に頼るということも手です。規模感に合わせて、企業に頼ってみるのもいいと思います。あとは、コミュニティに顔を出してエンジニアに相談してみるのもいいです。
(Q)いまさら言うのも何なのですが、クラウド化への理解がない上司を説得するためのコツを教えて欲しい。という質問をしてしまう時点で私のクラウドへの理解もまだまだなのだと思っていますが。
(A)いくつか理由があると思います。逆に理由がないのに「クラウド化」することも問題です。クラウド化してどういうメリットがあるのかをまずは調べましょう。今までにない設計ができるのはクラウドならでは、です。後は、すぐスケールアップができること、コスト(人件費)が減る。が良い点です。
(Q)Azure含めて、IT系情報をキャッチ・学んでいくうえで気を付けるべき点、そして教える立場として気を付けるべき点をお聞きしてみたいです。
(A)まず、どうしても英語は避けられません。とにかく技術文書は英語で読んでいました。ITは英語の情報が多いので、慣れるまではしんどいですがぜひ頑張って乗り越えてください。
そして、人から聞いた情報を自分でも検証してみること。Qiita等でみたとしても、一度は必ず自分の手で作ってみることが大切です。
教える時、専門用語はできるだけかみ砕いたり、要約をしたりして伝わりやすい方法を工夫しています。自分の中にある情報を整理して伝えるということも大切にしています。順を追って頭に入りやすい説明を意識しています。あとは、マウントしないことではないでしょうか。
(Q)Azure Spaceに夢を感じます。どんな事例に繋がるのか具体的に聞いてみたいです。
(A)地上局という人工衛星をグラウンドからコントロールするという使い方が1つ。もう一つは、衛星を経由して通信するという方法。また、Azure Express routeも使って、飛行機で機内インターネットを使う時にMicrosoftバックボーンを通じて日本に繋がることができます。そのおかげで、機内のWebコンテンツやネットに使えるというのが1つ。あとは海(船舶)からの通信。今まで2分くらいかかっていたところ、20秒くらいで繋ぐことが可能になったという事例もあります。
(Q)Azure Desktop?の画面キャプチャ保護についてちょうど今日情シスから話を聞いた非エンジニアが通ります。(教えてください笑)
(A)まず、従来のVDIとなにが違うかというとマルチセッションができる。1台に複数接続できます。そして、従来であればリモートデスクトップに入っている状態でスクショが撮れてしまいましたが、それを防ぐことが可能になりました。端末でスクショをとっても、VDIの中は映らない仕様になっています。
(Q)初心者で場違いで申し訳ないのですが、他のクラウドと比較して「これはAzureだけの良いところ」というイチオシがあればお聞きしたいです。
(A)日進月歩でどこも追いついてきますが、Azure Container Appsは良いと思います。DBの接続設定をコンテナの中にもたずにブローカーからもってくるというものです。つい最近出てきたので、今はAzureにしか無い機能です。どのクラウドにも良いところがあって、初心者へのおススメは全部触ることです(笑)全部触ると、それぞれの利用目的の違いや考え方の違いで使いどころが判断できるようになります。
(Q)「Azure Arc」とクラウドマネジメントプラットフォームと呼ばれるツール、もしかして同じなのかな?
(A)マネジメントという観点では同じだと思います。Arcでまだないのは「課金の管理」です。クラウドマネジメントプラットフォームというには、もう一歩足りないという感じがしています。
(Q)どうしてデプロイ王子なのですか?!(こんな質問でごめんなさい)
(A)その当時、Azureが黎明期で、まだデプロイメントって言葉が浸透していなかった。そんな時「デプロイ」って言いながらKinectにバンザイ\(^o^)/したら、当時の機械学習でスケルトンを検出してサーバーが動きだすっていう冗談をしたら、デプロイ王子というあだ名がつきました(笑)よい年なのでそろそろ王子はいいかなぁと思っています(笑)
(Q)逆にKubernetesのイマイチな点というか、なんというか、みたいなのを廣瀬様の視点でお聞きしたいです。
(A)管理が少々面倒くさい…(笑)アプリケーションの管理プラットフォームとして、部門間で同じものを使うとかじゃないと、良さが出づらいと思っています。コストもそれなりにかかるので…中小企業には使いづらいので、もう少し小さなセットで使える環境が出るといいなと思っています。→これは最近出てきました!
(Q)Google の Anthosとの違いがしりたいです。
(A)AnthosもArcもまだまだ発展途上のサービスなので、今後どんどん良くなると思っています。差異はこれだと言えるものは今段階ではないと思います。
(Q)もしご存知であれば、AnthosやTanzuと比較してAzure Arcが良いポイントを教えてください。
(A)コンテナ化してKubernetesに送り込めるのはどれも一緒。セキュリティという面で強いです。監査のチェックがクラウドだと大変なのですが、この辺りのダッシュボードがあるので便利になります。
(Q)この前、「ここがつらいよKubernetes」で、社内で盛り上がりました(笑)サーバー台数とか学習コスト高い!とか(笑)廣瀬さんの方で、このネタ何かあればお願いします(笑)
(A)単にデプロイできても、それからマネジメントやスケールアップするときがしんどいです。ゼロから作ると確かにしんどいです…そういう意味でAzure Arcが活用できると思います。
(Q)良いですねArc、費用どの程度でしたっけ?
(A)費用面というとほとんどがプレビュー。Arcにかけるリソースがそれなりにかかります。
(Q)情シス1年生がこういった事を学ぶにはどこから手を付ければよいのでしょう。自前PCで色々試すしかないですよね。
(A)自前で色々やってきました。10代後半から。自分でPCやサーバーを作っていました。ドケチ(できる範囲)で、自分でやってみるのはいいと思います。
MVPを目指してみるというのも一つの手だと思います。MVPになるとAzureが月1万5千円使えるのでお得に勉強できます。社内で使える機材を探してみるのもよいです。
(Q)7万の自腹はキツいですね笑。ちなみに今はそういう研究費用って、マイクロソフトさんの経費ですか?!
(A)経費精算はできるのですが、面倒くさくて請求できていません…。なので、これも自腹になります(笑)工夫すればとんでもなくドケチな構成で作り上げることができます。
(Q)そうだ!Igniteの最新情報を聞きたかった!今回一番のトピックってなんでしたか?Azureネタは関係なく。ひろせさんからみて。
(A)GPT-3を使って翻訳精度や日本語の文脈理解の精度が上がるといったことです。例えば、PowerAppsというローコードアプリで作ったアプリにて「こういうことしたい」って言うと自動でコーディングしてくれて、支援してくれるシステム作成なんてのもGPT-3で可能になります。OpenAIの機能ですね。
また、Microsoft Defenderも良いと思います。セキュリティ製品がMicrosoft Defenderでまとまりました。Azure ADと連携してその辺りのセキュリティ周りが安くなって、使い易くなりました。
イベントレポートは以上となります。次回もお楽しみに!