Storage Storage redundancy verified

Read-access geo-redundant storage

Read-access geo-redundant storage, usually called RA-GRS, is a storage redundancy option that keeps a copy of your data in another Azure region and lets you read from that secondary copy. The primary region remains the normal write location. The secondary region is read-only unless a failover changes the account. RA-GRS is useful when an application, operator, or recovery process needs a way to read replicated data during regional trouble. It is not magic failover; applications must know how and when to use the secondary endpoint.

Aliases
RA-GRS, Standard_RAGRS, read-access GRS, read-access geo redundant storage, secondary read endpoint
Difficulty
intermediate
CLI mappings
10
Last verified
2026-05-21

Microsoft Learn

Read-access geo-redundant storage, or RA-GRS, replicates storage account data synchronously within the primary region and asynchronously to a paired secondary region, while exposing a secondary read endpoint. It lets applications read replicated data if the primary region becomes unavailable or secondary-read patterns are intentionally designed.

Microsoft Learn: Azure Storage redundancy2026-05-21

Technical context

In Azure architecture, RA-GRS is configured as the storage account redundancy SKU, typically Standard_RAGRS for general-purpose storage. Azure stores data locally in the primary region and asynchronously replicates it to the paired secondary region. Blob, queue, table, and Data Lake patterns may use the secondary read endpoint differently, while Azure Files has separate redundancy support considerations. Network rules, private endpoints, identity, SAS design, lifecycle policies, metrics, and geo-replication status all affect whether secondary-read access is usable during operations or recovery events.

Why it matters

RA-GRS matters because some workloads need more than a durable primary-region copy. If a regional incident affects access to the primary storage endpoint, read access to a replicated secondary endpoint can keep critical downloads, archives, static content, reporting extracts, or recovery workflows moving. It also helps architects design continuity for data that can tolerate replication lag. The tradeoff is cost and complexity: secondary reads are not writable, data may be behind the primary, and applications must handle endpoint routing deliberately. Choosing RA-GRS without a tested secondary-read plan often buys capability that nobody can use during an outage It should be attached to recovery objectives, not hope.

Where you see it

Signals, screens, and Azure surfaces where this term usually becomes operational.

Signal 01

Storage account overview and redundancy blades show the SKU as Standard_RAGRS, primary and secondary locations, endpoint names, and geo-replication status during continuity reviews and audits.

Signal 02

Azure CLI output from storage account show exposes secondary endpoints, statusOfSecondary, sku.name, lastSyncTime, and network settings used during outage triage or recovery readiness exercises.

Signal 03

Application configuration, SAS generation scripts, recovery runbooks, and incident workbooks reference secondary blob, queue, or table endpoints when teams design read access during regional incidents.

When this becomes relevant

Specific situations where this term helps solve real Azure design, operations, migration, security, reliability, cost, or governance problems.

  • Keep critical blobs readable from a paired region when the primary storage endpoint is impaired and stale data is acceptable.
  • Support disaster recovery runbooks that need read-only access to replicated configuration files, reports, archives, or deployment artifacts.
  • Provide secondary-region evidence access for auditors or operators without promoting the storage account during every incident drill.
  • Design customer download or static-content continuity where reads matter more than accepting writes during regional disruption.
  • Compare resilience choices when ZRS is not enough and the workload does not require primary-region zone redundancy plus geo-read access.

Real-world case studies

Different enterprise-style examples that show the term being used to hit measurable objectives.

Case study 01

Nonprofit keeps disaster documents readable

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

ReliefGrid, a nonprofit emergency-response coordinator, stored shelter plans and supply manifests in Blob Storage. A regional outage could block field teams from reading documents during a crisis.

Business/Technical Objectives
  • Keep critical documents readable from a paired Azure region.
  • Avoid allowing field teams to write stale or conflicting files during incidents.
  • Publish clear freshness expectations for replicated data.
  • Control cost for noncritical archives and training materials.
Solution Using Read-access geo-redundant storage

The platform team moved only crisis-critical containers to a storage account configured with RA-GRS. Normal uploads continued through the primary endpoint, while mobile and web applications included a secondary-read mode activated by feature flag. The runbook required operators to check statusOfSecondary and lastSyncTime with Azure CLI before enabling the mode. SAS generation was scoped to read-only containers, and noncritical training videos stayed on a lower-cost redundancy tier. Azure Monitor alerts watched availability, replication status, and unusual secondary endpoint traffic.

Results & Business Impact
  • Field teams gained a tested secondary-read path for 14,000 critical documents.
  • Storage spend rose only 11 percent because lower-value archives stayed off RA-GRS.
  • Incident drills confirmed document access within seven minutes of primary endpoint failure simulation.
  • Read-only secondary access avoided conflicting updates during recovery exercises.
Key Takeaway for Glossary Readers

RA-GRS is strongest when teams choose specific data that must remain readable and rehearse how secondary reads are activated.

Case study 02

Airline protects operational reference files

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

