AWS CLI(RDS)


サブネットグループの作成
aws rds create-db-subnet-group \
--db-subnet-group-name mysubnetgroup \
--db-subnet-group-description mysubnetgroup \
--subnet-ids '["subnet-12345678901234567","subnet-12345678901234567"]'

 

サブネットグループの一覧
aws rds describe-db-subnet-groups
aws rds describe-db-subnet-groups | jq -r '.DBSubnetGroups.DBSubnetGroupName '

 

サブネットグループの削除
aws rds delete-db-subnet-group \
--db-subnet-group-name mydbsubnetgroup


パラメータグループの作成
aws rds create-db-parameter-group \
--db-parameter-group-name mydbparametergroup \
--db-parameter-group-family aurora-postgresql11 \
--description mydbparametergroup

 


パラメータグループの一覧
aws rds describe-db-parameter-groups
aws rds describe-db-parameter-groups | jq -r '.DBParameterGroups.DBParameterGroupName'


パラメータグループの削除
aws rds delete-db-parameter-group \
--db-parameter-group-name mydbparametergroup


パラメータの一覧
aws rds describe-db-parameters \
--db-parameter-group-name mydbparametergroup

aws rds describe-db-parameters \
--db-parameter-group-name mydbparametergroup | jq -r '.Parameters.ParameterName'


デフォルトパラメータの一覧
aws rds describe-engine-default-parameters \
--db-parameter-group-family aurora-postgresql11

aws rds describe-engine-default-parameters \
--db-parameter-group-family aurora-postgresql11 | jq -r '.EngineDefaults.Parameters.ParameterName'

 

Auroraクラスタパラメータグループの作成
aws rds create-db-cluster-parameter-group \
--db-cluster-parameter-group-name mydbclusterparametergroup \
--db-parameter-group-family aurora-postgresql11 \
--description mydbclusterparametergroup

 

Auroraクラスタパラメータグループの一覧
aws rds describe-db-cluster-parameter-groups
aws rds describe-db-cluster-parameter-groups | jq -r '.DBClusterParameterGroups.DBClusterParameterGroupName'

 

Auroraクラスタパラメータグループの削除
aws rds delete-db-cluster-parameter-group \
--db-cluster-parameter-group-name mydbclusterparametergroup

 

Auroraクラスタパラメータの一覧
aws rds describe-db-cluster-parameters \
--db-cluster-parameter-group-name mydbclusterparametergroup

aws rds describe-db-cluster-parameters \
--db-cluster-parameter-group-name mydbclusterparametergroup | jq -r '.Parameters.ParameterName'

クラスタレベル+インスタンスレベルの全パラメータが表示される

デフォルトAuroraクラスタパラメータの一覧

aws rds describe-engine-default-cluster-parameters \
--db-parameter-group-family aurora-postgresql11


aws rds describe-engine-default-cluster-parameters \
--db-parameter-group-family aurora-postgresql11 | jq -r '.EngineDefaults.Parameters.ParameterName'

クラスタレベルのパラメータのみ表示される

 

オプショングループの作成
aws rds create-option-group \
--option-group-name myoptiongroup \
--engine-name mysql \
--major-engine-version 5.6 \
--option-group-description myoptiongroup

 

オプショングループの一覧
aws rds describe-option-groups
aws rds describe-option-groups | jq -r '.OptionGroupsList.OptionGroupName'


オプショングループの削除
aws rds delete-option-group \
--option-group-name myoptiongroup



Auroraクラスタの作成

