Tämä käsikirja kattaa Container Apps -ympäristön, jossa on työkuormaprofiilit ja sisäinen virtuaaliverkon sisäänkäynti, johon päästään kannettavalta tietokoneelta hyväksytyn piste-sivusto-VPN:n kautta sovelluksen suoraa FQDN:tä käyttäen ja ilman ympäristötason HTTP-reittejä. ympäristön sisäänkäynti on asiakkaasta saavutettavissa, sovelluksen saapuvan liikenteen laajuus hyväksyy kutsujan ja isäntänimi ratkeaa yksityiseen sisäänkäyntiin. Jokainen alla oleva vaihe jättää todennettavan tuloksen ja palautuksen, joka ei koske mihinkään, mitä et muuttanut. Suorita ne annetussa järjestyksessä, koska mikään myöhempi vaihe ei voi korvata vaiheessa 1 väärin tehtyä laajuuspäätöstä.

Ennen kuin kosket DNS:ään, selvitä sana sisäinen. Tässä tuotteessa sitä käytetään kahdesta eri laajuudesta, ja niiden vaihtaminen on yleisin syy siihen, että toimiva nimi ei silti palauta mitään hyödyllistä.

Vaihe 1: vahvista ympäristön ja sovelluksen laajuus

Lue sovelluksen saapuvan liikenteen kokoonpano ennen minkään tietueen muuttamista:

SettingBoundary
Internal environmentThe environment entry is reached through its private network arrangement
App with internal ingressCallers from the environment VNet only; a VPN laptop qualifies once it has a route into that VNet and the domain resolves privately
App with external ingress in an internal environmentThe app accepts outside traffic through the environment's private entry

Sisäinen saapuva liikenne tarjotaan ympäristön sisäisessä kuormantasaimessa ympäristön VNetin sisällä, joten kysymys ei ole siitä, onko kannettava tietokone toinen konttisovellus, vaan siitä, pääseekö se kyseiseen VNetiin. VPN-asiakas, jolla on reitti VNetiin ja jonka ympäristön oletusverkkotunnus ratkeaa yksityisen vyöhykkeen kautta, on kelvollinen kutsuja, ja juuri sitä muut vaiheet rakentavat. Sisäinen ympäristö ilman julkista sisäänkäyntiä on eri tosiasia kuin sovellus, jossa on sisäinen saapuva liikenne, eikä sovellustason ulkoinen saapuva liikenne anna ympäristölle julkista ovea. Kirjoita laajuus sekä tikettiin että portaaliin, koska seuraava insinööri lukee tiketin ensin.

Vahvista tämä laajuus kokoonpanon omistajan kanssa ennen jatkamista ja pidä portti kapeana: jos reittiä ympäristön VNetiin ei ole tai ympäristön oletusverkkotunnus ei ratkea yksityisen vyöhykkeen kautta, pysähdy ja korjaa ensin se polku. Mikään myöhempi vaihe ei voi korvata kutsujaa, joka ei pääse VNetiin tai ei pysty ratkaisemaan nimeä.

Vaihe 2: kerää todellinen isäntänimi ja sisäänkäynnin osoite

Kirjaa ympäristön oletusverkkotunnus, sen staattinen yksityinen sisäänkäyntiosoite ja sovelluksen määritetty FQDN, otettuna resurssista eikä vanhasta kuvakaappauksesta tai wikisivusta:

az containerapp env show -n ENV -g RG \
  --query "{domain:properties.defaultDomain, ip:properties.staticIp}"
az containerapp show -n APP -g RG \
  --query "properties.configuration.ingress.fqdn"

Container Apps -palvelun yksityisen sisäänkäynnin ohje kuvaa ympäristön verkkotunnuksen sovittamista sen sisäiseen osoitteeseen sovelluksen isäntänimien pysyessä ehjinä. Juuri tätä muotoa rakennat tässä käsin, joten kohdista vyöhykkeen sisältö siihen sen sijaan, että keksisit uuden nimeämiskaavan.

Jos lukemasi verkkotunnus ei vastaa sovelluksen ilmoittamaa FQDN:tä, pysähdy ja sovita ne nyt. Vyöhykkeen rakentaminen väärälle suffiksille tuottaa isäntänimen, joka ratkeaa täydellisesti ja laskeutuu silti väärälle virtuaali-isännälle.

Vaihe 3: aseta yksityinen vyöhyke VPN:n ratkaisupolulle