A regional airline stored aircraft maintenance bulletins and gate procedure files in a storage-backed internal portal. Crews needed read access even if the primary region was impaired.

Business/Technical Objectives
  • Maintain read-only access to approved operational documents during regional disruption.
  • Prevent unapproved document changes while failover decisions were pending.
  • Prove document freshness before directing crews to the secondary endpoint.
  • Log all secondary access for safety and compliance review.
Solution Using Read-access geo-redundant storage

The engineering group configured the portal document account with RA-GRS and added a secondary endpoint field to the application configuration. The portal normally used the primary endpoint, but an operations toggle switched read-only document requests to the secondary endpoint after a CLI check of statusOfSecondary and lastSyncTime. Microsoft Entra groups controlled who could activate the toggle, and Storage diagnostic logs flowed to Log Analytics. The team kept maintenance uploads disabled during secondary-read mode to avoid mixed expectations about current documents.

Results & Business Impact
  • Continuity testing showed crews could access required documents within 10 minutes of activation.
  • Secondary-read logs met the airline safety office evidence requirement.
  • No write conflicts occurred because the secondary mode was read-only by design.
  • The team avoided full storage account failover during two regional connectivity drills.
Key Takeaway for Glossary Readers

RA-GRS can provide practical operational continuity without forcing an immediate failover decision for every storage incident.

Case study 03

Media archive balances resilience and budget

Scenario, objectives, solution, measured impact, and takeaway.

Scenario

A documentary studio kept release masters, transcripts, and rights documents in several storage accounts. Executives wanted regional resilience, but not every archive justified read-access geo-replication Stakeholders also wanted a simple way to prove which accounts deserved premium resilience spending.

Business/Technical Objectives
  • Identify assets that needed secondary-region read access.
  • Avoid upgrading cold, rarely accessed archives unnecessarily.
  • Give legal teams a recovery path for rights documents.
  • Track redundancy decisions in cost and architecture reviews.
Solution Using Read-access geo-redundant storage

The cloud team classified containers by business impact. Rights documents, current-release transcripts, and delivery manifests moved to RA-GRS accounts, while old raw footage stayed on lower-cost redundancy and archive policies. Azure CLI inventory exported SKU, tags, locations, and secondary endpoints for review. The application team added secondary-read links only for approved containers and documented data-age expectations. Budgets and cost allocation tags separated resilience spending from general storage growth, and quarterly reviews checked whether RA-GRS accounts still matched release plans.

Results & Business Impact
  • Only 18 percent of archive capacity moved to RA-GRS, avoiding a blanket redundancy upgrade.
  • Legal recovery testing located replicated rights documents in under 12 minutes.
  • Cost reports clearly separated continuity storage from cold archive storage.
  • Two unused RA-GRS accounts were downgraded after release projects ended.
Key Takeaway for Glossary Readers

RA-GRS should be attached to a business continuity need, not applied blindly to every storage account.

Why use Azure CLI for this?

As an Azure engineer with ten years of storage operations, I use Azure CLI for RA-GRS because redundancy is a setting that needs proof, not guesswork. CLI shows the exact SKU, primary and secondary endpoints, secondary status, last sync time, network rules, and tags across many accounts. During an incident, I can export that evidence quickly and hand it to application owners deciding whether secondary reads are safe. Portal views are fine for one account, but CLI is better for fleet inventory, drift detection, recovery rehearsals, and verifying that a documented runbook matches the actual storage account That speed matters when incident calls need facts immediately.

CLI use cases

  • List storage accounts using Standard_RAGRS across subscriptions or resource groups for continuity inventory.
  • Show secondary endpoints, statusOfSecondary, and lastSyncTime before approving secondary-read use during an incident.
  • Create a storage account with the RA-GRS SKU when the architecture requires secondary read capability.
  • Update redundancy only after cost, service compatibility, and recovery-plan review.
  • Export network rules and private endpoint settings to verify the secondary read path is not an accidental exposure.

Before you run CLI

  • Confirm tenant, subscription, resource group, storage account name, region, paired region expectations, and whether the account type supports the intended redundancy option.
  • Check cost impact, service compatibility, and application readiness before creating or changing a redundancy SKU.
  • Use read-only show commands before update commands because redundancy changes can affect availability expectations and billing.
  • Validate identity, SAS, private endpoint, firewall, and diagnostic settings for both normal and recovery access paths.
  • Prefer JSON output for incident records because last sync time and endpoint details may be needed later.

What output tells you

  • sku.name confirms whether the account is actually using Standard_RAGRS rather than GRS, LRS, ZRS, or another redundancy option.
  • primaryEndpoints and secondaryEndpoints show the URLs applications or runbooks use for normal and secondary read access.
  • statusOfSecondary indicates whether the secondary location is available, unavailable, or in a state that requires caution.
  • geoReplicationStats.lastSyncTime helps estimate how stale secondary data might be during incident response.
  • Network rule and private endpoint output shows whether the read path is reachable only from approved locations.

Mapped Azure CLI commands

