LoginSignup
6
0

More than 3 years have passed since last update.

今年の自分を振り返る

Last updated at Posted at 2019-12-05

こんにちは
株式会社Diverseで働いていますpython_spameggsです。
6日目の記事になります。
タイトル通り今年一年の自分がやって来たことを振り返りたいと思います。

1月〜3月

社内ツール

AWSへ移転する時に必要ではないものは予め無くしておきたかったので誰も使用していないものを洗い出して停止、削除しました。
弊社の制度で本を購入するのに補助してくるのでその申請が簡単にしやすくするものを作成しました。

DNS移管

AWSへ移管しました。
rspec-dnsを使用して漏れがないことを確認しました。

AWS CodeBuildとTerraformを使用してAWSサービスを作成

PRを作成するとterraform planが実行されてPRがマージされるとterraform applyが実行されます。
こちらを参考にしました。Terraform どこで実行していますか?
すでにAWSコンソールから作成されていたサービスがあったのでterraform importを使用してコード化しました。

mackerelの監視ルールをgithubで管理

監視ルールに追加や変更があったらmkr monitors pullしてgit pushしてgithubで管理しています。
githubにpushされた時にCircleCIが動くようになっておりmkr monitors diffを実行して監視ルールと差分がないかチェックしています。
私以外やっている人がいないので自動化したいなと思っているけど手が回ってないです。

dokkuを使用して開発環境を作成

環境を作成したいブランチを選択してボタン一つで作成、更新、削除ができるようになっています。

4月〜6月

AWS Direct Connectの準備

VPCなどの設定やDirect ConnectのVirtual Interfaceなどを開通するのに必要な情報をエクセルにまとめました。
資料をまとめるのは普段の作業と違ってなかなかハードでした。

MySQLのバックアップ専用サーバのマシン交換

レプリケーション遅延でバックアップがきちんと出来てなかったのでスケールアップしました。
バックアップ方法や監視方法が古いものを使っていたので見直しました。

gRPCのためにプロキシサーバを作成

nginxを使用してプロキシサーバを作成したが最近envoyの方が良かったのではないかと思い始めてます。

RPMをdocker-composeで作成できるように対応

DockerでRPMの作成はしていたけど古くなりドキュメントもなかったのでdocker-composeを使うものを作成しました。

AWS S3にRPM Repositoryとして使用できるように作成

AWSへ移転して使いたいRPMが出てきそうだったので準備しました。
sts:AssumeRoleを使って別のAWSアカウントからも使用できるようにして特定のユーザ or IPアドレスのみアクセスできるようにバケットポリシーを作成しました。
そのままだとs3からyumが出来ないのでAWS EC2インスタンスにyumできるようにプラグインを設定しました。
この時に参考していたものがbotoを使っていて古いのでboto3を使用するに変更しました。

7月〜9月

AWS Direct Connectの開通確認

疎通確認して速度計測をa、c、dそれぞれ確認しました。

AMI作成

packerとansibleを使用して作成しました。

MySQLのバージョンアップ

バージョンを5.5から5.6にアップグレードしました。
MHA for MySQLを使用してフェイルオーバーさせて切り替えました。
5.7まであげてもいいじゃないかと話に上がっていたが時間が足りなかったので次の機会に。

pt-duplicate-key-checkerを使用して重複したインデックスをチェック

興味があって時間もかからなかったのでさくっと出しただけで使えていません。

SSL/TLS証明書の更新

オンプレミスで使用しているものを更新しました。

10月〜12月

MySQL(オンプレミス)からAWS RDS(MySQL)にレプリケーション

time_zone設定の違うMySQLのレプリケーションについて
上記に気が付かずTIMESTAMP型のカラムがずれてしまったのこちらを参考にtimezoneを変更してmysqldumpを行いリストアして対応しました。
レプリケーション用のユーザパスワードが保存されていたものと違っていたので探索してmysql_historyから作成したログが残っていたので保護してmysql_historyからは削除しました。

terraformをv0.11からv0.12にバージョンを変更

AWS CodeBuildでWARNがいっぱい出てしまい実行結果のログが読みにくくなったため変更しました。

一部サーバをAWSへ移転

gRPCサーバとgRPCのプロキシサーバを移転しました。
予めRoute53に移転していてルーティングポリシーを重みを少しずつ変更して徐々に行った。
現在はメールサーバとRDSの移転を行っています。

まとめ

やったことをなるべくdocbaseに書いてきましたが詳細が抜けていることが多くて思い出すのが大変でした。
振り返ってみると1年通してこれだけAWSへ移転するための作業をやったことはないのでいい経験なりました。
来年も同じことを続けるけど。

明日の7日目は誰かが埋めてくれるはず!

6
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
6
0