Azureの制約事項まとめ

## Azure Database for PostgreSQL

### [SLA](https://azure.microsoft.com/ja-jp/support/legal/sla/postgresql/v1_4/)
SLAの確認は[ここ](https://azure.microsoft.com/ja-jp/support/legal/sla/postgresql/v1_4/)で可能。
[参照元サイト](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-high-availability#ha-configuration-questions)

[上記サイト](https://azure.microsoft.com/ja-jp/support/legal/sla/postgresql/v1_4/)によるとDatabaseの構成によって、稼働保証時間が変わる。
以下の通り

|Single or Flexible|可用性構成|保証稼働率|
|-|-|-|
|Single Server||99.99%||||
|Flexible Server|onfigured with Zone Redundant High Availability.|99.99%|
|Flexible Server|configured with Same Zone High Availability|99.95%|
|Flexible Server|configured without High Availability.|99.9%|

#### [Azure サポートプラン](https://azure.microsoft.com/ja-jp/support/)
以下のサポートプランがある。
* Azure Developer サポートプラン
* Azure Standard サポートプラン
* Azure Professional Direct サポートプラン

サポートプランの比較はこちら
https://azure.microsoft.com/ja-jp/support/plans/


#### 最大接続数
[価格レベルと仮想コア](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#maximum-connections)により、最大接続数が異なる。


#### 機能制限
##### [スケール操作](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#scale-operations)
>* サーバー ストレージをスケーリングするには、サーバーを再起動する必要があります。
>* サーバー ストレージは 2 倍ずつでのみスケーリングできます。
詳細については、[コンピューティングとストレージに関する記事](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-compute-storage)を参照してください。
>* 現在、サーバー ストレージを減らすことはできません。

##### [サーバーバージョンのアップグレード](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-compute-storage)
メジャーバージョン間の自動移行は現在サポートされていない。
バージョンアップする場合は、新しいバージョンでサーバーを構築後、dumpしたファイルを復元する必要がある。

##### [ストレージ](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#storage)
* ストレージのサイズは一度構成すると、縮小できない。小さくする場合は、サーバーを再構築してからdumpしてからロードし直す必要がある。
* 現時点(2023年1月19日)でストレージの自動拡張機能はない。
* ストレージの使用率が 95% に達した場合、または使用可能な容量が 5 GiB 未満の場合、自動で読み取り専用モードに切り替わる。
* ストレージ使用状況の閾値設定 'storage used' 'storage percent'が可能
* 
意味咀嚼これから。↓
>論理レプリケーションを使っている場合は、対応するサブスクライバーが存在しなくなったら、プライマリ サーバーの論理レプリケーション スロットを削除する必要があります。 それ以外の場合、WAL ファイルはストレージを満たすプライマリに蓄積され始めます。 ストレージしきい値が特定のしきい値を超え、論理レプリケーション スロットが使用されていない場合 (使用できないサブスクライバーが原因)、フレキシブル サーバーはその未使用の論理レプリケーション スロットを自動的に削除します。 このアクションにより、蓄積された WAL ファイルが解放され、ストレージがいっぱいになったためにサーバーが使用できなくなる状況を回避できます。

##### [ネットワーキング](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#networking)
>* VNET との間での移動は、現在はサポートされていません。
>* VNET 内のデプロイとパブリック アクセスの組み合わせは、現在はサポートされていません。
>* ファイアウォール規則は VNET ではサポートされていません。代わりに、ネットワーク セキュリティ グループを使用できます。
>* パブリック アクセス データベース サーバーでは、postgres_fdw などを使用してパブリック インターネットに接続できます。このアクセスを制限することはできません。 VNET ベースのサーバーでは、ネットワーク セキュリティ グループを使用して、送信アクセスを制限することができます。

##### [高可用性(HA)](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#high-availability-ha)

[高可用性　制限事項](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-high-availability#high-availability---limitations)



##### [可用性ゾーン](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#availability-zones)

##### [Postgres エンジン、拡張機能、PgBouncer](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#postgres-engine-extensions-and-pgbouncer)

##### []()

##### []()

##### []()



##### [停止/開始操作](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#stopstart-operation)
>* 7日間を超えてサーバーを停止したままにすることはできません。

##### [予定メンテナンス](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#scheduled-maintenance)
咀嚼必要。
>* 既に予定されているアップグレードまでの時間が 5 日未満の時点でメンテナンス期間を変更しても、そのアップグレードには影響しません。 変更が有効になるのは、予定された次回のメンテナンス時になります。

##### [サーバーのバックアップ](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#backing-up-a-server)

##### [サーバーの復元](https://learn.microsoft.com/ja-jp/azure/postgresql/flexible-server/concepts-limits#restoring-a-server)


### [高可用性　制限事項]()
>* 高可用性は、複数のゾーンが使用可能なリージョンでのみサポートされます。

以下の記述より、９９.95%以上の可用性を希望する場合は、東日本リージョンの一択になる。 

>可用性ゾーンはすべてのリージョンで提供されているわけではありません。日本の場合、東日本リージョンは対応していますが、西日本リージョンは2022年5月現在は未対応です。

参照元：[【AZ-900】ジオ、リージョン、可用性ゾーンとは？Azureのデータセンター用語をまとめて解説！](https://az-start.com/geo-region-az-datacenter/)

> * プライマリ サーバーでのワークロードとアクティビティによっては、昇格する前にスタンバイ レプリカで復旧が必要な場合、フェールオーバー プロセスにかかる時間が 120 秒を超える場合があります。
> * スタンバイ サーバーでは通常、40 MB/秒の速度で WAL ファイルが復旧されます。 ワークロードがこの制限を超える場合、フェールオーバー中または新しいスタンバイの確立後、復旧完了までの時間が延びる可能性があります。


* プライマリDBサーバーを再起動すると、スタンバイレプリカも再起動される。


### [自動バックアップについて](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/overview#automatic-backups)

>フレキシブルサーバーサービスは、サーバーのバックアップを自動的に作成し、地域内のZRS（Zone Redundant Storage）に保存します。バックアップは、バックアップ保持期間内の任意の時点にサーバーを復元するために使用することができます。デフォルトのバックアップ保持期間は7日間です。オプションで最大 35 日間まで設定できます。すべてのバックアップは、AES 256ビット暗号化を使用して暗号化されます。詳細については、バックアップを参照してください。
* 同一リージョン内のストレージに自動バックアップを保存する。
* バックアップ保持期間内の任意の時点に復元可能。
* デフォルトのバックアップ保持期間は７日間（オプションで最大３５日までに設定可能）
* AES 256ビット暗号化にて暗号化される
詳細は[こちら](https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-backup-restore)より


## 　AzureのVM（仮想マシン）

### 参考記事
* [計画メンテナンスとセルフメンテナンスについて](https://cloudsteady.jp/post/53124/)
*