LoginSignup
0
0

AWS CLIでのRDS for MySQLを構築する

Posted at

早速コマンドを見せます

要件によって変わってくるオプションもありますが必要最小限の設定を指定してDBインスタンスを作成します。

aws rds create-db-instance \
	--allocated-storage <ストレージ容量> \
	--backup-retention-period <自動バックアップが保持される期間> \ 
	--ca-certificate-identifier <認証機関> \
    --db-instance-identifier <DB識別子> \
	--db-instance-class <インスタンスクラス> \
	--db-name <DB名> \
	--db-subnet-group-name <サブネットグループの名前> \
	--engine <エンジン> \
	--engine-version <エンジンバージョン> \
	--kms-key-id <暗号化に利用するkey> \
	--master-username <マスターユーザー名> \
	--master-user-password <マスターユーザーで利用するパスワード> \
	--vpc-security-group-ids <VPCセキュリティグループ> \
	--copy-tags-to-snapshot \ # スナップショット取得時にタグをコピーするかどうか
	--deletion-protection \ # 削除保護
	--no-auto-minor-version-upgrade \ # 自動マイナーバージョンアップをするかどうか
	--storage-encrypted # ストレージの暗号化

aws rds create-db-instance \
	--allocated-storage 20 \
	--backup-retention-period 1 \
	--ca-certificate-identifier rds-ca-rsa2048-g1 \
	--db-instance-identifier test_instance \
	--db-instance-class db.t3.micro \
	--db-name test_db \
	--db-subnet-group-name testsubg \
	--engine-version 8.0.35 \
	--kms-key-id arn:aws:kms:ap-northeast-1:xxxx:key/xxxx \
	--master-username admin \
	--master-user-password password \
	--vpc-security-group-ids sg-xxxx \
	--copy-tags-to-snapshot \
	--deletion-protection \
	--no-auto-minor-version-upgrade \
	--storage-encrypted

作成後に利用できる状態になっているかを確認するコマンド

aws rds describe-db-instances --db-instance-identifier <インスタンス識別子> --query 'DBInstances[*].DBInstanceStatus'

availableと返ってくれば利用可能です。

なぜCLIで作るのか?

サクッと作るのであればAWSのマネジメントコンソール(以下:マネコン)上から作成した方が早いと思います。
ですが、作成手順をマネコンベースでまとめてしまうとUIの変更によって確認する場所や手順が変わってしまいます。その都度手順を更新するのは正直手間です。
computer_manual_woman.png

そこでCLIを利用することで先ほどの課題は解消されると考えてます。
AWS CLIのバージョンが変わったとしても破壊的変更がなければCLIでまとめた手順は最小限の更新コストで済みます。
setsumeisyo_man.png

AWS CLIのドキュメントも充実してますが、最近ならAIにコマンドを書いてもらい必要に応じて修正すれば簡単に作成できます。

まとめ

個人的には手順書を作成するならAWS CLIでの構築手順をお勧めします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0