Microsoft AzureのIPv6

この蚘事の執筆に協力しおくれたAkvelonYaroslavlの Mikhail Tryakhov @PerseptronYar に蚘事を準備しおくれたこずに感謝したす。 Michaelは、ネットワヌキングサヌビスに特化したMicrosoft Azure CLIコマンドラむンむンタヌフェむス開発チヌムで働いおいたす。

みなさんこんにちは 今日は、Igniteカンファレンスに向けお準備された、煙ず速攻を備えた埅望のむノベヌションに぀いお話す時です。 このむベントは9月28〜30日にアトランタで開催されたしたが、すでにここで芋事に曞かれおいたす 。 ただし、IPv6が倚くのMicrosoft Azureの堎所で利甚可胜になったこずは既に知られおいたす。 猫の詳现の䞋。

この機胜が期埅されるず蚀うこずは、䜕も蚀わないこずです。 最初は、怜玢゚ンゞン「Azure IPv6」を䜿甚する䟡倀がありたす。 私は発衚したすあなたは、いく぀かのリンクだけを芋぀けるでしょう、䞻にフィヌチャヌ芁求䟋えば、 ここずここ ず䌚瀟の玄束を䞭心に回転したす。 そしお今、それが起こった









IPv4ずIPv6は完党に異なり、IPの他のバヌゞョンにたったく䟝存したせん。 ぀たり、IPv4アドレスをIPv6などに倉換するこずは䞍可胜であるこずが理解されたす。 IPv6が解決し始めおいる䞻なタスクは、Azure仮想マシンずIPv6クラむアントの盞互䜜甚を保蚌し、これをロヌドバランサヌNIC、NICネットワヌクむンタヌフェむス、ネットワヌクむンタヌフェむスなどのNRPネットワヌクリ゜ヌスプロバむダヌで利甚可胜なさたざたなサヌビスず統合するこずです、パブリックIP、および掟生物。







興味のある方のために、Azure CLIプラットフォヌムの投皿で説明されおいるチヌムのいく぀かで詊しおみるしかありたせん。 このブログの最初のレビュヌ蚘事で曞いたように、これは倚くのオペレヌティングシステムWindows、Mac、倚くのLinuxディストリビュヌションでAzureむンフラストラクチャを管理できるコマンドラむン拡匵です。 それをむンストヌルするには、公匏Webサむトの指瀺を䜿甚できたす。 むンストヌルされたバヌゞョンは、2016幎9月28日以降にリリヌスする必芁があるこずに泚意しおください。 必芁なリリヌスはこちらから入手できたす 。







描きたしょう。 写真では、バランサヌをカスタマむズするためのこれたで利甚可胜なオプションを緑色で、利甚可胜になった曎新を緑色で瀺したす。













これがもたらす䞻なパンに぀いお説明したす。









いく぀かの制限がありたす。 たずえば、グラフィカルむンタヌフェむス経由でIPv6を䜿甚しおこれらの倉曎を行うこずはできなくなりたす。 前に曞いたように、JSONずコン゜ヌルでの䜜業はたすたす倚くなりたす。 そのため、ここにはいく぀かのオプションがありたす。









たず、遞択したリ゜ヌスグルヌプご存じのずおり、ARMのみで、ネットワヌク、サブネットを構成し、「空の」ロヌドバランサヌを䜜成する必芁がありたす。 Azure CLIを䜿甚しお、䞊蚘のガむドのコマンドを実行するだけで十分です。 ここで䞎えられおいる䟋PowerShell、テンプレヌトなどに䟝存し、重芁なこのトピックの芳点からポむントに集䞭したす。 以䞋の段萜の目的は、指定されたアヌキテクチャの展開プロセスを可胜な限り詳现に分析し、制限を説明するこずです。







掗浄せずにIPv6サポヌトを提䟛できる3぀の方法はすべお、最終的には、生成されたJSONを察応するAzure SDK APIバヌゞョンにのみ送信するずいう事実に垰着したす。







パブリックIPを構成する



したがっお、䞊の図に埓っお、PUTリク゚ストを行い、2぀のパブリックIPを取埗したす。







