なんかかきたい

プログラミングなどの個人的なメモやサークル「ゆきいろパラソル」の情報を載せてます

【読み物】2022年にJenkinsのジョブ管理を自動化するには時代が追いついていない

完全に理解したから何もわからないに突入したので2022年現在の状況をまとめておこうと思います。 Jenkins自動化完全に理解したの人向けのメモなので、Jenkinsfileをまだ触ったことがない、ちょっと触っていて便利かもって人向けではないです。 先に結論だけ…

ISUCON12お疲れ様でした

ISUCON12お疲れ様でした 久しぶりに帰ってきた鍋部で参加させていただきました。 細かない話は色々ありますがとりあえず先出しということで。 序盤 開発環境が作れなくて泣く Dockerを剥がす > 早々に docker-compose を外したのは良しとしてビルドが通らず …

Cloudflareの障害の件

本日15時27分(JST) cloudflareで大規模なサーバ障害があり、多くのWebサービスの利用に影響が出ました。 インターネットではAWS障害かという声もありましたが、cloudflare (CDN) の障害でした。 世界的な影響となった割に、比較的短時間で復旧が行われ 16:42…

Ubuntu 20.04 の /boot に使っているパーティションでext4拡張を有効にすると grub でブートできなくなる

Ubuntu 20.04 の /boot に使っているパーティションでext4拡張を有効にすると grub でブートできなくなる 辛いけどこれが現実なのよね。 今回は grub rescue: unknown file system になってしまったのでご報告と復旧方法の共有です。

elasticsearch 6.7を7.12までアップグレードする

こんにちは、百合好きインフラエンジニアです。最近はわたなれが熱いですね。 今回はelasticsearchのバージョンアップをやっていこうと思います。

AWSでAZ障害が起きたので困ったことを書いておく

前にも似たようなこと書いたなと思ったけどもう一年半も前のことになるのか t-cyrill.hatenablog.jp ご存知の通り昨日 2021/02/19 23:20頃 AWSにて東京リージョンの一つ apne-az1 にて大規模な障害が発生。多くのAWSを利用していたサービスで影響があった。 …

MySQLの証明書をローテーションする方法を書いておく

前書き MySQL certificate rotate とかでググってもよくわからなかったので書いた。 RDSの情報はあるが、ネットにはあまり書いてない話題かもしれない。 サマリー 再起動またはMaster昇格が必要 影響を最小限にするためクライアントの証明書を現Masterと新Ma…

ISUCON10 本戦に鍋部2人前のインフラ枠で参加しました

諸事情でISUCON10の本戦に並行チーム枠として参加させていただきました。本当に疲れたのでざっくりとまとめだけ。

秋の日記

気づいたら2020年もほぼ終わりそうなので、久しぶりに日記を書いて2020年を振り返っていく

Jenkins Configrations as Code と Groovy サンドボックス

サマリー JenkinsにはGroovyを実行する機能があるが、任意のコードの実行を防ぐため、実行できるメソッドを制限する Groovy Sandbox という仕組みがある。 Groovy Sandbox を有効にするには、Authorize Project plugin で特定のユーザ権限で動作させる必要が…

Qiitaを退会しました

昔のQiitaは技術情報を共有する場でしたが、今では技術情報のノイズとなっている惨状。 Googleの検索でも -qiita で検索することが多くなっていて、そういえばQiitaって開いてないなという状況が長く続いていました。 事実上使っていないサービスですが、ア…

AWSでAZ障害が起きたのでなるべく影響を受けない構成の考えを書いておく

AZ障害は受け入れるしかないクラウド時代のインフラ ただの日記。 今日の昼、AWSを利用している人たちは大変だったところもあると思う。 AZの一つが丸々機能しなくなる大きなAWSの障害があり、AWSを利用して運用されていたサービスは多かれ少なかれ影響を受…

rsyncでpigzするやつ v2

普段よく使っているのでリモートからローカルにコピーする場合に使えるように機能拡張した。 ほとんど同じコードなのに共通化できなくて辛い。ifで分岐して二つのシェルスクリプトを一個にしたような作りがイケてないが使い勝手はよい。 細かい話だと rsync …

Jenkins job-dsl-plugin の Dynamic DSL について書いておく

Dynamic DSLについては以下を読めばわかるがググっても日本語が出てこないのでざっくり書いておく https://github.com/jenkinsci/job-dsl-plugin/wiki/Dynamic-DSL

nginxの設定をrspecでテストする

前略。やや複雑な nginx.conf があります。 nginx の設定はたまに変更する必要がありますが、それなりに重要な位置に配置されたnginxだと設定を書き換える際に、既存の構成を壊さないか、あるいは意図した通りに動作するのか事前に調べておきたいということ…

MySQLで定期的に SHOW PROCESSLIST を実行して長時間走っているクエリを探す

