Megosztás a következőn keresztül:


SAS URI létrehozása virtuálisgép-rendszerképhez

Feljegyzés

A virtuális gép (VM) közzétételéhez közös hozzáférésű jogosultságkód (SAS) URI használható. Másik lehetőségként megoszthatja a rendszerképet a Partnerközpontban az Azure számítási katalógusán keresztül. További útmutatásért tekintse meg a virtuális gép létrehozását jóváhagyott bázis használatával, vagy hozzon létre egy virtuális gépet saját rendszerkép használatával.

Az első lépések előtt a következőkre lesz szüksége:

VHD kinyerése virtuális gépből

Feljegyzés

Ezt a lépést kihagyhatja, ha már feltöltött egy VHD-t egy tárfiókba.

A virtuális merevlemez virtuális gépből való kinyeréséhez először pillanatképet kell készítenie a virtuálisgép-lemezről, majd ki kell nyernie a virtuális merevlemezt a pillanatképből a tárfiókba.

Pillanatkép készítése a virtuálisgép-lemezről

  1. Jelentkezzen be az Azure Portalra.
  2. Válassza az Erőforrás létrehozása, majd a Pillanatkép keresése és kiválasztása lehetőséget.
  3. A Pillanatkép panelen válassza a Létrehozás lehetőséget.
  4. Válassza ki az előfizetést. Válasszon ki egy meglévő erőforráscsoportot a kijelölt előfizetésen belül, vagy hozzon létre újat , és adja meg a létrehozandó új erőforráscsoport nevét. Ez az az erőforráscsoport, amelyhez a pillanatkép társítva lesz.
  5. Adja meg a pillanatkép nevét.
  6. Forrástípus esetén válassza a Lemez lehetőséget.
    1. Válassza ki a forrás-előfizetést, amely a virtuálisgép-lemezt tartalmazó előfizetés. Ez eltérhet az új pillanatkép cél-előfizetésétől.
  7. Forráslemez esetén válassza ki a pillanatképhez használandó felügyelt lemezt.
  8. A Storage típushoz válassza a Standard HDD lehetőséget, kivéve, ha nagy teljesítményű SSD-n kell tárolnia.
  9. Válassza a Felülvizsgálat és létrehozás lehetőséget. Sikeres érvényesítés esetén válassza a Létrehozás lehetőséget.

A VHD kinyerése a tárfiókba

A következő szkripttel exportálhatja a pillanatképet egy VHD-be a tárfiókban. Minden paraméterhez ennek megfelelően szúrja be az adatokat.

#Provide the subscription Id where the snapshot is created
subscriptionId=yourSubscriptionId

#Provide the name of your resource group where the snapshot is created
resourceGroupName=myResourceGroupName

#Provide the snapshot name
snapshotName=mySnapshot

#Provide Shared Access Signature (SAS) expiry duration in seconds (such as 3600)
#Know more about SAS here: https://learn.microsoft.com/azure/storage/storage-dotnet-shared-access-signature-part-1
sasExpiryDuration=3600

#Provide storage account name where you want to copy the underlying VHD file.
storageAccountName=mystorageaccountname

#Name of the storage container where the downloaded VHD will be stored.
storageContainerName=mystoragecontainername

#Provide the access key for the storage account that you want to copy the VHD to.
storageAccountKey=mystorageaccountkey

#Give a name to the destination VHD file to which the VHD will be copied.
destinationVHDFileName=myvhdfilename.vhd

az account set --subscription $subscriptionId

sas=$(az snapshot grant-access --resource-group $resourceGroupName --name $snapshotName --duration-in-seconds $sasExpiryDuration --query [accessSas] -o tsv)

az storage blob copy start --destination-blob $destinationVHDFileName --destination-container $storageContainerName --account-name $storageAccountName --account-key $storageAccountKey --source-uri $sas

Ez a fenti szkript a következő parancsokkal hozza létre az SAS URI-t egy pillanatképhez, és a mögöttes VHD-t egy tárfiókba másolja az SAS URI használatával.