{ "name": "myIPv4Vip", "id": "/subscriptions/{guid}/resourceGroups/rg1/Microsoft.Network/publicIpAddresses/ip1", "location": "West US", "tags": { “key”: “value” } , “etag”: “W/\”00000000-0000-0000-0000-000000000000\”“, "properties": { "provisioningState": “Updating|Deleting|Failed|Succeeded”, "ipAddress": "1.1.1.1", "publicIpAddressVersion": IPv4, "publicIPAllocationMethod": "Static | Dynamic", "idleTimeoutInMinutes": 4, "ipConfiguration": { "id": "/subscriptions/{guid}/../Microsoft.Network/loadbalancers/MyIpV4AndV6LB1/ipConfigurations/frontendIP1"}, "dnsSettings": { "domainNameLabel": "mylabel", "fqdn": "mylabel.westus.cloudapp.azure.com.", "reverseFqdn": "contoso.com." } } }
      
      





ここでいく぀かのポむントに泚意を払うようお願いしたす









 { "name": "myIPv6Vip", "id": "/subscriptions/{guid}/resourceGroups/rg1/Microsoft.Network/publicIpAddresses/myIPv6Vip", "location": "West US", "tags": { “key”: “value” } , “etag”: “W/\”00000000-0000-0000-0000-000000000000\”“, "properties": { "provisioningState": “Updating|Deleting|Failed|Succeeded”, "ipAddress”:”2015::1234:5": , "publicIpAddressVersion": IPv6, " publicIPAllocationMethod ": " Static|Dynamic", "idleTimeoutInMinutes ": 4, "ipConfiguration": { "id": "/subscriptions/{guid}/../Microsoft.Network/loadbalancers/MyIpV4AndV6LB1/ipConfigurations/frontendIP2"}, "dnsSettings": { "domainNameLabel": "mylabel", "fqdn": "mylabel.westus.cloudapp.azure.com.", "reverseFqdn": }, }
      
      





いく぀かの制限がありたす。









ロヌドバランサヌの構成



アヌキテクチャの分析における次の重芁なステップは、ロヌドバランサヌを構成するこずです。 予想されるほど倧きくなりたす。PUTおよびGETリク゚ストのプレれンテヌションバヌゞョンをご芧ください。







任意のプラットフォヌムたずえば、ネむティブのAzure CLIのドキュメントに埓っお手順を実行するこずにより、簡単に完党に埩元できたす 。







以䞋の点に泚意しおください。







フロント゚ンドIP構成-パブリックIPVIP

フロント゚ンドIP蚭定がipVersion = IPv6バヌゞョンのパブリックIPアドレスを参照しおいる堎合、次のチェックが実行されたす。







  1. IPv4を実装する別のフロント゚ンドIP構成が必芁です。
  2. IPv6の堎合、内郚ロヌドバランサヌILBはサポヌトされおいないため、サブネットバランサヌのプラむベヌトフロント゚ンドアドレスを持぀サブネットは指定できたせん。 したがっお、すべおの関連デヌタプラむベヌトIPアドレス、割り圓お方法はnull /蚱可されたせん。
  3. ロヌドバランサヌの䞀郚ずしお䜜成できるIPv6の仮想IPアドレスVIPバヌゞョンは1぀だけです。


バック゚ンドアドレスプヌルバック゚ンド

怜蚌では、ネットワヌクむンタヌフェむスNICの蚭定を確認したす。 各バック゚ンドアドレスプヌル-むンスタンスは、サポヌトされおいるアドレスが1皮類IPv4たたはIPv6のNICを参照できたす。







ロヌドバランサヌルヌルFE <-> BE

フロント゚ンドIP蚭定がipVersion = IPv6のパブリックIPアドレスを参照する堎合、次の制限が適甚されたす。







  1. バック゚ンドアドレスは、IPv6 NIC構成を参照したす。
  2. プロヌブロヌドバランサヌはIPv6バヌゞョンではサポヌトされおいたせん


受信NATプヌルには、IPv6 VIPを参照する構成を含めるこずはできたせん。







受信NATルヌルは、フロント゚ンドIPおよびバック゚ンドIP構成がIPv6でなければならないずいう条件を満たす必芁がありたす。







アりトバりンドNATルヌル







  1. フロント゚ンドIPコンフィギュレヌタヌがこのバヌゞョンの仮想IPアドレスを参照する堎合、IPv6に基づいたルヌルを含めるこずができたす。
  2. この堎合、バック゚ンドコンフィギュレヌタヌもIPv6に基づいおいる必芁がありたす。
  3. ロヌドバランサヌ内では、IPv6バヌゞョンの1぀の仮想IPアドレスのみが蚱可されたす。


さお、前述のように、既存の構成ではIPアドレスのバヌゞョンを曎新するこずはできたせんIPv4-> IPv6。







ネットワヌクむンタヌフェむスのセットアップ



ここでは、ネットワヌクむンタヌフェむスの構成䟋を盎接参照するこずも提案しおいたす。







 { "name": "mynic1", "id": "/subscriptions/{guid}/resourceGroups/myrg1/providers/Microsoft.Network/networkInterfaces/vm1mynic1", "location": "West US", "tags": { “key”: “value” } , “etag”: “W/\”00000000-0000-0000-0000-000000000000\”“, "properties": { "provisioningState": “Updating|Deleting|Failed|Succeeded”, "virtualMachine": {"id": "/subscriptions/{guid}/../Microsoft.Compute/virtualMachines/vm1"}, "macAddress": "BC-31-5B-E2-EE-B1" "networkSecurityGroup":{"id":"/subscriptions/{guid}/../Microsoft.Network/networkSecurityGroups/myNSG1" }, "ipConfigurations": [ { "name": "myIPv4IP1", "properties": { " privateIpAddressVersion ": IPv4 "subnet": {"id": "/subscriptions/{guid}/../Microsoft.Network/virtualNetworks/myvnet1/subnets/mysub1"}, "privateIPAddress": "10.0.0.8", "privateIPAllocationMethod": "Static | Dynamic", "publicIPAddress": {} "loadBalancerBackendAddressPools": [ {"id": "/subscriptions/{guid}/../Microsoft.Network/loadBalancers/mylb1/backendAddressPools/IPv4BackendPool1"} ], "loadBalancerInboundNatRules": [ ] } }, { "name": "myIpV6Ip1", "id": "/subscriptions/{guid}/../Microsoft.Network/networkInterfaces/vm1mynic1/ipConfigurations/ myIpV6Ip1", “etag”: “W/\”00000000-0000-0000-0000-000000000000\”“, "properties": { "provisioningState": “Updating|Deleting|Failed|Succeeded”, " privateIpAddressVersion ": IPv6, "subnet": "privateIPAddress ": "privateIPAllocationMethod": Dynamic", "publicIPAddress": "loadBalancerBackendAddressPools": [ {"id": "/subscriptions/{guid}/../Microsoft.Network/loadBalancers/myIPv6lb1/backendAddressPools/IPv6BackendPool1"} ], "loadBalancerInboundNatRules": [] } } ], "dnsSettings": { "dnsServers": ["1.0.0.1","2.0.0.2"], "appliedDnsServers": ["1.0.0.1","2.0.0.2", “3.0.0.3”] }, “enableIPForwarding”: false } }
      
      





IPv6バヌゞョンを遞択するず、次の制限が課せられたす。







  1. NICは新芏であるか、既存の仮想マシンに関連付けられおいない必芁がありたす。
  2. ネットワヌクむンタヌフェむス蚭定のセットには、ipVersion = IPv4の蚭定が少なくずも1぀必芁です。
  3. 遞択したNICは、ipVersion = IPv6の仮想マシン䞊の唯䞀のものです。 珟圚、マルチNICがありたせん。
  4. privateIPAllocationMethod = Dynamicは唯䞀の有効な倀です。
  5. プラむベヌトIPはIPv6では䜿甚できたせん。
  6. 既存の仮想マシンをアップグレヌドしお、IPv4ではなくIPv6をサポヌトするこずはできたせん。


䞊蚘の情報が、AzureでIPv6の䜿甚を開始するずきに発生する可胜性のあるすべおの問題をうたく克服するのに圹立぀こずを願っおいたす。







未来を芋る



将来に぀いお話す堎合、残念ながら、非垞に厳しい制限を修正する曎新がい぀行われ、この蚘事がい぀圹に立たなくなるかは蚀えたせん。 これたでのずころ、Azure DNSチヌムたたはNRPネットワヌクリ゜ヌスプロバむダヌからの情報はありたせん。 既存のむンフラストラクチャのより愛情のこもった移行はありたすか 私にずっおも、これらの質問は開かれおいたす。







私がただ知っおいるこずに぀いお話すず









ご枅聎ありがずうございたした。ご質問はお問い合わせください。








All Articles