背景

RDSは高額です。

使ったぶんだけコストの発生するパブリッククラウドにおいて、高額なサービスを使わないなら停止しておきたいのが人情です。

この記事はaws-cliでRDSを停止したり、起動したりする手順を示します。

手順

DBインスタンスをtest-dbとしてコマンドを書いています。

RDSの状態確認

以下のコマンドでRDSの状態を確認します。

aws rds describe-db-instances --db-instance-identifier test-db

ただ、上のコマンドだとjson形式で多くの項目が表示されてわかりにくいです。そこで、以下を使用します。

aws rds describe-db-instances --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceStatus]' --output table

なお、上のコマンドは以下のAWSのページを参照しています。(参照というか、そのものです。)

インスタンスのステータスと推奨事項の表示 - Amazon Relational Database Service

起動状態だと、以下のようにavailableが表示されます。

--------------------------
|   DescribeDBInstances  |
+----------+-------------+
|  test-db |  available  |
+----------+-------------+

RDSの停止

RDSを停止します。

aws rds stop-db-instance --db-instance-identifier test-db

RDSの停止には時間がかかります。ほとんどデータが入ってなくても5分ぐらいはかかります。

停止中は以下のようにstoppingです。

-------------------------
|  DescribeDBInstances  |
+----------+------------+
|  test-db |  stopping  |
+----------+------------+

停止すると、以下のようにstoppedとなります。

------------------------
|  DescribeDBInstances |
+----------+-----------+
|  test-db |  stopped  |
+----------+-----------+

起動

使いたいときは起動します。起動も停止と同じように時間がかかります。

aws rds start-db-instance --db-instance-identifier test-db

起動中はstartingです。起動すると、availableになります。

-------------------------
|  DescribeDBInstances  |
+----------+------------+
|  test-db |  starting  |
+----------+------------+