kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Azure DevOpsのサポートを受ける方法いろいろ

これはAzure DevOps アドベントカレンダー16日目の記事です。

qiita.com

Azure DevOpsのサポート受ける方法がわからないという声をたまに聴くので、ちょっとまとめてみます。Azure DevOpsのサポートは有償、無償、MSがやっているもの、コミュニティと複数のパスがあります。

コミュニティ

いつものリリースノートにも書かれていますが、Stack Overflow, MSDN forum(こちらはもうすぐMicrosoft Q&Aになるそうですが)があります。バグなどはVisual Studio Communityへ。

stackoverflow.com

製品担当者の人も回答しているようです。ただし英語だけ。

まだプレビューですが、MSDN / Technet ForumからMicrosoft Q&Aに移行するらしいです。

docs.microsoft.com

docs.microsoft.com

Azure DevOpsはまだないようですが、それよりもVisual Studio Communityのほうがいいようです。

developercommunity.visualstudio.com

オンプレミスとサービスで場所が違うので気を付けて。こちらも公式は英語です。たまに日本語などの英語以外も見かけますが、機械翻訳で認識されるかもしれないので、できれば英語がおすすめです。Azure DevOpsなどのReport Bug機能で通知してもいいですね。

公式サポート

MS自身が提供する公式サポートです。

https://azure.microsoft.com/ja-jp/support/devops/azure.microsoft.com

f:id:kkamegawa:20191212053516p:plain

サポートポータル。Virtual AgentはQ&Aを探す、チケットを発行する、リージョンの移動をするといったことがインタラクティブにできます。

f:id:kkamegawa:20191212053526p:plain

Basic / Premire / 課金のサポートがあります。Basicは管理者でもログインできなくなったときとかのやり取りで使えるはずです。昔はリージョン移動もこれでできたのですが、今はチャットボットがあるのでそちらを使ったほうがいいでしょう。

オンプレミスのAzure DevOpsを使っている場合、真ん中のPremireを使う必要があるようです。

f:id:kkamegawa:20191212053532p:plain

チャットボットです。これ使えばorganizationのリージョン移動が可能です。リージョン移動については以前書きましたので、そちらを参考にしてください。

kkamegawa.hatenablog.jp

二つほど移行してみましたが、移行期間は結構長い間とっておかないと失敗が続いてずるずる伸びてしまいます。

f:id:kkamegawa:20191212053521p:plain

最後はAzureポータルから。こちらはサポート契約しているサブスクリプションがあればそのままポータルからサポートリクエストの発行ができます。

CSP契約などでポータルから直接発行できない場合はCSP窓口にサポート発行する手段があるはずなので、そちらでどうぞ。

Azure DevOps Server 2019 Update 1.1適用で削減されたメモリ

devblogs.microsoft.com

Azure DevOps Server 2019 Update 1.1が公開されました。このバージョンからSQL Server 2019にも対応しています。いろいろ新機能はあるのですが、最大の改善といえばメモリ使用量でしょう。

f:id:kkamegawa:20191213222330p:plain

Update 1.1適用前のAzure DevOps Server 2019 Update1です。Webサーバーとコード・作業項目検索だけ入れています。

Commons Daemon Service Runnerがコード・作業項目検索で4.4GBくらいとってますね。IIS Worker Processも1.6GBくらい。

TFSJobAgentが638MB。使っているとこのプロセスがどんどんメモリを使っていきます。

f:id:kkamegawa:20191213222336p:plain

こちらはAzure DevOps server 2019 Update 1.1を当てて、ページを一通りアクセスした状態です。TFSJobAgentが256MBくらいとだいぶメモリ削減されています。

これインストール後で軽く動かしただけですが、かなり差がありますね。メモリイーターなんじゃないかと思うくらい使っていたAzure DevOps Serverですが、少しはよくなったようです。もう少しいろいろ使ってメモリの経過観察してみます。これで少しは良くなったかな。

それでもやはり16GBではフルセットを軽く動かす程度かなと思います。できればWeb / 検索 / SQL Serverを別々にでしょうかね。

Ignite Tour Tokyo 2019でお話したAzure DevOpsのセキュリティベストプラクティス2019

はじめに

これはAzure DevOpsアドベントカレンダー2019 9日目の記事です。

qiita.com

Ignite The Tour Tokyo 2019でAzure DevOpsを運用する際のセキュリティについてお話してきました。資料はまだ公開されていないのですが、そのうち公開されるはずです。

www.microsoft.com