Parancs Jegyzetek
az disk grant-access Írásvédett SAS-t hoz létre, amellyel a mögöttes VHD-fájlt egy tárfiókba másolhatja vagy letöltheti a helyszíni fiókba.
az storage blob copy start A blobokat aszinkron módon másolja az egyik tárfiókból a másikba. Az új blob állapotának ellenőrzéséhez használja az az storage blob show-t .

Az SAS URI létrehozása

Sas-cím (URI) létrehozásához két gyakori eszköz használható:

  • Azure Storage böngésző – Elérhető az Azure Portalon.
  • Azure CLI – Nem Windows operációs rendszerekhez és automatizált vagy folyamatos integrációs környezetekhez ajánlott.

Az 1. eszköz használata: Azure Storage böngésző

  1. Nyissa meg a Tárfiókot.
  2. Nyissa meg a Storage böngészőt , és válassza ki a blobtárolókat.
  3. A tárolóban kattintson a jobb gombbal a VHD-fájlra, és válassza az SAS létrehozása lehetőséget.
  4. A megjelenő Közös hozzáférésű jogosultságkód menüben töltse ki a következő mezőket:
    • Engedélyek – Olvasási engedélyek kiválasztása. Ne adjon meg írási vagy törlési engedélyeket.
    • Kezdési dátum/idő – Ez a VHD-hozzáférés engedély kezdő dátuma. Az UTC időváltozásai elleni védelem érdekében adjon meg egy dátumot, amely egy nappal az aktuális dátum előtt van. Ha például az aktuális dátum 2022. július 15., állítsa be a dátumot 2022.07.14-én.
    • Lejárati dátum/idő – Ez a VHD-hozzáférés engedélyének lejárati dátuma. Adjon meg legalább három héttel az aktuális dátumot meghaladó dátumot.
  5. A VHD-hez társított SAS URI létrehozásához válassza az SAS-jogkivonat és AZ URL-cím létrehozása lehetőséget.
  6. Másolja ki a Blob SAS URL-címét, és mentse egy biztonságos helyen lévő szövegfájlba.
  7. Ismételje meg ezeket a lépéseket minden közzétenni kívánt virtuális merevlemez esetében.

Feljegyzés

Ha olvasási és listaengedélyekkel rendelkező SAS URI-t is létre kell hoznia, ezt a tároló szintjén hozhatja létre. Kövesse a fenti lépéseket, de mindenképpen válassza ki az olvasási és a listaengedélyeket is. A 6. lépés befejezése után hozzá kell adnia a blobfájl nevét a ?sp=rl elé, hogy hivatkozzon a tárolóban lévő VHD-fájlra. Ha például a VHD-fájl "mytestvhd.vhd" volt, az SAS URI a következőképpen nézne ki:

<container-service-endpoint>/mytestvhd.vhd?<sas-connection-string>

A 2. eszköz használata: Azure CLI

  1. Az Azure CLI-ben futtassa a következő parancsot: Azure CLICopy

  2. Nyissa meg a Cloud Shellt, futtassa a következő parancsot:

    az storage container generate-sas --connection-string 'DefaultEndpointsProtocol=https;AccountName=\<account-name\>;AccountKey=\<account-key\>;EndpointSuffix=core.windows.net' --name \<container-name\> --permissions r --start '\<start-date\>' --expiry '\<expiry-date\>'

  3. A fenti parancs futtatása előtt ne felejtse el beszúrni a következő paraméterértékeket.

    Paraméter értéke Leírás
    account-name Az Azure Storage-fiók neve.
    account-key Az Azure Storage-fiók kulcsa.
    container-name A VHD-fájlt üzemeltető blobtároló.
    kezdő dátum Ez a VHD-hozzáférés engedély kezdő dátuma. Adjon meg egy dátumot egy nappal az aktuális dátum előtt. Ha például az aktuális dátum 2022. július 15., állítsa be a dátumot 2022.07.14-én. Adja meg a dátumokat UTC dátum/idő formátumban (YYYY-MM-DDT00:00:00Z), például 2022-04-01T00:00:00Z.
    lejárati dátum Ez a VHD-hozzáférés engedélyének lejárati dátuma. Adjon meg egy dátumot legalább három héttel az aktuális dátum után. Adja meg a dátumokat UTC dátum/idő formátumban (YYYY-MM-DDT00:00:00Z), például 2022-04-01T00:00:00Z.
  4. Másolja ki a SAS-kapcsolati sztring, és mentse egy biztonságos helyen lévő szövegfájlba. Szerkessze ezt a sztringet a VHD helyadatainak hozzáadásához a végső SAS URI létrehozásához.

  5. Az Azure Portalon nyissa meg azt a blobtárolót, amely tartalmazza az új URI-hoz társított VHD-t.

  6. Másolja ki a blobszolgáltatás végpontjának URL-címét.

  7. Szerkessze a szövegfájlt a SAS kapcsolati sztring a 2. lépésből. Ezzel a formátummal hozza létre a teljes SAS URI-t. Mindenképpen szúrjon be egy "?"-t a végpont URL-címe és a kapcsolati sztring közé.

    <blob-service-endpoint-url>?<sas-connection-string>

