nend・nex8のエンジニア・技術ブログ2019-08-20RedisサーバをDockerで置き換えるインフラインターンインターン8月5日〜9日の5日間、ファンコミュニケーションズでインフラコースのインターンシップに参加させていただきました。タイトル通り、稼働しているRedisサーバの内一台をDockerコンテナ内で動かすことに取り組みました。作成と実行を行いました。詳しい日程と取り組んだ内容、得られた知見と感想について以下にまとめます。本番サーバの構築が終了したので、その後、本番サーバを停止する課題に取り組みました。以下、課題の詳細になります。ブログ記事の執筆など障害試験結果の報告会スキップしたOptionalの課題をすすめる※考える系の課題でも、はじめは必ずメンターとの対話形式ですすめる時間を確保する対話しながら進めることができたので、とっかかりが掴みやすくスムーズに進めることができました。既存構成の把握nendのクリック処理を行っている部分をとっかかりに、オンプレミスにあるサーバの構成を把握し、構成図に起こしました。クリック処理の既存構成図MySQL部分のMasterとSlaveの関係はもっと複雑ですが、ソースから読み取れた分だけ記載しています。一部の詳しい構成は4日目にメンターさんから説明を受けました。稼働中のRedisバージョンに合わせてインストール。設定ファイルもビルド時にコピーする。["/path/to/redis-server"]Docker(Redis)デプロイ上記のDockerfileを元にデプロイ。Rsyslogサーバ(AWS)を落としてみるAWS上のlogサーバの内、一台を落とす。影響の確認と落とした際の他サーバの動作を予想し、復旧時の動作確認方法をまとめる。レビューを貰ったのち、実行する。MySQLサーバ(Slave)を落としてみる&復旧するAWS上のMySQLスレーブの内、一台を落とす。落とすまでの手順とDBが壊れた際の復旧処理をまとめる。レビューを貰ったのち、実行する。DB落としてみて復旧作業。一つのシステムの一部分のインフラだけでも、想像以上にサーバが多い。影響を受けるサーバや本番への適用手順などを整理して、まとめる→レビューすることで抜け漏れやミスを防げ、新たな問題も見つけ出せる。Warningは読み飛ばさない。重要な設定ミスだったりする。Dockerやインフラを触る上で、Linuxや主要なミドルウェアの知識は必須。知識があったら設定項目や構成をもっと素早く洗い出せたと思う。ミーティングに参加していても、分からない用語が多数出てきたので出来る範囲で触ってみたいと思う。シェルスクリプトとviが出来ると捗りそう。この仕事楽しい!長期間働けるならやってみたいことDocker上で動くRedisを増やして、最終的にはすべてのRedisサーバをDocker上で動かす。デプロイからテストまでを自動化し、テストに失敗したらロールバックする構成を組みたい。Ansibleに組み込んでみたい。既存のインフラを監視して問題点を把握できるようにしたい。問題点を分析した上で、適切な対策ができるようになりたい。システムの要件に応じた適切な技術の選定とインフラの0からの構築をしてみたい。Kubernetesをオンプレミス環境で使ってみたい。本番環境にリリースするまでの流れを短い間に経験出来て、とても面白かったです。システム構成を読み解くこと、その一部を変更することでどのような影響を及ぼすかを考えること、テストやリリースの流れと問題点を洗い出すことなど、それぞれのフェーズで考え、試行錯誤することが多く、楽しく過ごせました。メンターや社員さんとの距離感もよく、悩んでも分からない部分に関しては質問がしやすかったので、スムーズに進めることが出来ました。Word2Vec)こんにちは!5日間インターンに参加させて頂いた中島です。Are青山のアドテク会社。アドネットワークやDSPを開発・運用。サーバを止めてみたよ。インターン:実業務体験編インターンでCTR予測をしましたSearchArchiveスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。