{"id":2216,"date":"2018-08-05T20:54:51","date_gmt":"2018-08-05T18:54:51","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=2216"},"modified":"2018-08-17T12:37:51","modified_gmt":"2018-08-17T10:37:51","slug":"storage-accounts-konta-magazynu-danych","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2018\/08\/05\/storage-accounts-konta-magazynu-danych\/","title":{"rendered":"Storage accounts &#8211; konta magazynu danych"},"content":{"rendered":"<p>Wszystkie us\u0142ugi Azure sk\u0142adowane s\u0105 na storage (magazyn danych).\u00a0 Azure zapewnia dwa typy kont storage: standard i premium.<\/p>\n<p><!--more--><\/p>\n<ul>\n<li><em>Standard<\/em> &#8211; ten rodzaj konta zawiera takie us\u0142ugi jak blobs, files, queues, tables. Korzysta z dysk\u00f3w HDD.<\/li>\n<li><em>Premium<\/em> &#8211; na takim koncie mo\u017cna uruchamia\u0107 wysoko wydajne maszyny virtualne z niskimi op\u00f3\u017anieniami takie jak D-Series. Korzysta z dysk\u00f3w SDD.<\/li>\n<\/ul>\n<p>W celu zapewnienia redundancji Azure oferuje r\u00f3\u017cne metody replikacji danych w magazynie.<\/p>\n<table border=\"1\">\n<tbody>\n<tr>\n<td><em>Typ konta<\/em><\/td>\n<td><em>Opis<\/em><\/td>\n<\/tr>\n<tr>\n<td><strong>Standard_LRS<\/strong> ( Locally redundant storage)<\/td>\n<td>Utworzone zostaj\u0105 trzy kopie danych w pojedynczym centrum danych.<\/td>\n<\/tr>\n<tr>\n<td><strong>Standard_ZRS<\/strong><br \/>\n(Zone redundant storage)<\/td>\n<td>Utworzone zostaj\u0105 tak\u017ce trzy kopie danych ale w dw\u00f3ch lub trzech centrach danych w jednym lub dw\u00f3ch regionach. ZRS wspiera tylko blokowe blobsy. Tej metody replikacji nie widzia\u0142em na portalu Azure.<\/td>\n<\/tr>\n<tr>\n<td><strong>Standard_GRS<\/strong><br \/>\n(Geographically redundant storage)<\/td>\n<td>Tak jak w LRS (trzy lokalne kopie) oraz dodatkowo trzy kopie w drugim odleg\u0142ym data center.<\/td>\n<\/tr>\n<tr>\n<td><strong>Standard_RAGRS<\/strong><br \/>\n(Read-access geographically redundant storage)<\/td>\n<td>Tak jak GRS ale dodatkowo ma si\u0119 mo\u017cliwo\u015b\u0107 odczytu danych w drugim datacenter. Aktualnie domy\u015blna metoda replikacji.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2251 size-full\" src=\"http:\/\/miroslaw.borodziuk.eu\/wp-content\/uploads\/GeoRepilcation.png\" alt=\"\" width=\"1732\" height=\"368\" srcset=\"http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/GeoRepilcation.png 1732w, http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/GeoRepilcation-300x64.png 300w, http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/GeoRepilcation-768x163.png 768w, http:\/\/miro.borodziuk.eu\/wp-content\/uploads\/GeoRepilcation-1024x218.png 1024w\" sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>W magazynie istniej\u0105 cztery rodzaje us\u0142ug do sk\u0142adowania danych:<\/p>\n<ul>\n<li><em>Azure Blob storage <\/em>&#8211; u\u017cywane do sk\u0142adowania du\u017cych plik\u00f3w (blob &#8211; binary large objects), np. video, dysk\u00f3w do wirtualnych maszyn, obrazk\u00f3w, plik\u00f3w CSS, statycznych plik\u00f3w stron webowych, backup\u00f3w, wsp\u00f3\u0142dzielenia plik\u00f3w z zewn\u0119trznymi u\u017cytkownikami.<\/li>\n<li><em>Azure File storage<\/em> &#8211; dost\u0119p do plik\u00f3w przez protok\u00f3\u0142 Server Message Block (SMB). Taki zas\u00f3b mo\u017ce by\u0107 podmontowany tylko na maszynach wirtualnych dzia\u0142aj\u0105cych w chmurze Azure, nie mog\u0105 by\u0107 podmontowane na komputerach b\u0119d\u0105cych poza chmur\u0105.<\/li>\n<li><em>Tabele (Tables)<\/em><\/li>\n<li><em>Kolejki (Queue)<\/em><\/li>\n<\/ul>\n<p>Dost\u0119p do us\u0142ug w magazynie mo\u017cliwy jest przez tzw. zako\u0144czenia (<em>endpoints<\/em>).<\/p>\n<p>\u25a0 <i><code>https:\/\/[account name].blob.core.windows.net<\/code> <\/i>(blob)<br \/>\n\u25a0 <i><code>https:\/\/[account name].table.core.windows.net<\/code> <\/i>(table)<br \/>\n\u25a0 <code><i>https:\/\/[account name].queue.core.windows.net <\/i><\/code>(queue)<br \/>\n\u25a0 <code><i>https:\/\/[account name].file.core.windows.net <\/i><\/code>(file)<\/p>\n<p>Ka\u017cde zako\u0144czenie (endpoint) dost\u0119pne jest domy\u015blnie przez http lub https.<\/p>\n<p>Aby mie\u0107 do dost\u0119p do storage trzeba za\u0142o\u017cy\u0107 stosowne konto. Teraz gdy mamy utworzon\u0105 przynajmniej jedn\u0105 grup\u0119 zasob\u00f3w mo\u017cemy na niej utworzy\u0107 konto storage.<\/p>\n<pre class=\"lang:ps decode:true\">PS C:\\&gt; New-AzureRmStorageAccount -ResourceGroupName RG01 -AccountName mystorageaccount001 -Location westeurope -SkuName Standard_GRS\r\n\r\nStorageAccountName   ResourceGroupName Location   SkuName     Kind    AccessTier CreationTime        ProvisioningState EnableHttpsTrafficOnly\r\n------------------   ----------------- --------   -------     ----    ---------- ------------        ----------------- ----------------------\r\nmystrorageaccount001 RG01              westeurope StandardGRS Storage            2018-08-12 21:59:01 Succeeded         False\r\n\r\n<\/pre>\n<p>Utworzenie magazynu z NetworkRuleSet zaczerpni\u0119tym z JSONa.<\/p>\n<pre class=\"lang:ps decode:true\">PS C:\\&gt;New-AzureRmStorageAccount -ResourceGroupName MyResourceGroup -AccountName mystorageaccount0001 -Location westus -Type Standard_LRS -NetworkRuleSet (@{bypass=\"Logging,Metrics\";\r\nipRules=(@{IPAddressOrRange=\"20.11.0.0\/16\";Action=\"allow\"},\r\n@{IPAddressOrRange=\"10.0.0.0\/7\";Action=\"allow\"});\r\nvirtualNetworkRules=(@{VirtualNetworkResourceId=\"\/subscriptions\/s1\/resourceGroups\/g1\/providers\/Microsoft.Network\/virtualNetworks\/vnet1\/subnets\/subnet1\";Action=\"allow\"},\r\n@{VirtualNetworkResourceId=\"\/subscriptions\/s1\/resourceGroups\/g1\/providers\/Microsoft.Network\/virtualNetworks\/vnet2\/subnets\/subnet2\";Action=\"allow\"});\r\ndefaultAction=\"Deny\"})<\/pre>\n<p>Wy\u015bwietlenie listy dost\u0119pnych magazyn\u00f3w.<\/p>\n<pre class=\"lang:ps decode:true\">PS C:\\&gt; Get-AzureRmStorageAccount\r\n\r\nStorageAccountName ResourceGroupName Location SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly\r\n------------------ ----------------- -------- ------- ---- ---------- ------------ ----------------- ----------------------\r\nmystorageaccount0001 RG01 westeurope StandardGRS Storage 2018-08-12 21:59:01 Succeeded False<\/pre>\n<p>Przyk\u0142ad kasowania magazynu.<\/p>\n<pre class=\"lang:ps decode:true\">PS C:\\&gt; Remove-AzureRmStorageAccount -ResourceGroupName \"RG01\" -AccountName \"mystorageaccount0001\"<\/pre>\n<p>Modyfikacja magazynu, np. zmie\u0144my typ.<\/p>\n<pre class=\"lang:ps decode:true\">PS C:\\&gt; Set-AzureRmStorageAccount -ResourceGroupName \"RG01\" -AccountName \"mystorageaccount001\" -Type \"Standard_RAGRS\"<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wszystkie us\u0142ugi Azure sk\u0142adowane s\u0105 na storage (magazyn danych).\u00a0 Azure zapewnia dwa typy kont storage: standard i premium.<\/p>\n","protected":false},"author":1,"featured_media":2223,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/2216"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=2216"}],"version-history":[{"count":7,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/2216\/revisions"}],"predecessor-version":[{"id":2253,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/2216\/revisions\/2253"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media\/2223"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=2216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=2216"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=2216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}