【AWS学習記】WordPress 環境構築③~RDS設定
WordPress構築を行うにあたり、VPCの作成まで完了したため、続いてデータベースサーバを RDSを利用し、構築する。ここでも、極力aws-cliを利用する。
目次
構成
(構成図)
DBサブネットグループの作成
RDSインスタンスをVPC内で起動する場合、専用のDBのサブネットグループが 必要となるようなので、作成する。
なお、作成するにあたり、以下で、作成した下記のサブネットに該当するsubnetIDを指定する。
* 10.0.0.1/24 RDSを収容する。(SubnetIDはここでは「subnet-xxx9c098」。
* 10.0.0.2/24 今回はさしあたり利用しない(SubnetIDはここでは「subnet-xxxbf1bf」
[root@Linux ~]# aws rds create-db-subnet-group --db-subnet-group-name mysql-subnet --db-subnet-group-description mysql-subnet --subnet-ids subnet-xxx9c098 subnet-xxxbf1bf { "DBSubnetGroup": { "Subnets": [ { "SubnetStatus": "Active", "SubnetIdentifier": "subnet-xxxbf1bf", "SubnetAvailabilityZone": { "Name": "ap-northeast-1a" } }, { "SubnetStatus": "Active", "SubnetIdentifier": "subnet-xxx9c098", "SubnetAvailabilityZone": { "Name": "ap-northeast-1c" } } ], "DBSubnetGroupName": "mysql-subnet", "VpcId": "vpc-1fe4027b", "DBSubnetGroupDescription": "mysql-subnet", "SubnetGroupStatus": "Complete" } } [root@Linux ~]#
* --db-subnet-group-name・・・DBサブネットグループ名
* --db-subnet-group-description・・・DBサブネットグループ名の説明
* --subnet-ids・・・DBサブネットグループに設定するサブネットIDを指定
RDSインスタンスの起動
RDSインスタンスを起動する。ここでは、mysqlを指定する。
[root@Linux ~]# aws rds create-db-instance \ > --db-instance-identifier aws-mysql-rds \ > --allocated-storage 5 \ > --db-instance-class db.t2.micro \ > --engine MySQL \ > --master-username admin \ > --master-user-password password \ > --vpc-security-group-ids sg-xxxafdb4 \ > --db-subnet-group-name mysql-subnet \ > --backup-retention-period 1 \ > --port 3306 \ > --engine-version 5.6.27 \ > --license-model general-public-license \ > --multi-az \ > --no-publicly-accessible { "DBInstance": { "PubliclyAccessible": false, "MasterUsername": "admin", "MonitoringInterval": 0, "LicenseModel": "general-public-license", "VpcSecurityGroups": [ { "Status": "active", "VpcSecurityGroupId": "sg-xxxafdb4" } ], "CopyTagsToSnapshot": false, "OptionGroupMemberships": [ { "Status": "in-sync", "OptionGroupName": "default:mysql-5-6" } ], "PendingModifiedValues": { "MasterUserPassword": "****" }, "Engine": "mysql", "MultiAZ": true, "DBSecurityGroups": [], "DBParameterGroups": [ { "DBParameterGroupName": "default.mysql5.6", "ParameterApplyStatus": "in-sync" } ], "AutoMinorVersionUpgrade": true, "PreferredBackupWindow": "19:32-20:02", "DBSubnetGroup": { "Subnets": [ { "SubnetStatus": "Active", "SubnetIdentifier": "subnet-xxxbf1bf", "SubnetAvailabilityZone": { "Name": "ap-northeast-1a" } }, { "SubnetStatus": "Active", "SubnetIdentifier": "subnet-xxx9c098", "SubnetAvailabilityZone": { "Name": "ap-northeast-1c" } } ], "DBSubnetGroupName": "mysql-subnet", "VpcId": "vpc-xxx4027b", "DBSubnetGroupDescription": "mysql-subnet", "SubnetGroupStatus": "Complete" }, "ReadReplicaDBInstanceIdentifiers": [], "AllocatedStorage": 5, "BackupRetentionPeriod": 1, "PreferredMaintenanceWindow": "sat:16:22-sat:16:52", "DBInstanceStatus": "creating", "EngineVersion": "5.6.27", "DomainMemberships": [], "StorageType": "standard", "DbiResourceId": "db-2CMKMOIG35NYIDP7W6BAXI54SQ", "CACertificateIdentifier": "rds-ca-2015", "StorageEncrypted": false, "DBInstanceClass": "db.t2.micro", "DbInstancePort": 0, "DBInstanceIdentifier": "aws-mysql-rds" } } [root@Linux ~]#
* --db-instance-identifier・・・RDSインスタンス名を指定する
* --allocated-storage・・・RDSインスタンスで使うディスクを指定(GB)
* --db-instance-class ・・・RDSインスタンスタイプを指定
* --engine・・・DBエンジンを指定
* --master-username・・・管理者ユーザーを指定
* --master-user-password ・・・管理者ユーザーパスワードを指定
* --vpc-security-group-ids・・・VPCセキュリティグループを指定(後述)
* --db-subnet-group-name・・・先の手順で作成したDBサブネットグループ名を指定
* --backup-retention-period・・・自動バックアップの保存世代数を指定
* --multi-az・・・マルチAZ配置の有効・無効を設定
* --no-publicly-accessible・・・DBサブネットグループに設定するサブネットIDを指定
RDS起動確認
AWSコンソール側で、RDSインスタンスが起動したことを確認する。
RDS起動時に指定したVPCセキュリティグループについて
RDS起動時に「--vpc-security-group-ids」に指定するIDがよくわからなかったため。備忘録。
今回は、VPCのセキュリティグループのうち、10.0.0.0.0/16に紐づいているセキュリティグループ (ここでは、「 sg-xxxafdb4」)を指定した。
マルチAZ配置を有効にする際の注意点
無料枠にもかかわらず、またも請求。
明細を見ると下記のとおり。課金。
$0.052 per RDS T2 Micro Multi-AZ Instance hour (or partial hour) running MySQL
$0.24 per GB-month of provisioned storage for Multi-AZ deployments
マルチAZ=無料枠対象外ということか・・・
トホホ・・