なんかかきたい

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

運用

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

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

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 になってしまったのでご報告と復旧方法の共有です。

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

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

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

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

rsyncでpigzするやつ v2

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

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

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

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

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

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で書かれたオーケストレーションツー…

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

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

askpassのことを書いておく

askpassとは何なのか askpass とはその名の通り、プログラムからパスワードが必要になったときに呼ばれるプログラムのこと。 よくある使われ方としては、GTKのプログラムで特権が必要になった際に、sudo のパスワードを尋ねるためのウィンドウを出すみたいな…

そこそこ使えるストレージサーバを作るときに考えていたこと(概念)

前置き 私がWebサービスの会社でサーバ構築・運用の仕事をやっていた頃の話です。 ストレージサーバはユーザさんのコンテンツを保存する重要なサーバでしたが、 コンテンツの増加に伴い、既存のサーバでは十分な性能を出せていなかったことがありました。 運…

HTTPでバックアップファイルを軽く配る

最近はバックアップファイルを配る時にHTTPを使っている。 クライアント側では curl を使って手軽に引っ張ってこれてそのまま tar に流して簡単に展開できて便利。 あとは scp だとCPUが貧弱なマシンだとやや使いづらい。 クライアント側からのアップロード…

PXEBOOT/BOOTP/DHCPあたりのことをまとめておく

この辺りはよく使ってる技術なんだけど一回作ってしまうと細かなことは忘れてしまうし、 AWSのようなクラウドサービスを使っていると触れる機会も減ってしまうので、 覚えているうちにまとめておこうと思う。 PXEBOOT ネットワークカードに搭載されているPXE…

老エンジニアだけど dotfiles を更新したい、だけど慣れた設定書き換えるのって怖くない?辛い...って思ってサボってきた更新をなんとかした話

概略 最小のSandbox環境を作る。 イマドキ風にやるならdockerとかVMとか。 とりあえずDebian系で動けばいいので、debootstrap + chrootで動かす。 /home/$USER を git init してコミット どうせ Sandbox だし乱暴する dotfiles をいい感じに書き換えてセット…

Dotenvはproductionで使わないほうがよいのではという話の続き

前の話 t-cyrill.hatenablog.jp もう二年近く前の話になりますが、昔の書いた記事のアクセスが地味に多いので、 結局自分はどうしているのかという話を少しだけ書きます。

MySQL 5.6の InnoDB バッファープールのプリロード機能が優秀で頭悪いクエリを投げなくても良くなった

再起動を高速化するための InnoDB バッファープールのプリロード https://dev.mysql.com/doc/refman/5.6/ja/innodb-preload-buffer-pool.html 特に大きなバッファプールを扱う場合にMySQLを再起動すると、起動直後はメモリにDBのデータが乗っていないので大…

Vagrant 1.7からinsecure_private_keyが置き換えられる仕様になっていることに今更ながら気づいた

ごく日常的にvagrantを使っている分には気にならないと思いますが、vagrant 1.7から vagrant ssh する際に仕様される秘密鍵は vagrant up の際に置き換えられる仕様になっています。 (1.6以前はInsecure Private Keyと呼ばれる共有の秘密鍵を使っていた) Ins…

コミックマーケット90情報です

よろしくです。 / サークル「ゆきいろパラソル」は、コミックマーケット90で「日曜日 西地区 "f" 26a」に配置されました! コミケWebカタログにてサークル情報公開中です https://t.co/NimzDVYBnD #C90WebCatalog— シリル@ひだまりPHP 3日目西f26a (@d_cyri…

Elasticsearch 1.7から2.3にアップグレードする

重い腰を上げてElasticsearchのメジャーバージョンアップを行うことになったのでメモ。

Fluentdを使ってKibanaにデータを入れてるけど一部のログを落としていたのでリプレイしたい

Fluentdを使ってKibanaにデータを入れてるけど一部のログを落としていたのでリプレイしたいってときに、 取りこぼした時間分のログを置いて、Fluentdに読み込ませて送ればいいじゃんっていう気持ちになるけど、 ログの量が多いとクライアントが高速にログを…

任意のバージョンのImageMagickをビルドできるコマンドを作ってるよって話

少し前からImageMagickの最新バージョンをビルドして使いたいなーというモチベで好きな時に好きなバージョンのImageMagickをソースからビルドできるスクリプトを作っていたので紹介します。

FreeDOSのイメージをPXEでブートする

2015年でもDOSを起動しなければならないことがあって、BIOSのアップデートとかBIOSのアップデートとかBIOSのアップデートなんだけど、2015年なのでフロッピードライブとか用意するのは簡単ではないし、何よりアップデート対象のマシンがデータセンターに置か…