

# 一時的に Amazon RDS DB インスタンスを停止する
<a name="USER_StopInstance"></a>

一時的なテストや毎日の開発作業のために、DB インスタンスを断続的に (最大連続日数は 7 日間まで) 停止できます。最も一般的なユースケースはコスト最適化です。DB インスタンスを停止する時間は、いくつかの要因によって異なります。詳細については、「[ユースケース](#USER_StopInstance.Benefits)」および「[時間に関する考慮事項](#USER_StopInstance.Time)」を参照してください。

**警告**  
DB インスタンスの起動にはインスタンスの復旧が必要で、数分から数時間かかる場合があります。したがって、インスタンスの可用性が懸念される場合は、本番稼働用インスタンスを一時的に停止することに注意してください。詳細については、「[以前に停止した Amazon RDS DB インスタンスを開始する](USER_StartInstance.md)」を参照してください。

同じオペレーションで DB インスタンスを停止して起動するには、DB インスタンスを再起動します。詳細については、「[ DB インスタンスの再起動](USER_RebootInstance.md)」を参照してください。

**Topics**
+ [

## DB インスタンス停止のユースケース
](#USER_StopInstance.Benefits)
+ [

## DB インスタンスを停止する際の時間に関する考慮事項
](#USER_StopInstance.Time)
+ [

## サポートされている DB エンジン、インスタンスクラス、リージョン
](#USER_StopInstance.Supported)
+ [

## マルチ AZ 配置で DB インスタンスを停止する
](#USER_StopInstance.MAZ)
+ [

## DB インスタンスの停止の仕組み
](#USER_StopInstance.Operation)
+ [

## DB インスタンスの停止に関する制限事項
](#USER_StopInstance.Limitations)
+ [

## オプショングループとパラメータグループに関する考慮事項
](#USER_StopInstance.OGPG)
+ [

## パブリック IP アドレスに関する考慮事項
](#USER_StopInstance.PublicIPAddress)
+ [

## DB インスタンスの一時停止: 基本的な手順
](#USER_StopInstance.Stopping)

## DB インスタンス停止のユースケース
<a name="USER_StopInstance.Benefits"></a>

DB インスタンスを停止して起動する方が、DB スナップショットを作成して DB インスタンスを削除した後、インスタンスにアクセスするときにスナップショットを復元するよりも高速かつ効率的です。インスタンス停止の一般的なユースケースは次のとおりです。
+ **コスト最適化** — 非本番データベースの場合、コストを節約するために Amazon RDS DB インスタンスを一時的に停止できます。インスタンスの停止中は、DB インスタンス時間に対して課金されません。
**重要**  
DB インスタンスが停止していても、プロビジョニング済みストレージ (プロビジョンド IOPS を含む) に対して課金されます。また、指定された保持ウィンドウ内の手動スナップショットや自動バックアップを含むバックアップストレージに対しても課金されます。さらに、DB インスタンスがパブリックにアクセスできる場合、パブリック IPv4 アドレスに対して引き続き課金されます。ただし、DB インスタンス時間に対しては請求されません。詳細については、「[ 請求に関するよくある質問](https://aws.amazon.com/rds/faqs/#billing)」を参照してください。
+ **日常的な開発作業** – 開発目的のために DB インスタンスを維持する場合は、必要なときにインスタンスを起動し、必要でないときはインスタンスをシャットダウンできます。
+ **テスト** — バックアップとリカバリの手順、移行、アプリケーションのアップグレード、または関連するアクティビティをテストするために、一時的な DB インスタンスが必要になる場合があります。このようなユースケースでは、必要でないときは DB インスタンスを停止できます。
+ **トレーニング** – RDS でトレーニングを行っている場合は、トレーニングセッション中に DB インスタンスを起動し、後でシャットダウンする必要があるかもしれません。

## DB インスタンスを停止する際の時間に関する考慮事項
<a name="USER_StopInstance.Time"></a>

DB インスタンスを停止する時間は、インスタンスクラス、ネットワーク状態、DB エンジンタイプ、データベース状態、ワークロードなどの要因によって異なります。このプロセスには数分、または最大 1 時間かかる場合があります。最終的なスナップショットを作成することを選択しなくても、サービスはデータの整合性を確保するために内部オペレーションを実行する必要があります。これらのオペレーションにより、停止時間が長くなる場合があります。スキップすることはできません。DB インスタンスのステータスは、すべてのオペレーションが完了するまで停止状態のままです。これらのオペレーションには以下のアクションが含まれます。
+ データベースエンジンプロセスをシャットダウンします。
+ RDS プラットフォームプロセスをシャットダウンします。
+ DB インスタンスに関連付けられている EBS ストレージボリュームをデタッチします。
+ 基盤となる Amazon EC2 インスタンスを停止します。

遅延を最小限に抑えるには、次のアクションを実行することを検討してください。
+ 手動バックアップを作成します。
+ アクティビティが少ない間は DB インスタンスを停止します。
+ 最新の自動バックアップを維持します。

## サポートされている DB エンジン、インスタンスクラス、リージョン
<a name="USER_StopInstance.Supported"></a>

以下のエンジンを実行中の Amazon RDS DB インスタンスを停止して再度起動することができます。
+ Db2
+ MariaDB
+ Microsoft SQL Server (RDS Custom for SQL Server を含む)
+ MySQL
+ Oracle
+ PostgreSQL

DB インスタンスの停止と起動は、すべての DB インスタンスクラスとすべての AWS リージョンでサポートされています。

## マルチ AZ 配置で DB インスタンスを停止する
<a name="USER_StopInstance.MAZ"></a>

マルチ AZ 配置で DB インスタンスを停止および開始できます。以下の制限事項に留意してください。
+ マルチ AZ 配置は、データベースエンジンがサポートしている場合にのみ作成できます。エンジンのサポートの詳細については、「[Amazon RDS のマルチ AZ DB クラスターでサポートされているリージョンと DB エンジン](Concepts.RDS_Fea_Regions_DB-eng.Feature.MultiAZDBClusters.md)」を参照してください。
+ RDS for SQL Server では、マルチ AZ 配置の DB インスタンスの停止はサポートされていません。詳細については、「[Microsoft SQL Server マルチ AZ 配置の制限、注意事項、および推奨事項](USER_SQLServerMultiAZ.Recommendations.md)」を参照してください。
+ DB インスタンスを停止するには、長い時間がかかる場合があります。

## DB インスタンスの停止の仕組み
<a name="USER_StopInstance.Operation"></a>

停止操作は、次の段階で実行されます。

1. DB インスタンスは通常のシャットダウンプロセスを開始します。

   DB インスタンスのステータスが `stopping` に変更されます。

1. インスタンスは最大 7 日間連続して実行を停止します。

   DB インスタンスのステータスが `stopped` に変更されます。

### 停止した DB インスタンスの特徴
<a name="USER_StopInstance.Operation.characteristics"></a>

停止状態にある DB インスタンスには次の特徴があります。
+ 停止状態の DB インスタンスでは、次のものが保持されます。
  + インスタンス ID
  + ドメインネームサーバー (DNS) エンドポイント
  + パラメータグループ
  + セキュリティグループ
  + オプショングループ
  + Amazon S3 トランザクションログ (特定の時点への復旧に必要)

  DB インスタンスを再起動すると、停止したときと同じ構成になります。
+ すべてのストレージボリュームは DB インスタンスに接続されたままとなり、データは保持されます。RDS は、DB インスタンスの RAM に保存されているデータを削除します。

  DB インスタンスが停止していても、プロビジョニング済みストレージ (プロビジョンド IOPS を含む) に対して課金されます。また、指定された保持ウィンドウ内の手動スナップショットや自動バックアップを含むバックアップストレージに対しても課金されます。
+ RDS は、予定されているメンテナンスアップデートも含め、保留中のアクションを削除します。ただし DB インスタンスのオプショングループまたは DB パラメータグループの保留中アクションは除きます。

**注記**  
RDS for PostgreSQL DB インスタンスが正常にシャットダウンしないことがあります。この場合、後で再起動すると、インスタンスで復旧プロセスが実行されていることがわかります。これは、データベースの整合性を保護することを目的とした、データベースエンジンで想定されている動作です。一部のメモリベースの統計およびカウンターでは履歴は保持されず、再起動後に再び初期化され、実行している運用ワークロードをキャプチャします。

### 停止した DB インスタンスの自動再起動
<a name="USER_StopInstance.Operation.restart"></a>

連続 7 日後に DB インスタンスを手動で起動しなかった場合、RDS は DB インスタンスを自動的に起動します。これにより、インスタンスに必要なメンテナンスの更新が遅延することはありません。インスタンスをスケジュールに従って停止および起動する方法については、「[Step Functions を使用して Amazon RDS インスタンスを 7 日以上停止する方法を教えてください](https://repost.aws/knowledge-center/rds-stop-seven-days-step-functions)」を参照してください。

## DB インスタンスの停止に関する制限事項
<a name="USER_StopInstance.Limitations"></a>

停止オペレーションには次のようないくつかの制限があります。
+ リードレプリカが含まれているか、リードレプリカである DB インスタンスは停止できません。
+ 停止された DB インスタンスを変更することはできません。
+ 停止された DB インスタンスに関連付けられているオプショングループを削除することはできません。
+ 停止した DB インスタンスに関連付けられている DB パラメータグループを削除することはできません。
+ マルチ AZ 配置では、次の制限に注意してください。
  + RDS for SQL Server の DB インスタンスは停止できません。
  + DB インスタンスのスタート後に、プライマリおよびセカンダリのアベイラビリティーゾーンが切り替わる場合があります。

RDS Custom for SQL Server に対して、追加の制限が適用されます。詳細については、「[RDS Custom for SQL Server DB インスタンスの起動と停止](custom-managing-sqlserver.startstop.md)」を参照してください。

## オプショングループとパラメータグループに関する考慮事項
<a name="USER_StopInstance.OGPG"></a>

オプショングループに関連付けられた DB インスタンスがある場合、永続オプション (固定オプションを含む) をオプショングループから削除することはできません。この機能は、`stopping`、`stopped`、`starting` の状態の DB インスタンスにも当てはまります。

停止した DB インスタンスに関連付けられている DB パラメータグループを変更することはできません。ただし、この変更は DB インスタンスを次回起動するまで発生しません。変更をすぐに適用することを選択した場合、変更は DB インスタンスの起動時に発生します。それ以外の場合は、DB インスタンスを起動後の次のメンテナンスウィンドウで変更が発生します。

## パブリック IP アドレスに関する考慮事項
<a name="USER_StopInstance.PublicIPAddress"></a>

DB インスタンスを停止すると、その DNS エンドポイントが保持されます。パブリック IP アドレスを持つ DB インスタンスを停止すると、Amazon RDS はパブリック IP アドレスを保持します。DB インスタンスが再起動されると、同じパブリック IP アドレスが割り当てられます。

**注記**  
DB インスタンスへの接続には、IP アドレスではなく、常に DNS エンドポイントを使用する必要があります。

## DB インスタンスの一時停止: 基本的な手順
<a name="USER_StopInstance.Stopping"></a>

AWS マネジメントコンソール、AWS CLI、RDS API のいずれかを使用して DB スナップショットを停止できます。

### コンソール
<a name="USER_StopInstance.CON"></a>

**DB インスタンスを停止するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択し、停止する DB インスタンスを選択します。

1. **[Actions]** (アクション) として、**[Stop temporarily]** (一時的に停止) を選択します。

1. **[Stop DB instance temporarily]** (DB インスタンスを一時的に停止) ウィンドウで、DB インスタンスが 7 日後に自動的に再起動することを確認するメッセージを選択します。

1. (オプション) **[Save the DB instance in a snapshot]** (DB インスタンスをスナップショットに保存する) を選択して、**[Snapshot name]** (スナップショット名) としてスナップショット名を入力します。DB インスタンスを停止する前に DB インスタンスのスナップショットを作成する場合は、このオプションを選択します。

1. **[Stop temporarily]** (一時的に停止) を選択して DB インスタンスを停止するか、**[Cancel]** (キャンセル) を選択して操作をキャンセルします。

### AWS CLI
<a name="USER_StopInstance.CLI"></a>

AWS CLI を使用して DB インスタンスを停止するには、次のオプションを指定して [stop-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/stop-db-instance.html) コマンドを呼び出します。
+ `--db-instance-identifier` ​- DB インスタンスの名前です。

**Example**  

```
1. aws rds stop-db-instance --db-instance-identifier mydbinstance
```

### RDS API
<a name="USER_StopInstance.API"></a>

Amazon RDS API を使用して DB インスタンスを停止するには、以下のパラメータを指定して [StopDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StopDBInstance.html) オペレーションを呼び出します。
+ `DBInstanceIdentifier` ​- DB インスタンスの名前です。