前回の記事でRDSインスタンスを作成したので、設定内容など確認したいと思います。
AWS CLIで設定の詳細を確認するコマンドを探してたらdescribe-db-instancesというコマンドが見つかったので実行してみました。
実行したコマンドは以下(RDSインスタンスを複数作成している場合は--db-instance-identifierオプションをつけてどのインスタンスの情報を表示するか指定可能っぽい)
aws rds describe-db-instances
上記コマンドを実行すると以下のようなJSONが出力されました。
{ "DBInstances": [ { "DBInstanceIdentifier": "pictures-app-db", "DBInstanceClass": "db.t3.micro", "Engine": "mysql", "DBInstanceStatus": "available", "MasterUsername": "admin", "Endpoint": { "Address": "pictures-app-db.ci3sxxxxxxxxxxxxxast-1.rds.amazonaws.com", "Port": 3306, "HostedZoneId": "Z24Oxxxxxxxxxxxxxxxxx" }, "AllocatedStorage": 20, "InstanceCreateTime": "2021-02-11T08:49:04.744Z", "PreferredBackupWindow": "10:00-10:30", "BackupRetentionPeriod": 35, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-0e462d1e4cff31a32", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "pictures-parameter-group-mysql8", "ParameterApplyStatus": "in-sync" } ], "AvailabilityZone": "ap-northeast-1a", "DBSubnetGroup": { "DBSubnetGroupName": "pictures-db-subnet-group", "DBSubnetGroupDescription": "this is subnet group for pictures-app", "VpcId": "vpc-09704d06d0b0791aa", "SubnetGroupStatus": "Complete", "Subnets": [ { "SubnetIdentifier": "subnet-03972020c8de2edfa", "SubnetAvailabilityZone": { "Name": "ap-northeast-1a" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-011235eb6e3fbed2f", "SubnetAvailabilityZone": { "Name": "ap-northeast-1c" }, "SubnetOutpost": {}, "SubnetStatus": "Active" } ] }, "PreferredMaintenanceWindow": "sat:13:00-sat:13:30", "PendingModifiedValues": {}, "LatestRestorableTime": "2021-02-11T11:15:00Z", "MultiAZ": false, "EngineVersion": "8.0.20", "AutoMinorVersionUpgrade": true, "ReadReplicaDBInstanceIdentifiers": [], "LicenseModel": "general-public-license", "OptionGroupMemberships": [ { "OptionGroupName": "pictures-option-group", "Status": "in-sync" } ], "PubliclyAccessible": false, "StorageType": "gp2", "DbInstancePort": 0, "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "DbiResourceId": "db-LIFADENxxxxxxxxxxxxxxxxxxxxxxxxx", "CACertificateIdentifier": "rds-ca-2019", "DomainMemberships": [], "CopyTagsToSnapshot": true, "MonitoringInterval": 0, "DBInstanceArn": "arn:aws:rdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "IAMDatabaseAuthenticationEnabled": false, "PerformanceInsightsEnabled": false, "DeletionProtection": false, "AssociatedRoles": [] } ] }
それぞれの項目がマネジメントコンソールで設定したどの部分か、CloudFormationだとどう指定するかなどちょっとずつ整理したいと思います。
マネジメントコンソールからも確認。
MonitoringはCPUの使用率やストレージの空き容量など一目で確認できそうで良いですね。DBのパフォーマンスが悪いときなどに確認しやすそう。
確認したい内容によってCLIから確認した方が見やすい場合とマネジメントコンソールからの方が見やすい場合がありそうな気がします。
Logs&eventsタブではログとイベントが確認できる
Connfigurationsタブでは各種設定を確認できる
Maintenance&backupsタブではバックアップとスナップショットの設定が確認でき、それぞれどの時刻に取得されるか見れる。また、Take snapshotをクリックすると手動でスナップショットを取得できる。(手動で取得したスナップショットは自動で削除されず、RDSインスタンスを消しても残るため、間違えて不要なスナップショットを残して知らない間に課金されることがないように気をつける)
RDSの概要がわかってきたので次はCloudFormationで自分のアプリにRDSを組み込めるように試していきたいと思います。