投稿者: kohei

  • Azure Virtual WAN とは?

    Microsoft Azureが提供する大規模拠点間接続サービスです。

    グローバルネットワークを必要とする場合、VPNやExpressRouteと合わせてVirtual WANの導入を検討する企業が増えている。オンプレミスなどの拠点との接続自体はVPNやExpressRouteを利用するものの、Microsoftが保有するグローバルネットワークを利用し日本国外との通信をVirtual WANが担うことで、拠点間の折り返し通信やAzureのVNetにおいて変更があった場合などでも自動的にルーティングすることができる。

  • Azureのロードバランサー一覧

    ●Azure CDN(Contents Delivery Network)

    Azureリージョンにコンテンツをキャッシュし、クライアントからの接続を様々な場所にあるPoP(ポイントオブプレゼンス)に分散させることで、大量配信を可能にしたり、大量のアクセスからオリジン(配信元)サーバを保護することができる。

    ●Azure Front Door

    ロードバランサー(Web系のみ:http,https)

    ・CDN、WAF

    ●Azure Traffic Manager

    Web系以外(TCP)のプロトコルにも対応可能なDNSロードバランサー。パブリックに公開されているアプリケーションへのトラフィックを世界各国のAzureリージョン全体に分散することができる。

    ●Azure Load Balancer

    マネージドなL4ロードバランサー。(送信元IPアドレスとポートに基づくトラフィックを送信先IPアドレスとポートにルーティング)

    内部向けのプライベートロードバランサーあるいは外部向けのパブリックロードバランサーとして動作する。また、内部で高可用性構成となっており、ユーザ側でALBを冗長構成にするなどの対応は不要。

    ●Azure Application Gateway

    マネージドなL7ロードバランサー。(URIパスやホストヘッダーなどHTTP要求の追加属性に基づいてルーティングを決定)

    ・Cookieを利用したセッション永続化

    ・SSLコネクションの終端

  • Azure FirewallとAzure WAFの違いについて

    ※ChatGPTの回答が一番分かり易かったので。随時中身は更新します

  • プライベートエンドポイントとサービスエンドポイントの違いについて

    ●プライベートエンドポイント

    プライベートIPアドレスでPaaSへ接続することが可能。

    対象のPaaSのFQDNがプライベートエンドポイントに設定したプライベートIPアドレスに名前解決されるようにDNSを構成する必要がある。

    経路としては、「プライベートエンドポイント(PE)→プライベートリンク(PL)→PaaS」

    ●サービスエンドポイント

    仮想ネットワーク内のサブネットとPaaSを直接接続できるサービス

    ●ChatGPTに聞いてみた

  • S2S VPNとP2S VPN

    S2S VPN(サイト間VPN)とP2S VPN(ポイント対サイトVPN)は、Azureとオンプレミスを接続するための方法です。

    S2S(Site-to-Site)は主にオンプレミスデータセンターとAzure仮想ネットワークを接続する方式で、オンプレミス側にはVPNデバイスを用意し、IPsec/IKE VPNトンネルを介して接続します。

    P2S(Point-to-Site)は個々のデバイス(PCなど)とAzureをVPNで接続する方式で、デバイスに証明書をインストールし、SSTPまたはIKEv2プロトコルを使用して接続します。

    ●用語

    • IPsec:インターネットでデータを暗号化して、安全にやりとりするための仕組み
    • IKE:IPsecを使うときに、通信相手同士で「どうやって安全にやりとりするか?」を決める手続き
    • SSTP:Microsoft(マイクロソフト)が作った、インターネット上で安全にデータを送るための技術。特にWindowsでよく使われる
    • IKEv2:IKEの進化版で、より速くて安定した通信をできるようにしたもの。スマホなどがWi-Fiとモバイル回線を切り替えても通信が途切れにくいのが特徴

    ↑どれもインターネット上でデータを安全にやりとりするための技術

  • Azureのネットワークパフォーマンス向上について

    アプリケーションのパフォーマンスに影響を及ぼす要因は数多くありますが、その1つがネットワークのパフォーマンスです。

    近年ネットワークパフォーマンスを大幅に向上させるためにさらなる機能改善が行われており、その中でも重要な高速ネットワークと近接通信配置グループについてまとめます。

    この2つの機能はいずれも無償で利用可能で、Azureユーザが享受できるMicrosoftのネットワーク投資の対価と言える。

    ①高速ネットワーク

    仮想マシンをホストしているAzureホスト基盤の仮想スイッチをバイパスし、送受信パケットが仮想マシンの仮想NICとホストの物理NICの間で直接通信を行う機能。これにより、ネットワークレイテンシを最小限に抑えることを実現し、さらに仮想スイッチにおけるネットワークトラフィックを処理するためのCPU使用率を削減することもできる。

    <高速ネットワークなし>

    VM1 → 仮想NIC → 仮想スイッチ(物理サーバ) → 物理NIC → 物理スイッチ → 物理NIC →仮想スイッチ(物理サーバ) → 仮想NIC →VM2

    <高速ネットワークあり>

    VM1 → 仮想NIC → 物理NIC → 物理スイッチ → 物理NIC → 仮想NIC →VM2

    ※仮想スイッチで担っていた機能(NSGやアクセス制御リストなど)はホストによって適用される

    ②近接通信配置グループ(Proximity Placement Groups:PPG)

    仮想マシン間の物理的な距離を最小限にするため同一の場所に配置し、互いのネットワークレイテンシを短縮することを目的に提供されている機能。

    複数の仮想マシンを1つの近接通信配置グループに割り当てると、同一のデータセンターに配置される。

  • Application Security Groupとは?

    NSGの拡張機能。

    仮想マシン(NIC)をグループ化する事ができ、NSGの送信元/宛先として適用できる。同じ役割のサーバ同士をグルーピングする事で、アプリケーションの通信パターンに適応したNSG設定が容易になります。(必要な規則の数を減らし、煩雑化を防ぐ)

  • Azure Key Vaultとは?

    Azureで扱う以下のような秘匿情報を管理するサービス

    • キー
    • シークレット
    • 証明書

    管理できるもの概要
    キーデータ暗号化に使用する暗号化キーの作成、アクセス管理をする
    例)VMのストレージ暗号化
    シークレットキーバリュー形式で秘匿情報を格納しアクセス管理をする
    例)DBへの接続文字列の保管、利用(アクセス制御)
    証明書TLS/SSLの設定で利用する証明書の管理
    例)LBへの証明書設定

  • Azure Database for MySQLについて概要をまとめてみた

    ●Azure Database for MySQLとは?

    Azureが提供するPaaS型のマネージドなMySQLデータベースサービス

    ●デプロイモデル

    ①単一サーバ

    最小限のカスタマイズで実行できるように設計されたデータベース

    ②フレキシブルサーバ

    運用ワークロード向けにきめ細やかな制御と柔軟性が実現できるよう設計されたデータベース(フレキシブルサーバの方がパフォーマンスが良い)

    ●MySQLへのアクセス

    標準でパブリックに配置される

    <アクセス制限する方法>

    ①ファイアウォールでアクセス制限する

    ②閉域アクセスを有効化する(VNet統合を利用する)

    ●VNet統合とは?

    Azure Database for MySQLに対するプライベートなネットワークが構築される。

    特定のサブネットにNICが配置され、IPアドレスが振られる。そのIPアドレスにアクセスすると、Azure側のMySQLに接続できる。

    ●高可用性構成

    ①ゾーン内冗長構成

    イコール可用性ゾーン

    ②ゾーン冗長構成

    イコールリージョン

    ※可用性ゾーン:データセンターが集まったもの

    ※リージョン:可用性ゾーンが複数集まったもの

  • Azure マネージドIDについてまとめてみた

    ●マネージドIDとは?

    Azureリソースへアクセスする際に利用する認証方式の1つ。

    Entra認証をサポートしているサービスにアクセスするためのトークンを取得する際に利用。マネージドIDはAzure側で管理。

    構成ファイルにアクセス情報(トークン、秘密鍵等)を含めなくて良いため、セキュアなキー管理が実現できる。

    ※トークン:ワンタイムパスワードを生成するツールの総称。簡単なイメージでいうと、データの鍵(これを持っていると毎回ログインしなくて済む)みたいなイメージ

    ●マネージドIDには2種類ある

    ①システム割り当てマネージドID

    ②ユーザ割り当てマネージドID

    主な特徴は以下の通り。

    システム割り当てマネージドDユーザ割り当てマネージドID
    作成方法Azureリソースに紐づいて作成される単独のAzureリソースとして作成する
    ライフサイクル作成したリソースに紐付けられ、リソースが削除されるとマネージドIDも削除される独立したライフサイクルを持つ(特定のリソースに紐付けられない)
    Azureリソースとの関連付け1つのAzureリソースにのみ紐付けることができる1つのユーザ割り当てマネージドIDを複数のAzureリソースに紐付けることができる

    ●サービスプリンシパルとは?

    簡単なイメージとしては、ユーザ側で行うRole付与はサービスプリンシパルで行われており、サービスプリンシパルを経由して各種リソースにアクセスしている。

    以下、サービスプリンシパルとマネージドIDの違いについてChatGPTの回答

    ●トークンの取得フロー

    MSの公式マニュアル上でも展開されてます。(正直内容はよく分からなかった…)

    https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-managed-identities-work-vm

    私が見たブログ記事では、以下のような処理が行われている旨まとめられてました。

    結果としては「Azure上から特殊なIPアドレス(リンクローカルアドレス)が割り当てられているAzure Instance Metadata Serviceを経由してEntra IDにトークンを要求する」という処理が行われているようです。

    リンク先ではVM上からマネージドIDを利用してアクセストークンを取得する際のフローが説明されているのですが、ざっくりまとめると

    1. VM 内からのみアクセスできる Azure Instance Metadata サービス エンドポイントにトークン (http://169.254.169.254/metadata/identity/oauth2/token) を要求
    2. クライアント ID と証明書を使用してAzure Instance Metadata ServiceがMicrosoft Entra IDにトークンを要求し、Entra IDがトークンを返却する
    3. 取得したトークンを利用して認証を行う

    という流れが記載されています。

    ●最後に

    マネージドIDとは、

    • Azureリソースにアクセスする際に利用する認証方式の1つ(アクセストークンを発行)
    • 構成ファイルにアクセス情報を含めないため、セキュアなキー管理を実現
    • 2種類(システム割り当てマネージドIDとユーザー割り当てマネージドID)存在する
    • サービスプリンシパルとの違いは、アプリやスクリプトがAzureリソースにアクセスする際に用いるか、もしくはAzureリソース同士のアクセスの際に用いるか

    ●参考

    https://qiita.com/shimonishim/items/8d01b18f512eeeae2972