【学習記録】RDS設定確認

前回の記事でRDSインスタンスを作成したので、設定内容など確認したいと思います。
AWS CLIで設定の詳細を確認するコマンドを探してたらdescribe-db-instancesというコマンドが見つかったので実行してみました。

docs.aws.amazon.com

実行したコマンドは以下(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から確認した方が見やすい場合とマネジメントコンソールからの方が見やすい場合がありそうな気がします。 f:id:JunpeiNakasone:20210211210811p:plain

Logs&eventsタブではログとイベントが確認できる
f:id:JunpeiNakasone:20210211211121p:plain

Connfigurationsタブでは各種設定を確認できる
f:id:JunpeiNakasone:20210211211234p:plain

Maintenance&backupsタブではバックアップとスナップショットの設定が確認でき、それぞれどの時刻に取得されるか見れる。また、Take snapshotをクリックすると手動でスナップショットを取得できる。(手動で取得したスナップショットは自動で削除されず、RDSインスタンスを消しても残るため、間違えて不要なスナップショットを残して知らない間に課金されることがないように気をつける)
f:id:JunpeiNakasone:20210211211605p:plain

RDSの概要がわかってきたので次はCloudFormationで自分のアプリにRDSを組み込めるように試していきたいと思います。