録画は公開されないと聞いています。会場の都合やスライド見えるようにということで、あまりきつきつにせず、喋りで結構補ったので、参考URLも見てください。

それでも会場ではスライドの下の部分が見えなかったという声をいただいています。すいません…。

Azure DevOpsのセキュリティはAzure ADで運用するとき、結構高度な機能が使えるようになります(お金もかかります)。お金かかるポイントがそれなりにあるので、あらかじめ決めておく必要があります。

Azure ADとAzure DevOps

Azure DevOpsはAzure ADベースで作ることができます。ある程度の組織で使っていて、IDの統合管理するならば、MSアカウントではなく、Azure ADベースにするのがおすすめです。

Office 365あればそのAzure ADを使うのがいいでしょう。ただし、お客さまに提供するSIの環境であれば相手方に作ってもらったほうがいいです。

kkamegawa.hatenablog.jp

この例ではB2Bで作ってお互いがゲスト参加ですがこれで作るったケースでいいところはAzure AD消せば全部消えてしまうところですね。

ただし、Teamsを使う場合、TeamsのBoardsアプリは使えるのですが、タブに統合はできませんので、注意してください。

あと、Azure ADを別に立てて、B2Bで入るとき、管理0だと所属元のIT部門がたいていいい顔しません。開発したいから作っているだけなので、あまり高度なことはやりたくないんですね。それもわかりますが、抜け穴作っていると思われるとお互いいいことないので、そこは注意しましょう。

権限について

Azure ADのグループとAzure DevOpsのローカルで使うAzure DevOpsグループの二種類あります。基本的なおすすめはAzure DevOpsグループです。

Azure ADのグループは規定値で50万という上限がある(MSに言えば増やせます)のと、業務単位やOffice 365でもどかどかグループ作ることになるので、結構大変です。

基本的にはライセンス周りや、Azure ADのセキュリティに依存するところをAzure ADグループにしたほうがいいでしょう。

Azure DevOpsを作っているサブスクリプションの権限は制限しますが、デプロイ先のサブスクリプションはプロジェクトごとに管理も可能です。

これをどうやって管理するかいろいろ方法はありますが、サブスクリプション単位でチームプロジェクトを分割する、というのも一つの方法です。

Organization 管理

公開される資料では"Organization作成を止める権限はない"と書いていますが、12/6付でAzure ADにOrganization作成権限を設定できるようになりました。

f:id:kkamegawa:20191208220249p:plain

devblogs.microsoft.com

危ないですね。これだからクラウドサービスは(笑)。

ほかに大きいところでは、Azure ADのゲストユーザー自身を秘匿したい、ですね。Organization 内ではユーザーの検索ができてしまうので、検索で出てきては困るという場合、分割します。

接続経路

Express RouteかPublic Internetかです。Azure AD P1の条件付きアクセスポリシーは高いので買えないけど、どうしてもFirewallで頑張りたいというときはIPアドレスが明示されているので、ここを使ってください。

docs.microsoft.com

前は「Azureのサービスですよ」としか明示されていなかったので、大きく変わりました。

グループ管理について

所属グループとかつい作りたがるのですが、混乱するのでお勧めしません。プロダクトチーム、ロール単位(コードレビュー、ビルドAdmin、レポジトリ管理者、etc)といった、役割でのチームをまず検討してみてください。

Azure DevOpsの拡張機能で必要な権限が変わるとき

ちょうどいいネタができたので、Azure DevOpsアドベントカレンダー3日目の記事です。

qiita.com

今日、こんなメールが届きました。

f:id:kkamegawa:20191203212436p:plain

私はAzure DevOpsにDependency Trackerという拡張機能を入れているのですが、なにやらやらないといけないようです。Manage extensionをクリックすると、拡張機能管理画面に移動します。

f:id:kkamegawa:20191203212440p:plain

メッセージを読むと、バージョンアップに伴い、新しい権限が必要なようなので、Reviewボタンをクリックします。

f:id:kkamegawa:20191203212446p:plain

必要な権限が表示されます。おそらくAnalytics(read)が新規に必要になったのでしょう。Authorizeをクリックして承認します。

f:id:kkamegawa:20191203212431p:plain

承認すると、拡張機能が再度使えるようになったというメールが来ます。

なかなかこういうメールが来たことがなかったので、ちょっとびっくりしましたが、拡張機能の権限を確認の上、問題なければ承認すればいいだけなので、簡単です。

もちろん、理不尽な権限を要求するような拡張機能になったら削除してしまいましょう。