Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第3回 PackerでAzureにおける イメージコンプライアンスを実現する / HCP Pa...

Kodai Sakabe
November 08, 2023

第3回 PackerでAzureにおける イメージコンプライアンスを実現する / HCP Packer + GitHub Actions on Azure

HashiCorpとMicrosoft Azureのセキュリティ シリーズとして Packer について話をしました。

第3回:PackerでAzureにおけるイメージコンプライアンスを実現する

HashiCorpとMicrosoft Azureのセキュリティ シリーズの第1回と第2回では、安全なリソースの構築と利用方法についてお話しました。第3回では、Azureのイメージコンプライアンスを満たすために、Packerのワークフローを使用して、環境のコンプライアンスを維持する方法を紹介します。

https://www.hashicorp.com/events/webinars/azure-security-webinar-series-3-meeting-image-compliance-on-your-azure-fleet-jp

Kodai Sakabe

November 08, 2023
Tweet

More Decks by Kodai Sakabe

Other Decks in Technology

Transcript

  1. Nov 8th, 2023 12:00 – 12:25 第3回 PackerでAzureにおける イメージコンプライアンスを 実現する

    日本マイクロソフト株式会社 パートナー事業本部 パートナー技術統括本部 AI & Azure アーキテクト本部 坂部 広大 2023/11/08 12:00 – 12:25 https://www.hashicorp.com/events/webinars/azure-security-webinar-series-3-meeting-image-compliance-on-your-azure-fleet-jp
  2. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. 本資料の位置づけ 構成に関しては、実際のシステム動作に関して、保証をするものではありません。 予めご了承ください。 仮想マシンを中心にクラウド活用始めた方向け クラウドを活用した自動化・コード化によるメリットを知る 話さないこと PaaS の紹介(これまで VM を手作業でセットアップした範囲を中心に紹介) 継続的インテグレーション/継続的デリバリー(次のセッション)
  3. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Packer x Azure Packer ソフトウェアデリバリーの重要性 Immutable Infrastructure Golden Image IaaS on Azure
  4. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Packer
  5. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Packer 複数のプラットフォームにマシンイメージを作成するツール マシンイメージの形式はプラットフォームごとに出力可能 ※HCP Packer は hashicorp 社提供のマネージド・サービス Chef や Puppet や Ansible のような構成管理を置き換えるものではなく、 ツールを一緒に活用してイメージを作成 https://developer.hashicorp.com/packer
  6. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Install Packer # MacOS $ brew tap hashicorp/tap $ brew install hashicorp/tap/packer https://developer.hashicorp.com/packer/tutorials/d ocker-get-started/get-started-install-cli
  7. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Build an image # see https://developer.hashicorp.com/packer/tutorial s/docker-get-started/docker-get-started-build- image $ mkdir packer_tutorial $ cd packer_tutorial $ touch docker-ubuntu.pkr.hcl # write some code $ packer init .# Initialize Packer configuration $ packer fmt . # Format your Packer template $ packer validate . # validate your Packer template $ packer build docker-ubuntu.pkr.hcl https://github.com/koudaiii/packer_tutorial/issues?q=label%3Atutorial+is%3Aclosed
  8. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. HCP Packer + GitHub Actions on Azure https://github.com/koudaiii/packer_tutorial 1. ローカル環境で確認、git push 2. GitHub Actions が push をトリガー に Packer セットアップし、 packer build 3. packer build を行うに当たり、 base イメージとなる VM を立ち上げ build 開始 4. Build 完了後、 image 化、 metadata 作成。 5. HCP Packer へ metadata を push (詳細は、 .github/workflows)
  9. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. VM Subscription 任意リソースグループにゴールデンイメージをデプロイ Resource Group subnet Vnet 仮想ネットワーク NSG ネットワークセキュリティグループ https://github.com/koudaiii/packer_tutorial az vm create \ --resource-group $az_resource_group \ --name $az_vm_name \ --image $az_vm_image\ --admin-username azureuser \ --location $az_region \ --size $az_vm_size \ --generate-ssh-keys
  10. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. ソフトウェアデリバリーの重要性
  11. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. State of DevOps Report https://dora.dev/ 2014年から DevOps の業界動向に関する年次調査レポー ト(最新では Platform Engineering や SRE 含む) ソフトウェアデリバリーのパフォーマンス スループットを測定 安定性 運用パフォーマンス 信頼性 組織パフォーマンス 収益性、市場占有率、生産性目標をどの程度達成 継続的な改善の必要性を認識しているチームは、 そうでないチームよりも高い 高いソフトウェアデリバリーパフォーマンスは、運用 パフォーマンスも高い場合のみ、組織パフォーマン スに良い影響を与える ユーザーが持つ信頼性の期待度にサービスが届か ない場合は、迅速なデリバリーが意味を成さない ことがある => 非対称情報による期待値齟齬
  12. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. 2021 年 2022 年(Elite performers 削除) https://cloud.google.com/devops/state-of-devops ソフトウェアデリバリーのパフォーマンス比較 https://dora.dev/publications/pdf/state-of-devops-2021.pdf
  13. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Immutable Infrastructure
  14. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. インフラコード化からImmutable Infrastructure 発展 Blue-green Deployment のフロー 1. 新アプリ(green)を必要な数だけ用意 2. 新アプリ(green)にデプロイ 3. ルーティング(web)切替(+α スキーマ変更) 4. 経過観察後に旧アプリ(blue)削除 1993 CFengine https://cfengine.com/ 2005 Puppet https://www.puppet.com/ 2009 Chef https://www.chef.io/ 10 deploys per day Dev & ops cooperation at Flickr https://www.oreilly.com/library/view/devops-in- practice/9781491902998/video169253.html 2010 BlueGreenDeployment https://martinfowler.com/bliki/BlueGreenDeployment.html https://www.publickey1.jp/blog/14/blue- green_deployment.html Immutable Infrastrucure(変更不可能なインフラ) Mutable Infrastructure(変更可能なインフラ)
  15. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. 10 deploys per day Dev & ops cooperation at Flickr 2009 1. Automated infrastructure 2. Shared version control 3. One step build and deploy 4. Feature flags 5. Shared metrics 6. IRC and IM robots 1. Respect 2. Trust 3. Healthy attitude about failure 4. Avoiding Blame https://www.oreilly.com/library/view/devops-in-practice/9781491902998/video169253.html
  16. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. インフラコード化からImmutable Infrastructure 発展 2012 Ansible https://www.ansible.com/ Amazonは1時間に最大1000回もデプロイする。クラウドネイティブなデプロイとはどういうものか? AWS re:Invent 2012 基調講演 https://www.publickey1.jp/blog/12/amazon11000_aws_reinventday2_am.html 2013 ImmutableServer https://martinfowler.com/bliki/ImmutableServer.html Trash Your Severs and Burn Your Code: Immutable Infrastructure and Disposable Components http://chadfowler.com/blog/2013/06/23/immutable-deployments/ https://www.publickey1.jp/blog/14/immutable_infrastructure.html Packer https://github.com/hashicorp/packer/releases/tag/v0.1.0 Ops 側でも TDD や DDD などの考えが浸透し誰でも実践しやすくなった
  17. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Immutable Infrastructure 目的 サーバー状態の複雑さの増加を防ぎ、コントロール、運用 コストを下げる アプリケーションのテストやデプロイのプロセスをシンプルにし 、いつでもデプロイ可能かつ不具合が発生した際のロール バックできるようにすることで開発効率を向上させる 構成 不変なサーバ(Immutable Sever)。設定後は何も変え ない手作業運用は行わない) OS 設定やアプリケーションまで細かくビルド いつでも差替可能なデプロイメント 条件 API でインフラ操作 サーバクラスタを扱うツール 可視化・監視ツール サーバーの配布 ローカル、テスト、ステージ、プロダクションの環境差異 ロードバランサ・プロキシーのリモート操作 GitHub や配布するためのツールの充実 ゴールデンイメージ 仮想化技術の容易さ プロビジョニング/コンフィグツールの進化 開発プロセス(Git, Test, Pull Request, 差分がない環境)
  18. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Golden Image
  19. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Golden Image ゴールデンイメージ  開発者がその上にアプリケーションを構築できる仮想マシンのイメージ  開発者はシステムの依存関係やパッチではなくアプリケーション自体に集中できる  一般的なゴールデンイメージ  共通のシステム  ロギング  監視ツール  最新のセキュリティ パッチ  アプリケーションの依存関係 https://developer.hashicorp.com/packer/tutorials/cloud-production/golden-image-with-hcp-packer?product_intent=packer
  20. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Golden Image を支える習慣 = トイルをなくす アンチフラジャイル(ストレスを受けたときに強化されるシステム) 属人化から見える化 手順書から実行できるコード SSH/RDP/Console 作業の削減 運用ローテーション ポストモーテム(アドホックな作業の振り返り) latestといった一意にならないものを排除 人のチェックを機械(クラウドやツール)に任せる 共通の設定と関心ごとの共有とトレードオフ ログ、メトリクス、セキュリティ etc ミドルウェア スペック デプロイ(イメージ単位 or 二段階ビルド) ログ、トレース、メトリクス デバッグ、キャパシティ(scale up or. Scale out) => MTTR の短縮、共通化、暗黙知の削減
  21. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Packer の範囲外としてステートフルな DB や File のようなデータストアはマネージド・サービスの活用。 バックアップ、リストア含めてマネージド側で管理。 GitHub Actions 経由で HCP Packer ビルドす る。 git の commit ハッシュ値を image の tag に 入れることでロールバックやテスト用でも利用。 a b サブスクリプション Availability Zone 1 VNet Availability Zone 2 Azure Backup Blob Storage Snapshot Image Azure SQL Database Application Gateway Standard_v2 a c 考慮事項 b Resource Manager DB snapshot ロードバランサーといったネットワークについては、 マ ネージドを活用。 TLS 終端等で利用。 blue- green deployment の場合にセッションの切替た めに nginx 利用。 Rolling Deploy でシンプルに 構成する場合不要。または DNS 切替も可能。 c DNS b e Azure SQL Database ゾーン冗長。バックアップ、 リストア等もマネージド・サービス側で管理 e f Rolling deploy の場合、 Virtual Machine Scale Set の機能で可能。接続ドメインの設定で 安全にセッションの着替えができる。図は blue- green deployment の場合は、新旧混在を防ぐ f 監視を Azure Monitor や Log Analytics への検 討。セキュリティ対策のための Microsoft Defender for Cloud やコンプライアンス違反の検 出、運用における自動化を行う。 Key Vault には 証明書等の秘匿情報のための管理。 Managed ID は、 VM からインフラを操作時に褐葉する。 g g Storage Account 静的ファイルやコンテンツ置き場として blob または azure file などを活用 h h Log Analytics Key Vault Managed ID Azure Monitor Automation(WSUS) blue green Defender (ウィルス対策) Standard Load balancer Virtual Machine Scale Set (nginx 4-6台) Packer Developer Virtual Machine Scale Set (web-green 4-6台) Virtual Machine Scale Set (web-bule 4-6台) Standard Load balancer 2 1 1 2 3 3 4 4 5 5 6 6 7 7
  22. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. マネージド・サービスの裏側(Availability Zone 冗長構成)
  23. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. IaaS アプリの高可用性とディザスター リカバリーのシナリオ https://learn.microsoft.com/ja-jp/azure/architecture/example-scenario/infrastructure/iaas-high-availability-disaster-recovery
  24. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Azure における IaaS ワークロードのセキュリティに関するベスト プラクティス 認証とアクセス制御 (Azure ポリシー, Azure RBAC, Azure Resource Manager) 可用性を高めるために複数の VM (可用性セット, ゾーン) マルウェア対策 (Microsoft Antimalware, Microsoft Defender for Cloud) VM の更新管理 (Update Management) VM のセキュリティ体制の維持 (Microsoft Defender for Cloud, Azure Monitor ログ) VM パフォーマンスの監視 (Azure Monitor, Microsoft Azure Diagnostics 拡張機能, Azure Resource Manager テン プレート) 仮想ハード ディスク ファイルを暗号化する (Linux VM に対する Azure Disk Encryption, Windows VM 用の Azure Disk Encryption, Key Vault) インターネットへの直接接続を制限する (Just-In-Time (JIT) VM アクセス) https://learn.microsoft.com/ja-jp/azure/security/fundamentals/iaas https://learn.microsoft.com/ja-jp/security/zero-trust/azure-infrastructure-virtual-machines https://learn.microsoft.com/ja-jp/azure/security/fundamentals/network-best-practices
  25. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Azure Monitor / Azure Resource Graph Azure Virtual Machines 用の Azure Resource Graph サンプル クエリ https://learn.microsoft.com/ja-jp/azure/virtual-machines/resource-graph-samples?tabs=azure-cli
  26. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Microsoft Defender for Cloud
  27. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. Why Blue-green Deployment using Nginx? https://jpaztech.github.io/blog/network/appgw- configchange/#%E8%A8%AD%E5%AE%9A%E5%A4%89%E6%9B%B4%E3%81%AE%E5%BD%B 1%E9%9F%BF-1で Application Gateway HTTP 設定を行う場合に既存すべてのリスナーへのTCP 接続が切断される動作 AppGw の仕様に問題がなければ、直接バックエンドプールを指定のみ。または backend pool 内でrolling でVM入替も可能) Nginx User A blue Application Gateway green App App User B Deploy 中でたまたま User A が blue へ振られてもblue でタイムアウトやエラーがない限りそのままレスポンスを返す Switch 後(瞬時)は、たまたま User B がきたトラフィックはそのままgreen へ 2. green へ 1. deploy 前のアクセス 3. Deploy 後のアクセス ファイルの有無で簡単切替 $ touch /etc/nginx/switch/green
  28. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. 参考情報: Blue – Green Deployment と Rollback Nginx はロードバランサーとリバースプロキシの2つの機能が大きくある Blue-green deployment ゼロダウンタイム(ステートレスのみ) Nginx の upstream を変更して reload する マスタープロセスで構成を再ロードする信号を受信すると、新しい構成ファイルの構文の有効性をチェックし、そこに提供されている構成を適用しよう とします。これが成功すると、マスター プロセスは新しいワーカー プロセスを開始し、古いワーカー プロセスにメッセージを送信してシャットダウンを要求し ます。それ以外の場合、マスター プロセスは変更をロールバックし、古い構成で動作し続けます。シャットダウンのコマンドを受信した古いワーカー プロ セスは、新しい接続の受け入れを停止し、すべてのリクエストが処理されるまで現在のリクエストの処理を続けます。その後、古いワーカー プロセスは 終了します。https://nginx.org/en/docs/beginners_guide.html Nginx の if を使って変数やファイルの有無による切替(reload いらない) https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/ https://github.com/koudaiii/modernize-private-isu/pull/1/commits/40b82c4023b337b2aa74477a06bf357faf6bbef6 この場合、ファイルの入れ替えや変数の変更を自作する必要がある ngx_dynamic_upstream https://github.com/cubicdaiya/ngx_dynamic_upstream Webhook で動的に upstream を変更できるもの。 Nginx PLUS にある機能と挙動が同じにできる ロールバックを瞬時実行可能 Nginx の切替部分はダウンタイムがない点であり、不具合検知後にすぐに元に戻しやすい 何かあってもすぐに戻せるのはデプロイおける心理的な負担が少ない
  29. Nov 8th, 2023 12:00 – 12:25 MICROSOFT CONFIDENTIAL 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示し たものです

    。状況等の変化により、内容は変更される場合があります。本資料に表記さ れている内容(提示されている条件等を含みます )は、貴社との有 効な契約を通じ て決定さ れます 。それまでは、正式に確定するものではありません。 従って、本資料の記載内容とは異なる場合があります。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります 。貴社の 最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対し て明示的、黙示的または法的な、いかなる保証も行いません。 © 2023 Microsoft Corporation. All rights reserved. 新しい機能をサービスに安全に追加するための9つのステップ Create a new runtime configuration directive 新しい機能のためのconfig を作成し、default は false に 設定。 Release a new binary :参照がない状態でリリース Update the configuration file :config を更新して見えるようにする。ユーザーの導線なし。 Update the canary jobs :カナリージョブのみでconfig を有効にする Update all jobs :全部公開。この時点で新しい機能が有効。 Change the default flag value :flag を default で true になるように変更。 Update the configuration file again :config を更新して、config 参照をなくします。 Edit the conditional code execution :条件付きのコード実行を常に実行するように編集します。 Remove the now-unused code :今は使われていないコードを削除します。 https://www.usenix.org/system/files/login/articles/login_1410_05_klein.pdf Daniel V. Klein、DinaM. Betser、Mathew G. Monroe
  30. Nov 8th, 2023 12:00 – 12:25 © 2023 Microsoft Corporation.

    All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be re gistered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee t he accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.