Storage Account operations

direct
az storage account list --resource-group <resource-group>
az storage accountdiscoverStorage
az storage account show --name <storage-account> --resource-group <resource-group>
az storage accountdiscoverStorage
az storage account create --name <storage-account> --resource-group <resource-group> --location <region> --sku Standard_LRS
az storage accountprovisionStorage
az storage account update --name <storage-account> --resource-group <resource-group> --set allowBlobPublicAccess=false
az storage accountconfigureStorage
az storage account delete --name <storage-account> --resource-group <resource-group>
az storage accountremoveStorage
az storage account update --name <storage-account> --resource-group <resource-group> --https-only true
az storage accountconfigureStorage
az storage account blob-service-properties show --account-name <storage-account>
az storage account blob-service-propertiesdiscoverStorage
az storage account network-rule list --account-name <storage-account> --resource-group <resource-group>
az storage account network-rulediscoverStorage
az storage account network-rule add --account-name <storage-account> --resource-group <resource-group> --ip-address <ip-address>
az storage account network-rulesecureStorage
az storage account keys list --account-name <storage-account> --resource-group <resource-group>
az storage account keysdiscoverStorage

Architecture context

A seasoned Azure architect uses RA-GRS when the workload has a clear read-continuity requirement across regions. The design should document the primary write path, secondary read endpoint, acceptable replication lag, application routing logic, and what happens during account failover. For public endpoints, network restrictions and SAS scopes must cover both expected access paths. For private designs, secondary endpoint reachability and DNS need special attention. RA-GRS also interacts with backup, archive, lifecycle management, CDN or Front Door caching, and incident communications. The architecture is strongest when teams rehearse secondary reads before a regional event forces the decision DNS testing and client failback behavior need named owners.

Security

Security impact is direct because RA-GRS exposes another potential read path to the same data. The secondary endpoint should not become a forgotten bypass around network restrictions, SAS controls, private endpoints, or logging. Review who can generate SAS tokens, list account keys, change redundancy, or initiate failover. If data is encrypted with Microsoft-managed or customer-managed keys, confirm the key and identity design works for the storage account lifecycle. Treat secondary-read access as production data access, not a weaker recovery path. Diagnostic logging, Defender for Storage, private endpoint approvals, and policy enforcement should cover the account consistently Review evidence should include both primary and secondary access paths.

Cost

RA-GRS has direct cost because geo-replication and read-access capability cost more than locally redundant options. Secondary read traffic, storage capacity, transactions, monitoring, lifecycle retention, and data transfer patterns can all affect the bill. The cost can be justified for critical archives, customer-facing downloads, recovery data, or operational evidence, but it is wasteful when the application never uses the secondary endpoint. FinOps reviews should compare RA-GRS against GRS, GZRS, RA-GZRS, ZRS, and backup alternatives. Also check old accounts where redundancy was upgraded during a project and never reviewed after the continuity requirement changed Owners should justify the SKU in the same review as backup policy.

Reliability

Reliability improves because RA-GRS provides a readable copy in a paired region, but it does not remove the need for application design. Replication is asynchronous, so recently written data might not be available from the secondary endpoint. Status fields such as last sync time matter during incidents. Operators should know when secondary reads are acceptable, how to route clients, how to verify data age, and what an account failover would change. RA-GRS can reduce the blast radius of regional read outages, yet it can also create false confidence if the secondary endpoint, DNS, authorization, or client retry behavior was never tested.

Performance

Performance impact is mostly about read routing and regional distance. The primary endpoint continues serving normal workload traffic, while the secondary endpoint can serve read-only consumers that are closer to the paired region or need access during primary trouble. Secondary reads may reduce pressure on the primary for certain workloads, but they can return older data because replication is asynchronous. Latency also depends on client location, private connectivity, DNS, CDN usage, object size, and storage service type. Measure successful secondary reads, last sync time, transaction latency, and client retry behavior before assuming RA-GRS improves performance during stress Synthetic probes should test real object reads, not only account availability.

Operations

Operators manage RA-GRS by inspecting the storage account SKU, primary and secondary endpoints, geo-replication status, last sync time, network rules, private endpoints, access keys, and diagnostic logs. Runbooks should show how to test secondary reads, validate data age, capture evidence during regional incidents, and communicate freshness limits to application owners. Changes to redundancy should be treated as production changes because they affect cost, resilience expectations, and recovery planning. Operators also need to know service-specific caveats, including whether the workload uses Blob, Queue, Table, Data Lake Storage, or Azure Files capabilities Regular drills should record who approved secondary-read activation and why.

Common mistakes

  • Buying RA-GRS without updating applications or runbooks to use the secondary endpoint when needed.
  • Assuming secondary reads contain the latest write even though geo-replication is asynchronous.
  • Forgetting that changing redundancy affects cost and may have service or region constraints.
  • Leaving public network access open because the team focused only on regional resilience.
  • Treating Azure Files workloads like Blob workloads without checking service-specific redundancy behavior.