Virtuális gép SAS-hibaüzenetei

Ez a táblázat a közös hozzáférésű jogosultságkódok (SAS) URI partnerközpontban való biztosításakor előforduló gyakori hibákat és a javasolt megoldásokat mutatja be.

Probléma Hibaüzenet Javítás
"?" nem található az SAS URI-ban Must be a valid Azure shared access signature URI. Győződjön meg arról, hogy a megadott SAS URI a megfelelő szintaxist használja, és tartalmazza a "?" karakter.
Szintaxis: <blob-service-endpoint-url>?<sas-connection-string>
"st" paraméter nem SAS URI-ban Specified SAS URL cannot be reached. Frissítse az SAS URI-t a megfelelő kezdő dátum ("st") értékkel.
"se" paraméter nem SAS URI-ban The end date parameter (se) is required. Frissítse az SAS URI-t a megfelelő záró dátum ("se") értékkel.
"sp=r" nem SAS URI-ban Missing Permissions (sp) must include 'read' (r). Frissítse az SAS URI-t az ("sp=r") engedélyekkel Read .
SAS URI engedélyezési hiba Failure: Copying Images. Not able to download blob due to authorization error. Tekintse át és javítsa ki az SAS URI formátumot. Szükség esetén újragenerálódik.
Az SAS URI "st" és "se" paraméterei nem rendelkeznek teljes dátum-idő specifikációval The start time parameter (st) is not a valid date string.
VAGY
The end date parameter (se) is not a valid date string.
Az SAS URI kezdő dátum - és záródátumparamétereinek ("st" és "se" alsztringeknek) teljes dátum-idő formátumúnak kell lenniük (YYYY-MM-DDT00:00:00Z), például 11-02-2017T00:00:00Z. A rövidített verziók érvénytelenek (az Azure CLI egyes parancsai alapértelmezés szerint rövidített értékeket generálhatnak).

További információ: Korlátozott hozzáférés biztosítása az Azure Storage-erőforrásokhoz közös hozzáférésű jogosultságkódok (SAS) használatával.

Ellenőrizze az SAS URI-t

Mielőtt közzétennénk a Partnerközpontban, ellenőrizze az SAS URI-t, hogy elkerülje az SAS URI-val kapcsolatos problémákat a kérés elküldése után. Ez a folyamat nem kötelező, de ajánlott.

  • Az URI tartalmazza a VHD-lemezkép fájlnevét, beleértve a fájlnévkiterjesztést .vhdis.
  • Sp=r az URI közepén jelenik meg. Ez a sztring olvasási engedélyt ad meg.
  • Amikor sr=c megjelenik, ez azt jelenti, hogy a tárolószintű hozzáférés meg van adva.
  • Másolja és illessze be az URI-t egy böngészőbe a blob teszteléséhez (a letöltés befejezése előtt megszakíthatja a műveletet).