Luo tai käytä uudelleen tuettua yksityistä DNS-vyöhykettä ympäristön todelliselle oletusverkkotunnukselle, ja dokumentoidut jokerimerkki- ja osoitetietueet osoittavat staattiseen sisäänkäyntiin. Linkitä vyöhyke sopivaan virtuaaliverkkoon ja tee yksityinen auktoriteetti saavutettavaksi VPN:n hyväksytyn ratkaisupolun kautta sen sijaan, että olettaisit linkin riittävän.

Piste-sivusto-asiakas tarvitsee yleensä yksityisen ratkaisimen saapuvan päätepisteen tai tuetun DNS-edelleenlähettäjän päästäkseen kyseiselle vyöhykkeelle. Vyöhykkeen linkittäminen muuttaa sitä, mitä Azure ratkaisee linkitetyille verkoille; se ei uudelleenohjaa jokaisen ulkoisen kannettavan julkista ratkaisinta. Älä korvaa sitä toisesta Container Apps -verkkomallista lainatulla yksityisen päätepisteen DNS-vyöhykkeellä, koska tietueiden nimet ja vyöhykkeen suffiksi eivät täsmää.

Tämän vaiheen palautus on vyöhykelinkin tai lisäämäsi tietueen poistaminen. Kirjaa, kumpi se oli, koska jaetun vyöhykkeen poistaminen yhden linkin kumoamiseksi on tunnettu tapa rikkoa toinen ympäristö.

Vaihe 4: testaa nimi ja sitten hylätty yleisö

Testaa isäntänimi ja TLS-identiteetti yhdessä, ei vain osoitetta. Kontrolloitua nimien yhdistämisen diagnostiikkaa varten voit kiinnittää osoitteen säilyttäen isäntänimen:

curl --resolve app.ENVIRONMENT_DOMAIN:443:10.40.0.10 \
    https://app.ENVIRONMENT_DOMAIN/

Korvaa isäntänimi sovelluksen todellisella FQDN:llä ja osoite todellisella sisäisellä sisäänkäynnillä. Tämä vaikuttaa vain kyseiseen yhteen pyyntöön eikä ole DNS:n tarjoamista. Älä lisää -k muuttaaksesi identiteettivirheen näennäiseksi onnistumiseksi, koska varmenteen epäsopivuus on merkki siitä, että osut väärään kuuntelijaan.

Numeerisen osoitteen pyytäminen suoraan voi valita väärän virtuaali-isännän tai epäonnistua validoinnissa, vaikka TCP 443 vastaisi, joten pidä onnistunutta IP-testiä todisteena verkosta eikä muusta. Aiottuun kannettavaan tietokoneeseen nähden normaali ratkaisupolku on asiakkaan DNS-edelleenlähettäjä tai vyöhykettä isännöivän yksityisen ratkaisimen saapuva päätepiste, ja siellä oleva vika on ratkaisimen saavutettavuusongelma, ei puuttuva tietue. Vahvista, että sama pyyntö onnistuu tällä polulla, ja vahvista sitten, että hylätty yleisö on edelleen hylätty.

Mitä kirjataan ja mitä palautetaan

Kontin kohdeportti ja asiakkaan HTTPS-portti ovat erillisiä asetuksia. Älä julkaise kontin kohdeporttia VPN:n kautta siksi, että kontti kuuntelee siellä, äläkä laajenna verkkosääntöä porttitestin läpäisemiseksi. Molemmat muutokset elävät tapahtuman yli ja ne on myöhemmin vaikea kohdistaa.

Lopeta tuoreeseen sovellustoimintoon aiotulta kannettavalta tietokoneelta sen valtuutetulla identiteetillä ja normaalilla DNS:llä ja tarkista sitten, että valtuuttamaton kutsuja epäonnistuu edelleen. Kun olet sovelluksen kokoonpanossa, vahvista myös, paljastaako ympäristötason HTTP-reitti tämän sovelluksen kohteena, koska se reitti on toinen ovi, jota saapuvan liikenteen laajuus ei kuvaa.

Kirjaa viisi arvoa yhteen: ympäristön laajuus, sovelluksen saapuvan liikenteen laajuus, FQDN, yksityinen sisäänkäyntiosoite ja ratkaisimen omistaja. Ne viisi kuvaavat koko käyttösopimuksen, ja seuraava henkilö, joka selvittää sitä, kysyy juuri niitä.

Aiheeseen liittyvät artikkelit