by shigemk2

当面は技術的なことしか書かない

5-Key-Metrics-Engineering

CircleCI社が出しているペーパー?ブログ記事?

  • ビジネスの世界は常に変化しているので、CICDにかかる時間は短いほうがいい
  • コミットからデプロイまでの時間は短いほうがいい
  • ビルド時間は短いほうがいい
  • プロジェクトがいっぱいあったらビルド待ちのキューは溜まっていくので、キューは少ないほうがいい
  • masterブランチは常にgreenであること

https://www2.circleci.com/rs/485-ZMH-626/images/5-Key-Metrics-Engineering.pdf

memo Instance Store

https://image.slidesharecdn.com/20140129aws-meister-reloaded-ephemeral-ebs-public-140130055222-phpapp02/95/aws-instance-store-elastic-block-store-52-638.jpg?cb=1391061250

  • バッチ処理とか一時的なファイル置き場として最適
  • t1とかスペックの弱いインスタンスタイプには対応していない
  • 揮発だからか他のインスタンスに付け替えたり複数のインスタンスで共有したりは出来ない
  • EC2上の物理ホストに割り当てられている(EBSの物理ホストはEC2とは別にある)
  • ブロックデバイスマッピングはマネコンからは確認できない

www.slideshare.net

MySQL backup

  • 論理バックアップ
    • mysqldumpとかのコマンドでエクスポートする
      • mysqldumpはシングルスレッド
  • 物理バックアップ
    • データベースのファイルを所定のディレクトリにコピーする
    • rsyncとか
    • RDSはSSHログイン出来ないのでこの方法は使えない
    • XtraBackupも一部の方法でコレ(でもマルチスレッド)

https://image.slidesharecdn.com/mysql-150228073859-conversion-gate02/95/mysql-14-638.jpg?cb=1454483267

EC2 Instance Store

インスタンスストアは、インスタンス用のブロックレベルの一時ストレージを提供します。このストレージは、ホストコンピュータに物理的にアタッチされたディスク上にあります。インスタンスストアは、頻繁に変更される情報 (バッファ、キャッシュ、スクラッチデータ、その他の一時コンテンツなど) の一時ストレージに最適です。

  • mysqldumpとかでダンプリストアするときにも使ったら良いと思う
  • ある程度スペックの高いインスタンスタイプじゃないとインスタンスストアが使えない
  • EC2を起動しただけではインスタンスストアはマウントされないので、起動後別途マウントは必要
$ ll /dev/xvdb
$ sudo mkfs.ext4 -E nodiscard /dev/xvdb
$ sudo mkdir /mnt/ssd
$ sudo mount -o discard /dev/xvdb /mnt/ssd

hdparmとか使うと良いと思うよ

memo TDE

memo TDE

Transparent Data Encryptionの略。

  • 保存データを暗号化する
  • データはストレージに書き込まれる前に自動的に暗号化され、ストレージから読み込まれる時に自動的に復号化する
    • 透過
  • RDSにおいては、TDEはOracle/SQL Server/MySQLなどに対応
  • 透過的暗号化で、データの出し入れの際に暗号化と復号化を行なうので、mysqldumpでダンプを取るときは復号化されたデータが出力される

https://docs.oracle.com/cd/E49329_01/network.121/b71313/asotrans.htm

https://www.mysql.com/jp/products/enterprise/tde.html

mysqldump quick option

mysqldump quick option

このオプションは大規模なテーブルのダンプに便利です。これは mysqldump に対して、テーブルのすべての行のセットを取得して、書き出す前にメモリーにバッファリングするのではなく、サーバーから 1 行ずつ行を取得することを強制します。

1行ずつ取得する

なお、--optは、--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charsetと同等。

https://dev.mysql.com/doc/refman/5.6/ja/mysqldump.html#option_mysqldump_quick

memo SES

  • メッセージあたり 10 MB (base64 エンコーディング後)であり、これは添付ファイルも含まれるので、添付ファイルのサイズが大きかったらメールを送信できない
  • リクエストで引き上げられる項目は以下
    • 送信クォータ 24 時間当たりに送信できる E メールの最大数
    • 最大送信レート 24 時間当たりに送信できる E メールの最大数

docs.aws.amazon.com

docs.aws.amazon.com

docs.aws.amazon.com