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

現場からみた Azure リファレンスアーキテクチャ答え合わせ | Microsoft Bui...

現場からみた Azure リファレンスアーキテクチャ答え合わせ | Microsoft Build 2022

Microsoft Build 2022のセッションでのスライドです。
オフィシャルで公開されているAzureリファレンスアーキテクチャをベースに、実プロジェクトの要件にあわせてそれを拡張したお話しを、株式会社pnopの森島・片倉・足利とともにさせていただきました。

Kuniteru Asami

May 27, 2022
Tweet

More Decks by Kuniteru Asami

Other Decks in Technology

Transcript

  1. 登壇者紹介 浅見 城輝 Kuniteru Asami 株式会社 pnop Microsoft MVP for

    Azure 森島 政人 Masahito Morishima 株式会社 pnop Microsoft MVP for Azure 片倉 義昌 Yoshimasa Katakura 株式会社 pnop Microsoft MVP for Azure 足利 惟 Yui Ashikaga 株式会社 pnop Microsoft MVP for Azure
  2. 現場で言われること  通信のプライベート化  Webサーバーからバックエンドサービス(Key VaultやSQL DBなど)へは内部通信を制限したい  アウトバウンド通信の制限 

    Webサーバーから外に出ていく通信を制限したい、送信元IPアドレスも固定化したい  Azureリソースへのアクセス制御  いろいろなリソースへのアクセスに使う資格情報の管理から開放されたい  その他にも  マルチリージョン構成にするにはどうしたらいいか  リトライ処理がなぜ必要なのか  特定サービスの監視がしたいが、どのメトリックをみればいいのか  などなど…
  3. とある現場における通信のプライベート化の要件  Azureで利用しているPaaS(Key VaultやSQL DB)はインターネット からアクセスさせたくない  各PaaSのFirewall設定を細かく制御するのは大変  Webアプリケーションのログには秘

    匿情報が含まれているため プライベートネットワークを経由し て保存したい  オンプレミスからも安全にPaaSを利 用したい (インターネット経由させたくない)  ExpressRouteのMicrosoftピアリングではなく
  4. Subnet 現場ではこうしました Internet Azure Active Directory Azure DNS Private Endpoint

    Subnet Virtual Network VNET統合 App Service web app App Service Plan Azure Key Vault Logical server Database Database Azure Private DNS (privatelink.database.windows.net privatelink.vaultcore.azure.net privatelink.monitor.azure.com etc..) Azure Monitor Private Link Scope Azure Monitor Log Analytics Metric data Audit and Diagnostic logs Metric data Audit and Diagnostic logs VNETリンク プライベート リンク Application Insights on-premises GatewaySubnet Metric data Audit and Diagnostic logs
  5. プライベート接続を行わない場合のその他考慮事項  SNATポートの枯渇  Azure PaaSや、インターネット外部へのアクセスは全てAzureプラットフォーム側のLoad Balancerを経由する  その際にAzureが管理しているPublic IP

    Addressを使用するが、同時接続が行えるSNATポー ト数に制限がある  App Serviceの場合は1インスタンスあたり最低128ポートが用意されており、それを超えた 場合にPaaSや外部サービスに接続できなくなる場合がある Azure SQL DatabaseやAzure StorageなどのAzure PaaSに対してApp Serviceから多くの接続が ある場合に、Load BalancerのSNATポートが枯渇して接続の不具合が発生してしまうことが しばしばあるが、App ServiceからAzure PaaS へのアクセスをService Endpointあるいは Private Endpoint経由でにすることで、この制限を回避することができる。
  6. 現場ではこうしました その1  アプリの構成ファイルからWeb App の構成へ  サブスクリプションにアクセスで きる人しか参照できない 

    サブスクリプションにアクセスで きれば見られてしまう  権限の管理まではできていない アプリ Web.config ApplicationSettings.json
  7. 現場ではこうしましたその2  マネージドIDを有効にしパスワードを無くす  Web App の マネージドIDを利用することによって、パスワードな しでリソースにアクセスできる 

    Storageに読み取り権限を付与する  SQL Database の ユーザーの連携する  Key Vault リファレンスを使う 1. マネージドID 2. アクセス権付与(RBAC) 3. アクセス SP
  8. Build 2022 サービスコネクターがGAしました  説明したような設定を簡略化できる 設定 ✓ 接続先(BLOB/Cosmos/SQL..) ✓ 接続名

    ✓ 接続先の情報 ✓ クイライアントタイプ(.NET/Java) 認証 ✓ システムマネージドID ✓ ユーザーマネージドID ✓ 接続文字列(KVに格納するか) ✓ サービスプリンシパル 設定した結果
  9. とある現場におけるアウトバウンド通信の要件  決まった 1 つの IP アドレスから だけ送出したい  Azure

    App Service などから SaaS など 外部のサービスを利用する場合に、 外部サービス側では特定の IP アドレスからのみ アクセスを受け入れるため  App Service からアクセスできる サイトを URL で制限したい  App Service の送信 IP アドレス  いくつかの所定の IP アドレスから送信される  IP アドレスを 1 つに固定するための 選択肢  VNet NAT 経由での送信  Azure Firewall 経由での送信
  10. Subnet Public IP IP Prefix Virtual Network Firewall 選択肢 VNet

    NAT インターネットへの送信 IP を 1 つまたは所定の複数に固定できる Azure Firewall ネットワーク間通信のフィルタリング や SNAT 機能などを有する Subnet Public IP IP Prefix NAT Virtual Network O microsoft.com O google.com X DANGER.com
  11. まとめ  現場ではこうしました  通信のプライベート化:Private Endpoint で内部通信を明示的に (ER経由の接続もOK)  アウトバウンド制御:Azure

    Firewall で通信内容含め細かく制御  Azureリソースへのアクセス制御:Managed Identities を活用  今回紹介しきれなかったトピック  開発環境の準備について  Infrastructure as Code (環境の自動化)  DevOps  まだまだ語りたいアーキテクチャはたくさん  IaaS中心の構成とか、IoTとか
  12. 今回紹介した要素が含まれているリファレンスアーキテクチャ Azure SQL Database への Web アプリのプライベート接続 https://docs.microsoft.com/ja-jp/azure/architecture/example- scenario/private-web-app/private-web-app PaaS

    データストアへのプライベート接続を使用した ネットワーク強化 Web アプリケーション https://docs.microsoft.com/ja-jp/azure/architecture/example- scenario/security/hardened-web-app
  13. 株式会社pnop 株式会社pnopはMicrosoft Azureに関する課題解決のプロフェッショナル集団です。 皆様のプロジェクトに、 Azure経験豊富なエンジニアがノウハウを提供いたします。 Azure アーキテクチャ 設計相談 Azure 運用設計

    相談 Azure開発 Azure 環境構築 Azure トラブル シューティング Azure トレーニング 新規システムを Azureで稼働させしたい 既存システムを Azureに移行したい パッケージ・ソリューション をAzureに対応したい Azureを利用することで システムコストを下げたい Azureで安全・安心な システムを提供したい Azureを利用することで 運用担当者の負担を軽減し たい Azureを利用しているうえで 困っていることを解決した い Azureのスキルを向上したい Azureに関するご相談・お問い合わせ:[email protected] https://www.pnop.co.jp