aws rds create-db-cluster \
--availability-zones ap-northeast-1a \
--backup-retention-period 1 \
--database-name mydb01 \
--db-cluster-identifier mycluster01 \
--db-cluster-parameter-group-name mydbclusterparametergroup \
--vpc-security-group-ids sg-12345678901234567 \
--db-subnet-group-name mysubnetgroup \
--engine aurora \
--engine-version 5.6.10a \
--port 3306 \
--master-username master \
--master-user-password password \
--preferred-backup-window 04:00-04:30 \
--preferred-maintenance-window Wed:03:00-Wed:03:30 \
--tags Key=Name,Value=mycluster01 \
--storage-encrypted \
--no-enable-iam-database-authentication \
--backtrack-window 0 \
--engine-mode provisioned \
--no-deletion-protection \
--copy-tags-to-snapshot


aws rds create-db-instance \
--db-instance-identifier mydb01 \
--db-instance-class db.t2.small \
--engine aurora \
--availability-zone ap-northeast-1a \
--db-subnet-group-name mysubnetgroup \
--preferred-maintenance-window Wed:03:00-Wed:03:30 \
--db-parameter-group-name mydbparametergroup \
--no-auto-minor-version-upgrade \
--option-group-name myoptiongroup \
--no-publicly-accessible \
--tags Key=Name,Value=mydb01 \
--db-cluster-identifier mycluster01 \
--promotion-tier 1 \
--no-enable-performance-insights


aws rds create-db-instance \
--db-instance-identifier mydb02 \
--db-instance-class db.t2.small \
--engine aurora \
--availability-zone ap-northeast-1c \
--db-subnet-group-name mysubnetgroup \
--preferred-maintenance-window Wed:03:00-Wed:03:30 \
--db-parameter-group-name mydbparametergroup \
--no-auto-minor-version-upgrade \
--option-group-name myoptiongroup \
--no-publicly-accessible \
--tags Key=Name,Value=mydb02 \
--db-cluster-identifier mycluster01 \
--promotion-tier 1 \
--no-enable-performance-insights

 

 

Auroraクラスタの一覧
aws rds describe-db-clusters
aws rds describe-db-instances


aws rds describe-db-clusters | jq -c '.DBClusters | [.DBClusterIdentifier , .Status]'
aws rds describe-db-instances | jq -c '.DBInstances
| [ .DBInstanceIdentifier , .DBInstanceStatus ] '

 

 

Auroraクラスタの削除
aws rds delete-db-instance \
--db-instance-identifier mydb02 \
--skip-final-snapshot \
--delete-automated-backups

aws rds delete-db-instance \
--db-instance-identifier mydb01 \
--skip-final-snapshot \
--delete-automated-backups

aws rds delete-db-cluster \
--db-cluster-identifier mycluster01 \
--skip-final-snapshot


※削除するためには起動している必要がある

Auroraクラスタの起動
aws rds start-db-cluster \
--db-cluster-identifier mycluster01


Auroraクラスタの停止
aws rds stop-db-cluster \
--db-cluster-identifier mycluster01

 

 

 

Auroraクラスタのフェイルオーバ
aws rds failover-db-cluster \
--db-cluster-identifier mycluster01 \
--target-db-instance-identifier mydb02


Auroraクラスタスナップショットの作成
aws rds create-db-cluster-snapshot \
--db-cluster-snapshot-identifier snap01 \
--db-cluster-identifier mycluster01 \
--tags Key=Name,Value=snap01

 


Auroraクラスタスナップショットの一覧
aws rds describe-db-cluster-snapshots
aws rds describe-db-cluster-snapshots | jq -c '.DBClusterSnapshots | [ .DBClusterSnapshotIdentifier , .DBClusterIdentifier ] '

 


Auroraクラスタスナップショットの削除
aws rds delete-db-cluster-snapshot \
--db-cluster-snapshot-identifier snap01

 

 

RDSインスタンスの作成

