Wszystkie usługi Azure składowane są na storage (magazyn danych). Azure zapewnia dwa typy kont storage: standard i premium.
- Standard – ten rodzaj konta zawiera takie usługi jak blobs, files, queues, tables. Korzysta z dysków HDD.
- Premium – na takim koncie można uruchamiać wysoko wydajne maszyny virtualne z niskimi opóźnieniami takie jak D-Series. Korzysta z dysków SDD.
W celu zapewnienia redundancji Azure oferuje różne metody replikacji danych w magazynie.
Typ konta | Opis |
Standard_LRS ( Locally redundant storage) | Utworzone zostają trzy kopie danych w pojedynczym centrum danych. |
Standard_ZRS (Zone redundant storage) |
Utworzone zostają także trzy kopie danych ale w dwóch lub trzech centrach danych w jednym lub dwóch regionach. ZRS wspiera tylko blokowe blobsy. Tej metody replikacji nie widziałem na portalu Azure. |
Standard_GRS (Geographically redundant storage) |
Tak jak w LRS (trzy lokalne kopie) oraz dodatkowo trzy kopie w drugim odległym data center. |
Standard_RAGRS (Read-access geographically redundant storage) |
Tak jak GRS ale dodatkowo ma się możliwość odczytu danych w drugim datacenter. Aktualnie domyślna metoda replikacji. |
W magazynie istnieją cztery rodzaje usług do składowania danych:
- Azure Blob storage – używane do składowania dużych plików (blob – binary large objects), np. video, dysków do wirtualnych maszyn, obrazków, plików CSS, statycznych plików stron webowych, backupów, współdzielenia plików z zewnętrznymi użytkownikami.
- Azure File storage – dostęp do plików przez protokół Server Message Block (SMB). Taki zasób może być podmontowany tylko na maszynach wirtualnych działających w chmurze Azure, nie mogą być podmontowane na komputerach będących poza chmurą.
- Tabele (Tables)
- Kolejki (Queue)
Dostęp do usług w magazynie możliwy jest przez tzw. zakończenia (endpoints).
■ https://[account name].blob.core.windows.net
(blob)
■ https://[account name].table.core.windows.net
(table)
■ https://[account name].queue.core.windows.net
(queue)
■ https://[account name].file.core.windows.net
(file)
Każde zakończenie (endpoint) dostępne jest domyślnie przez http lub https.
Aby mieć do dostęp do storage trzeba założyć stosowne konto. Teraz gdy mamy utworzoną przynajmniej jedną grupę zasobów możemy na niej utworzyć konto storage.
1 2 3 4 5 |
PS C:\> New-AzureRmStorageAccount -ResourceGroupName RG01 -AccountName mystorageaccount001 -Location westeurope -SkuName Standard_GRS StorageAccountName ResourceGroupName Location SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly ------------------ ----------------- -------- ------- ---- ---------- ------------ ----------------- ---------------------- mystrorageaccount001 RG01 westeurope StandardGRS Storage 2018-08-12 21:59:01 Succeeded False |
Utworzenie magazynu z NetworkRuleSet zaczerpniętym z JSONa.
1 2 3 4 5 6 |
PS C:\>New-AzureRmStorageAccount -ResourceGroupName MyResourceGroup -AccountName mystorageaccount0001 -Location westus -Type Standard_LRS -NetworkRuleSet (@{bypass="Logging,Metrics"; ipRules=(@{IPAddressOrRange="20.11.0.0/16";Action="allow"}, @{IPAddressOrRange="10.0.0.0/7";Action="allow"}); virtualNetworkRules=(@{VirtualNetworkResourceId="/subscriptions/s1/resourceGroups/g1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1";Action="allow"}, @{VirtualNetworkResourceId="/subscriptions/s1/resourceGroups/g1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2";Action="allow"}); defaultAction="Deny"}) |
Wyświetlenie listy dostępnych magazynów.
1 2 3 4 5 |
PS C:\> Get-AzureRmStorageAccount StorageAccountName ResourceGroupName Location SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly ------------------ ----------------- -------- ------- ---- ---------- ------------ ----------------- ---------------------- mystorageaccount0001 RG01 westeurope StandardGRS Storage 2018-08-12 21:59:01 Succeeded False |
Przykład kasowania magazynu.
1 |
PS C:\> Remove-AzureRmStorageAccount -ResourceGroupName "RG01" -AccountName "mystorageaccount0001" |
Modyfikacja magazynu, np. zmieńmy typ.
1 |
PS C:\> Set-AzureRmStorageAccount -ResourceGroupName "RG01" -AccountName "mystorageaccount001" -Type "Standard_RAGRS" |