I am currently working on RDS which is new to me and I thought why not post my Q/As ??
And why would I do that, you must be wondering.

To keep it short in here, asking a good question is very important to learn fundamentals right. It's only with the experience we get the art of learning and understanding fast.

DB Subnet group

It is a logical grouping of subnets.

❓ By default Subnet group includes all subnets of all AZs, i.e. it will have both public and private. How do I know instances launched are not accessible via internet If in case it is choosing public subnets internally?
πŸ• These instances will not have public IPs or accessible via internet if you choose No in the setup wizard for internet accessibility. That means, even in the subnet where the default behavior is to attach a public IP.. these instances won’t have public IP. And since they don’t have a way to communicate to outer world, they’re fully private.. like a local LAN network.

❓ Then How do these servers in full-private subnets get updates, patches, etc.?
πŸ• They don’t. Well, these are called Immutable servers. By principle, immutability means once a server is launched, you don’t touch it. If you want to do any change whatsoever, you’ll use the underlying source like AMI. Launch an intermediate instance, do apt-get update or such, create an AMI, and launch fresh instances using this AMI again in private zone kill the older ones
But upgrades, all dependencies... everything AWS takes care of it. Think of it as:: it is one of the services that come in a package.

❓ Create a dedicated Subnet group to use instead of default one? if yes why?
πŸ• Well, it is a personal call but it is good practice to create dedicated subnets such as public, private and database subnets and its dedicated route table. So that, you know where are your resources kinda makes your debugging easy too and giving you more control over it.
So, create dedicated subnets first for DB and add in the subnet group, then use it to launch DB Instances.

❓ These terminologies meaning for headstart...for now?
πŸ• database identifier --> Random unique name of RDS cluster.

πŸ• Initial database name --> one sample database to create and use. by default, it doesn't create any.

πŸ• DB parameter group -->To manage configurations of MySQL/Postgres...(database engine) using parameters present in the parameter group. (more of like server's settings) so these are predefined parameters that come with DB engines and we can use them/overwrite them for better control as per our needs...MAX_CONNECTIONS = 500

πŸ• Option group --> Option group is to enable/disable some flags.. in case of MySQL, there are only 2 options available: MariaDB Audit Plugin Support... MARIADB_AUDIT_PLUGIN and MEMCACHED.