--MySQL、シングルAZ
aws rds create-db-instance \
--db-name test \
--db-instance-identifier mydb01 \
--allocated-storage 20 \
--db-instance-class db.t3.micro \
--engine mysql \
--master-username master \
--master-user-password password \
--vpc-security-group-ids sg-12345678901234567 \
--availability-zone ap-northeast-1a \
--db-subnet-group-name mysubnetgroup \
--preferred-maintenance-window Wed:03:00-Wed:03:30 \
--db-parameter-group-name mydbparametergroup \
--backup-retention-period 1 \
--preferred-backup-window 04:00-04:30 \
--port 3306 \
--no-multi-az \
--engine-version 5.6.48 \
--no-auto-minor-version-upgrade \
--option-group-name myoptiongroup \
--no-publicly-accessible \
--tags Key=Name,Value=mydb01 \
--storage-type gp2 \
--storage-encrypted \
--copy-tags-to-snapshot \
--no-enable-iam-database-authentication \
--no-enable-performance-insights \
--no-deletion-protection \
--max-allocated-storage 40


--MySQL、マルチAZ
aws rds create-db-instance \
--db-name test \
--db-instance-identifier mydb01 \
--allocated-storage 20 \
--db-instance-class db.t3.micro \
--engine mysql \
--master-username master \
--master-user-password password \
--vpc-security-group-ids sg-12345678901234567 \
--db-subnet-group-name mysubnetgroup \
--preferred-maintenance-window Wed:03:00-Wed:03:30 \
--db-parameter-group-name mydbparametergroup \
--backup-retention-period 1 \
--preferred-backup-window 04:00-04:30 \
--port 3306 \
--multi-az \
--engine-version 5.6.48 \
--no-auto-minor-version-upgrade \
--option-group-name myoptiongroup \
--no-publicly-accessible \
--tags Key=Name,Value=mydb01 \
--storage-type gp2 \
--storage-encrypted \
--copy-tags-to-snapshot \
--no-enable-iam-database-authentication \
--no-enable-performance-insights \
--no-deletion-protection \
--max-allocated-storage 40

 


RDSインスタンスの一覧

aws rds describe-db-instances
aws rds describe-db-instances | jq -c '.DBInstances | [ .DBInstanceIdentifier , .DBInstanceStatus ] '


RDSインスタンスの削除
aws rds delete-db-instance \
--db-instance-identifier mydb01 \
--skip-final-snapshot \
--delete-automated-backups

 


RDSインスタンスの起動
aws rds start-db-instance \
--db-instance-identifier mydb01


RDSインスタンスの停止
aws rds stop-db-instance \
--db-instance-identifier mydb01

 

RDSインスタンスの再起動

aws rds reboot-db-instance \
--db-instance-identifier mydb01 \
--no-force-failover

aws rds reboot-db-instance \
--db-instance-identifier mydb01 \
--force-failover

 

 

RDSインスタンススナップショットの作成
aws rds create-db-snapshot \
--db-snapshot-identifier snap01 \
--db-instance-identifier mydb01 \
--tags Key=Name,Value=snap01

 


RDSインスタンススナップショットの一覧
aws rds describe-db-snapshots
aws rds describe-db-snapshots | jq -c '.DBSnapshots | [ .DBSnapshotIdentifier , .DBInstanceIdentifier ] '

 


RDSインスタンススナップショットの削除
aws rds delete-db-snapshot \
--db-snapshot-identifier snap01

 

DBエンジンの一覧
aws rds describe-db-engine-versions

aws rds describe-db-engine-versions \
--engine mysql

aws rds describe-db-engine-versions \
--engine mysql \
| jq -c '.DBEngineVersions | [ .Engine, .EngineVersion ]'


DBログファイルの一覧
aws rds describe-db-log-files \
--db-instance-identifier mydb01


aws rds describe-db-log-files \
--db-instance-identifier mydb01 \
| jq -c '.DescribeDBLogFiles | [.LogFileName, .LastWritten]'

 

イベントの一覧
aws rds describe-events \
--source-identifier mydb01 \
--source-type db-instance

aws rds describe-events \
--source-identifier mydb01 \
--source-type db-instance \
| jq -c '.Events | [ .Date, .Message ]'