今日の作業
- RDSへの置き換えを行う
1pomo 9:50 - 10:15
cloudformationでRDSの設定をする.
RevieeeDB: Type: AWS::RDS::DB::Instance Properites: DBSecurityGroups: - Ref: #TODO: SET Security Group - Ref: #TODO: SET Security Group AllocatedStorage: '' #TODO: DBInstanceClass: db.m1.small #TODO: set correct instance type Engine: MySQL MasterUsername: #TODO: secure settings MasterUserPassword: #TODO: secure settings DeletionPolicy: Snapshot
ベースはこれ。このあと、下記の項目について対応する
- 適切なDBInstanceClassの指定
- SecurityGroupの設定
- AllocatedStorageの設定
- Username, Passwordの設定(暗号化必須?)
ほとんどデータも格納しないだろうし、一旦 t2.microにした。 vCPU 1, ECU 1, Memory 1GB.
次はSecurityGroupsの設定を行う。 アクセスする必要があるのは、nginxとLambdaであり、nginx RevieeeAppServerSecurityGroupに入っているので、一旦これだけ設定。 Lambdaについては、やりながら考える
AllocatedStorageについて調べる。
The allocated storage size, specified in gigabytes (GB). If any value is set in the Iops parameter, AllocatedStorage must be at least 100 GB, which corresponds to the minimum Iops value of 1,000.
よくIOPSを忘れるのでメモ :sweat_smile: IOPS => 1秒あたりに捌けるI/Oの数. https://en.wikipedia.org/wiki/IOPS
2pomo 10:25 - 10:50
引き続きAllocatedStorageから。 Iopの設定すると、AllocatedStorageの値は最低100GBで、Iopsの値は1000になるよ! とのこと。AllocatedStorageの値って、最低何GBが適正なんだろ….
http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_Storage.html
汎用 (SSD) – gp2 とも呼ばれる汎用 (SSD) ボリュームは、さまざまなワークロードに対応できるコスト効率の高いストレージとして使用できます。これらのボリュームでは、レイテンシーは 1 桁台のミリ秒であり、長時間 3,000 IOPS にバーストできます。最小 100 IOPS (33.33 GiB 以下) から最大 10,000 IOPS (3,334 GiB 以上) まで、ベースラインパフォーマンスは 3 IOPS/GiB (ボリュームサイズ) の割合で線形に拡大します。gp2 ボリュームのサイズ範囲は、1 GiB ~ 16 TiB です。
ふーむ。汎用SSDだと1GB ~ 16 TiBと…
Provisioned IOPS – Provisioned IOPS ストレージは、ランダムアクセス I/O スループットにおけるストレージのパフォーマンスと整合性が重視される大量の I/O を伴うワークロード (特にデータベースワークロード) の要件を満たすように設計されています。Provisioned IOPS ボリュームのサイズは、100 GB〜6 TB (MySQL、MariaDB、PostgreSQL、および Oracle DB エンジン用) です。
なるほど、IOPSの設定をすると、Provisioned IOPSになるのかな。 となると、100GBがミニマムスタートになる。
今回は汎用SSDで良さげだな。容量と金額の関係性が分からないが、1GBでも十分かな。 足りなくなったら、後で増やそう。
次は Username, Passwordの設定
に入る。
これは外部引数として渡す方法でやるかなぁ。
一旦 Parametersを使った。 次のポモドーロで Conditionsを使う方法を調査する。
3pomo 11:00 - 11:25
Conditionsの設定を見て、書いてみた。 https://github.com/speee/webapp-revieee/pull/75 ここから先は、実行しながら確認していく。
このあとは、今後の設計に関する議論になったので、今日の作業はここまで