前略、大きいMySQLのデータベースがあります。すると、大きなデータベースから多くのデータを取得するため、非常に重いクエリが実行されることがあります。 そうするとデータベースが高負荷になるため重い処理を見つけたくなります。 (innodb_query_queued …

rsyncで圧縮転送したいけどpigzみたいに並列にならなくて困る

ので、tarとsshをパイプでつないで並列で圧縮しながら転送する君を作りました。 tar には指定したファイルのみをアーカイブに含める -T オプションがあるので、 rsync -nの結果をリストにして渡すことで、rsyncの対象になるファイルだけを転送できるようにし…

Ansibleのテスト環境をDockerで作ると楽

以前はVagrantを使ってansibleのテスト環境は用意していたんだけど、 vagrantはsnapshotが取れる利点がありつつも、VMを使うのでちょっとというかそれなりに遅くて、 何度も実行するansibleのテスト環境にはちょっと不便だなーと思っていたのですが、 最近Do…

Webアプリケーションをデプロイしたくなったのでsupでやってみる

sup pressly.github.io Golangで書かれたシンプルなデプロイ要ツール。 機能がとてもシンプルで、SSHコマンドを手で書くよりは簡単に書ける程度で、 逆に機能が少なすぎて必要なことが書きづらいことも。 大雑把に現時点でサポートしている機能は以下のよう…

nginxでupstreamをhttpsにしたいとき

ちょっとだけ知って置く必要がある設定があるので残しておく。あまり難しくはない。 証明書を更新しておく CentOSならyum、Debianならapt、その他はいい感じに。 yum install ca-certificate nginx をビルドする がんばってください。 SSLを使うことになるの…

カスタムして作った CentOS7.4 をAWSの M5, C5 で動かすときに落ちた沼について書いておく

今回もそこそこの不幸があった。普通にセットアップする分には簡単な案件だけど、ちょっと面倒なオプションがついて、カスタムしてダレカの作ったAMIをいい感じに新しいタイプのインスタンスで動かしたいというのがきた。やれやれ。 前知識 新しい世代のEC2…

zabbixについてまとめておく

Zabbixは総合監視ツールでmuninのようなメトリクスグラフを出したり、nagiosのような死活監視を行う機能をまとめて持っている便利ツール。 prometheus + grafana のように高速ではないが、長く使われているためそれなりの情報がある。 反面、古いといえば古…

AWS CodeDeployについて書いておく

CodeDeployはAWSが提供しているアプリケーションコードデプロイの仕組みで、各サーバに特権で動くagentをあらかじめインストールしておき、CodeDeployにデプロイ指示を出すと、agentがコードをダウンロードし、サーバ上で任意のコードを実行することで、アプ…

AWS CodePipelineからCodeBuildを呼んでlambdaで古いAMIを消すといい感じになる

前回の続き t-cyrill.hatenablog.jp AWSでAMIの作成をCodeBuildを使って自動化したけど、CodeBuildが動く部分も自動化したいので、Githubに置いてあるリポジトリのmasterにマージされたタイミングで自動的にAMIが作られるといい感じなんじゃないかと思って、…

AWS CodeBuild と packer と ansible でプロビジョニング済みのAMIを自動生成する

AMI生成部分を自動化できたので、ちょっとだけまとめておく。 CodeBuild AWSのDockerで動くCIツール。 CodeBuildの名前の通り、ソースコードをビルドする環境を簡単に作れることをウリにしている CircleCIなどのサービスでビルドしたり、Jenkinsを自前で用意…

AWSの管理をterraformとroadworkerにした

Ansibleのcloud_moduleで大量に書かれたplaybookをterraformに少しずつ移して、 Route53の管理だけをroadworkerに移してみたのですが、 今のところうまくいっているようなので紹介しておきます。 terraform HashiCorpのGoで書かれたオーケストレーションツー…

CentOS5にCentOS6の環境を作ってchrootする方法を書いておく

諸事情でCentOS5の環境を渡されたので、同じ不幸に見舞われた人向けに書いておく。 一般的な話でいえば、すぐにCentOS7の環境に移行すべきだが、世の中にはいろいろな不幸があるのでめげずに頑張ってほしい。 rinse でCentOS6をインストールする CentOSでchr…

Pythonのパッケージ管理とsystemdでプロセスをずっと上げておく方法を書いておく

タイトルは半分当たっていて、半分は嘘。 Pythonをちゃんと環境作ってやったことが今までなかったので、今わかってる範囲の情報をまとめていく。 pip Pythonのパッケージ管理システム。Pythonで作られたプロジェクトのインストールにもよく使われている。 依…

git-browse-remoteが恋しくなったのでgolangで書いてみた

現職場で何か足りないなーと思っていたことがあって、そうか git-browse-remote かと思ったので、お得意の gem install しようと思いましたが、 手元のRubyはバージョンアップのたびに入れなおすのが面倒と思ったので、golangの勉強がてらgoで書き直すことに…

HOMEを手に入れる話

世の中にはいろいろな不幸がある。今回の不幸はユーザが作れないLinuxサーバの運用を任されたことだ。 まあ、こんな不幸は滅多に遭遇することでもないとは思うけど、今後また同じ不幸に遭遇した時のために書いておく。 こんな情報いるのか?という疑問もある…