サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
cross-black777.hatenablog.com
About 私が担当しているインフラ環境で先日インスタンス障害がありましたが、pull型デプロイにしていたからか自動でインスタンスが復旧できたので嬉しさのあまり記事にしてみます。 About 技術スタック AutoScalingにした際のゴールデンイメージ問題 pull型デプロイについて インスタンス起動の流れ この前起きた障害時の流れ この構成のデメリット まとめ 参考 技術スタック consul + stretcher Autoscaling AutoScalingにした際のゴールデンイメージ問題 AutoScallingをさせるにはアプリが全部入りのAMIが必要です(AMIを起動させた時点でサービスインできる状態)。ただ、更新が多いアプリだと更新の度にAMIを作るの時間かかりますよね…。1日10回デプロイするなんてことになったら、CIでやるにしろそれなりの時間がかかるのでかなり面倒く
世のインフラエンジニアの方々は、何らかの形で利用しているソフトウェアのセキュリティ情報を日々チェックしていると思います。しかし、利用するソフトウェアが増えてくると全部のチェックはなかなか難しいのではないでしょうか。 そんな中最近Amazon Inspectorがプレビューから一般利用開始となり、注目されている方もいると思います。そういったツールが様々出る中で、最近Vulsというものを知ったので試してみたいと思います。 Vulsとは Amazon Inspectorとの違い go-cve-dictionaryについて 実際に使ってみる 検証環境のバージョン Vuls server scan対象サーバ 事前準備 slack通知を試す TUI(Terminal-Based User Interface)を試す OSパッケージ以外もチェックする まとめ Vulsとは github.com scan
お題「エンジニア立ち居振舞い」 流行に乗りたかったんです...!情報の扱いについて。 大学時代に日本史学をやっていて、よく教授に一次史料を確認しなさいと言われました。ソフトウェアエンジニアになっても同じことを言われます。 いくつかのパターンを見ていきます! ドンピシャの記事を探す よくやりがちなのは何かわからないことがあったとき、ググってヒットした記事を見て満足するケース。これはわかった気になってるけど見になってないので、応用が効かないしそもそも間違っていることがあるのでいまいちです。とくにIT系の技術はアウトプットが盛んなので、これで済むケースも多いですが、いざgoogle先生が解決できない問題に出くわすと非常に脆い状態になります。 ググっていくつかの記事を比較する 次に複数の記事を見るケース。これは良し悪しだと思っていて、時間がないケースとかなら仕方ないかもしれない。ただ、それでもその
About そろそろやっておきたいと思ったので試しました。 環境 $ docker -v Docker version 1.13.1, build 092cba3 $ docker-compose -v docker-compose version 1.11.1, build 7c5d5e4 検証 基本的にドキュメントを見ながら作りました。アレンジした部分とかもあったので、一部修正しつつやりました。 Quickstart: Compose and Rails - Docker 適当なRailsアプリを作る db接続必須なアプリを作ります。 $ gem install rails $ rails new . -d postgresql $ rails g scaffold Member name:string comment:text 試しにローカルで動かすには $ rails db:set
いまだに手動で環境構築する会社が嫌になってきたので、Web界隈の 技術を試してみたくて触ってみました。自分用メモです。 chef等と違い、エージェントのインストールなどがいらないため、会社でも もしかしたら使えるかもしれないですね。 前提 ホストOS(windows)上にvagrantを使ってCentOS(管理サーバとする)を構築。 dockerを使ってnodeをn台作成し、ansibleで構成管理してみる。 管理サーバの構築 Vagrantは既にインストールされているとします。 boxfileの追加 今回はCentOS6.5を使います。 vagrant add centos6.5 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box vagran
フィードフォースエンジニア Advent Calendar 2015 の19日目の記事です。 昨日は task 先生の プレゼント交換アプリを作っている話 | task blog という記事でした!ぜひ完成させて欲しいですね! 私、実は フィードフォース という会社でインフラを担当してます。敢えて今までブログで社名出して来なかったのですが、1年目で辞めずに済みそうなので名乗ってみました。この記事では1年間働いてみて学んできたことを振り返りたいなと思います。ポエムな内容多めです!面白く無いです!!!!!!1! 1月〜3月 主な出来事 入社 初エンジニアブログ CircleCI + DockerでサーバCI始めました | feedforce Engineers' blog 主に触った技術 chef serverspec docker 証明書・ドメインの管理とか 考えていたこと 意気揚々と入社し
大したことをしたわけではないですが、とあるプロダクトに対しPRを出し、それがマージされてcontributorになりましたというお話です。ポエム成分多めです。 やったこと awspecのec2 typeにTermination Protectionの属性のテストができるmatcherを追加しました。 github.com やるなかで学んだこと・感じたこと 意外に動くものができる これまでインフラ周りの担当として業務を行って来ていて、chefだとかServerspecだとか各種ミドルウェアの設定だとかはよく書くのですが、実際にコードを書く機会がほとんどありませんでした。(コードの定義が難しいのですが、何かのサービスやプロダクト自体のコードというイメージ)ただ、業務中に何か問題が起きた際には実際にコードを見たほうが解決が早いと思ってコードを見るようにしていたし(これとか)、それが前職でお世話に
About vagrant-googleを使ってサーバCIできるか検証してみました。 課題 AWSを使ってCIすると遅い気がする…突然、サーバの起動に数十分かかることもある… dockerを使ってCIすると速いのだけれど、docker独自のハマりポイントがあったりそもそも使い方としてふさわしくなさそう… gcpをisuconで触り始めたので、無料枠あるうちにためしてみるかー という感じです。 GCE(Google Cloud Engine)とは Google Cloud Platform上で構築できるVM環境です。AWSでいうEC2という理解です。料金体系が違い10分毎に料金が請求されるみたいです。 すべてのマシン タイプでにおいて、最低の使用料金として 10 分間が請求されます。たとえば、インスタンスを 2 分間実行した場合でも、10 分間の使用量が請求されます。最初の 10 分を経過後
About Mackerel Meetup #9 Tokyoにブログ枠で参加したので書きます! 会場 めっちゃシャレオツでした! 有名アーティストのサインとか飾ってあった!(写真NGだったので心に留めておきます😇) 地の文は走り書きなので一部間違っていたりわかりにくい部分があります。気になる部分はスライド(公開されれば)もしくは今後のアナウンスをご確認下さい。 The 2017 Mackerel Product Roadmap. 株式会社はてな Mackerel プロデューサー 杉山広通(id:sugiyama88) 会場がめっちゃシャレオツ agentインストール型のSaaSサービス ユーザは管理画面ベースで設定することができて便利 mackerelってスマホでも見れるらしい(知らなかった ワンライナーでインストールできてめっちゃ便利(最近かな “最小のルールが最高の利便性を"目指して
先日、社内でisuconを開催した際にRundeckを利用したお話です。 背景 弊社内で、isucon5の予選問題を個人戦でやってみようということになり、私が環境の準備をしました。用意されているイメージを元にインスタンスを起動し、公開されているスクリプトを使ってインスタンス内でスコアが取得できることを確認しました。 しかし、開催日前日にとある若手エンジニアに「ベンチ実行するときにもCPUとか使うし、ベンチ対象サーバとベンチ実行サーバは分けて実行しないと正確な値取れないんじゃないですか^^」と言われて急遽リモートからベンチマークを実行できる環境を作ることになりました。 戦略 困ったものの、リモートから各インスタンスにベンチマークを実行するパターンをいくつか考えてみました。 isucon5の予選相当の環境を用意する 準備が大変そう。キュー保存用のRDBMS用意しないといけないし。ということで今
About こちらはRedash Advent Calender 2017 19日目の記事です。 qiita.com ノリでFargateを使ってRedashを構築してみました。 もともとのdocker-compose.yml version: '3' services: server: image: redash/redash:${REDASH_VERSION:-latest} command: server command: create_db depends_on: - postgres - redis ports: - "5000:5000" environment: PYTHONUNBUFFERED: 0 REDASH_LOG_LEVEL: "INFO" REDASH_REDIS_URL: "redis://redis:6379/0" REDASH_DATABASE_URL: "
この記事は feedforce Advent Calendar 2016の5日目です。前日は人事のなべはるさんの記事でした。技術をすごい活用されててすごいですねー! www.adventar.org 今年は技術縛り要素があまりないので、普段書かないマネジメント話をしてみます! 背景 今年の9月くらいから開発リーダーに任命され(その前は前任のリーダーが抜けたあと全員がリーダーみたいな仕組みだった)、やっていった中でいろいろ課題を感じていました。 自分は細かいことが気になるたちなので、その方向性本当に正しいの?この開発プロセスはこのままでいいの?などなどどんどん気になるポイントが頭によぎってました。それを自分で決めて・実行して・振り返るってスタンスでやっていったわけですが、どんどん範囲が広がりすぎて死にそうになってきました。もっとメンバーにも求めたい気持ちも正直ありました。が、暗黙の期待ってい
この記事は 転職(その2) Advent Calendar 2016の5日目です。 qiita.com いろいろな転職のパターンがあって、見ていて面白カレンダーです! エンジニアには転職がつきものと思うので、次に転職する際の基準みたいなものをまとめておこうと思います。これさえできていれば自分が望むことは達成できる的なやつです!あくまで自分用です! これまでの経歴 ざっくり書くと1社目新卒でSIer -> 2社目 Web系(現職)です。なのであまり多い方ではありません。 振り返り これまでに転職時の理由を過去の自分はブログに残していたようです。 cross-black777.hatenablog.com cross-black777.hatenablog.com cross-black777.hatenablog.com 定期的に書いてますねwまる2年たったらまた書こうかな。あとで振り返るた
About NW素人のインフラエンジニアなので、一から勉強することにしました。おかしな点ありましたらご指摘いただけると助かります。 設定例を読み解いて見よう ヤマハのページに設定例が載っているので、それを元に基本的な設定を確認してみます。 全体像はこちら LAN1ポート分離機能:RTX1200 コマンド設定例 « 設定例 設定の確認 # 経路設定 ip route default gateway pp 1 LAN内で見つからなかったIPを外に探しに行く時に利用します。マルチホーミングとかの設定が必要ならば、他の設定になりそうですが基本的には上記の設定のままでいいんじゃないでしょうか。 # IPフィルタの設定 ip filter source-route on ip filter directed-broadcast on source-route Source-route オプション付き
About 最近Consulを使い始めたので、基本的な所をまとめてみます。 Consulとは 読み方は”コンスル”が正しいらしいです。でも”コンサル”って呼んでます← 公式HPを見ると、 Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. トノコト 簡単に言うと、クラスタを組んでいろいろいい感じにできるツールという所でしょうか。 Consulでできること(一部) クラスタを組んでいるサーバ内で同じ情報を参照することができる(内部DNSやKey/Valueストアとして) ヘルスチェックに失敗したサーバを自動で切り離すことができる DBで言うところのMasterが死んだ時のfailover機能が実装されていて、細かい設定が要らない 各サーバ内でコマ
About こちらはprometheus Advent Calender1日目の記事です。第1日目ということで今回はdocker-composeを使ってprometheusを動かしてみよう編です。 12/2 20:30 誤記があったので修正しました(id:kutakutatriangle 様ありがとうございます!) この記事の目標 prometheusをあまり触ったことない人がどんなものかを触りながら、各コンポーネントをなんとなく理解出来ている状態を目指す。 prometheusとは google製 soundcloud製のモニタリングツールです。mackerelやdatadogなどとは違いいわゆるpull型のモニタリングツールです。前者はagentが情報を収集し、その情報を管理サーバなどに送る(push)ことでデータを集約しています。一方、後者のprometheusはexporterと呼
About Cloud環境での構成パターンをもっと勉強しようと、以前より目を付けていたCloud Design Patternを読みました。 Cloud Design Patternとは AWS-CloudDesignPattern AWSクラウドデザインパターン (AWS Cloud Design Pattern, 略してCDPと呼ぶ)とは、AWSクラウドを使ったシステムアーキテクチャ設計を行う際に発生する、典型的な問題とそれに対する解決策・設計方法を、分かりやすく分類して、ノウハウとして利用できるように整理したものである。 ということで先人たちの知見の塊です。 読んでみての感想 今まで使ったことのないパターンやオプションなどもあって勉強になりました!あとは自分がいいなと思っていたパターンがBootstrapという名前が付いていたり、今運用しているサービスの構成をもっとこうしたらいいかも
About 初回に立てた時はSGが1つだったが、あとからSGを追加したくなったときどうなるか試した結果です。 バージョン terraform v0.6.11 テスト環境の準備 とりあえず雑に作りました。 resource "aws_instance" "test" { ami = "ami-b80b6db8" instance_type = "t2.micro" key_name = "${var.key_name}" # Our Security group to allow SSH access security_groups = ["${aws_security_group.test.name}"] root_block_device { delete_on_termination = "true" volume_size = "8" } tags { Name = "test" P
HashiCorp Advent Calendar 2015の4日目の担当がいらっしゃらないようでしたので、最近試したことでも書いておこうかと思います。検証が不十分な部分があるかと重いますがご容赦下さい(現在12/4 23:25です) 前日はk1LoW - QiitaさんのTerraformで簡単なところからいろいろ試してみた報告(tfファイル付き) - Qiitaという記事でした。Terraformの知見が増えてきて嬉しいですね。 さて、この記事ではタイトル通りTerraformを使ってIAMロールをEC2の付与することをご紹介します。 IAMロールとは EC2インスタンスからawsのAPIを叩こうと思った時に気になるのが、credentialの扱いかと思います。AWSにはIAMロールという機能があり、その機能をEC2インスタンスに付与することでcredentialファイルを自分で用意し
About TerraformでRDSも作成できると、初期構築が早くなりそうなのでやってみます。 前提 v0.6.14 VPCなどの環境は事前に作成済み RDS RDSを構築するには4つのリソースが必要です。 aws_db_subnet_group aws_security_group aws_db_parameter_group aws_db_instance subnet db用のsubnetを定義しましょう。 resource "aws_db_subnet_group" "db-subnet" { name = "test-db-subnet" description = "test db subnet" subnet_ids = ["${aws_subnet.private.0.id}", "${aws_subnet.private.1.id}"] } security group
About mackerel上でAWSのbilling情報見たいなと思っていたので作りました! github.com 使い方 特に設定は不要でreleasesにあるファイルをDLしてきて解凍すればそのまま利用可能です。 $ ./mackerel-plugin-aws-billing 現状はTotalの金額のみ取得可能です。徐々に詳細のbilling情報を取得したいなと思っているところです。 工夫点 最初はaws-sdk-goを使おうと思ってましたが、goamzを使っているケースが多かったのでそちらに合わせました go-mackerel-pluginがdeplicatedとなっていたので、go-mackerel-plugin-helperを使いました まとめ もっとgolang使って開発していくぞ!現場からは以上です。
About dockerを使ったサーバCI(dockerの使い方としていいか悪いかは別として)をしていますが、最近knife-soloをアップデートしたタイミングでCIがコケるようになりました。原因調査したので、備忘録として残しておきます。 概要 CircleCIを使ってdockerコンテナを2台起動し、その2台に対してcookしています。 github.com $ cat circle.yml machine: timezone: Asia/Tokyo services: - docker checkout: post: - git submodule sync - git submodule update --init # use submodules dependencies: cache_directories: - "~/cache" pre: - cp ./.ssh/ssh-c
とりあえずやってみたのでどこかに残したいと思ったので、ブログに書いておきます。 Cloudwatchの設定をする Elasticsearch serviceを追加する S3のVPCエンドポイントを追加する VPC Flow logsを追加する まとめ 公式リンク Terraform v0.6.16を想定しています。 Cloudwatchの設定をする インスタンス作成だけでなく、合わせてCloudwatchで監視したいと思った時に。 resource "aws_cloudwatch_metric_alarm" "ec2_alarm" { alarm_name = "[FATAL][ec2] StatusCheckFailed" comparison_operator = "GreaterThanOrEqualToThreshold" evaluation_periods = "1" metr
About 今更感ありますが、いろいろなSaaSを利用し始めると鍵の扱いをどうするかの問題が出てきます。生のままリポジトリに含めるのは言語道断なので、最低限の対策としてデータを暗号化できるencrypted data bagsを試してみます。 使い方 秘密鍵を用意する 暗号化に利用する鍵を作成します。下記コマンドで鍵を作ることができます。 $ openssl rand -base64 512 > .chef/data_bag_key 作成したら、鍵を利用できるようにknife.rbに鍵のパスを指定します。 $ cat .chef/knife.rb ... data_bag_path "data_bags" encrypted_data_bag_secret ".chef/data_bag_key" これで準備は完成です。 新規作成 それでは機密情報をdata_bags配下に作成していきます
この記事の目的 昨今、Shellshockに始まり、Heartbleed、POODLE、FREAKと脆弱性情報がいろいろ出ていますね。そういった情報をこれまではtwitterなどを通して仕入れてきたのですが、このタイミングで一次情報にもきっちり当たれるようになっておきたいと思い、脆弱性情報の見方や収集の仕方をまとめておきたいと思います。せっかくまとめたので、初心者向け情報として公開し、またおかしな点のご指摘や更に有益な情報をスペシャリストの方々にご教示いただければ助かります。 脆弱性情報とは? CVEって? 脆弱性にはよくCVEというuniqな番号が振られます。これは米国政府の支援を受けた非営利団体のMITRE社というところが管理している番号で、脆弱性情報を一元的に管理できるようになっています。日本で運用されているJVNという識別子もCVEと関連付けされており、情報をたどることができます。
About 勉強会参加の記録です。走り書きと感想を貼っておきます。そのうちスライドが公開されるかと思うので、そちらも合わせてご参照下さい。(随時更新予定です) メルカリのサービスの監視について @kazeburo mercari speakerdeck.com mercariのこれまでの監視 元々はZabbix.さくらの専用サーバ トリガーをうまく使って監視してた JP/USでzabbix使ってた(JP:さくら、US:AWS) zabbix設定が少しずつずれていく。(専用サーバとAWSで違いがあったり) zabbix自体のツラミもあった mysqlへの負荷、監視の遅延 zabbix芸が大変 通知をもっと良くしたい mackerelへの切り替え 最初はService Metricsから導入 Zabbixのトリガーをpluginとして実装 mackerelのよさ 運用が楽 JP/USでの監視項
About 最近cron辛いなーと思っていて、じゃあ使ったことのあるRundeckなのかと思うのですが、冗長性をどう担保しようかなーと悩んでいました。たまたまgithub眺めていたら面白そうなものを見つけたので試してみます! 解決したいこと 定時にジョブを実行させたい どのサーバで動くかは重要ではなくて、とにかく定期実行させたい(冗長性) disposalなサーバにしたいので、サーバ特有の設定をなるたけ排除したい cronsulとは GitHub - EvanKrall/cronsul: Runs periodic jobs somewhere on a cluster... sorta cron + consul = cronsulということだと思うのですが、その名の通りcronをconsulで制御します。 仕組みとしてはいたって簡単です 1. consulクラスタ上で同じcronを定期
あけましておめでとうございます! 今年は昨年より"人生を楽しむ”という意識高め()の決意を胸にやっていきたいと思います! さて、年の始めのブログ記事ということで決意・目標を立ててみたいと思います。昨年は特に立てておらずPDCAを回す機会がなかったので今年はしっかりやっていきます。 ちなみに決意・目標で分けているのは、前者はこうありたいと日々意識すること、後者は具体的に達成したい指標という意味を込めています。 決意 楽しく生きる 人生楽しく行きなきゃしょうがないなーということに最近気づき始めました!!!これまでの人生は変なバイアスがあって、安定を目指したりとかオタクとしていきてくしかねえーみたいな先入観があったのですが、いろいろ考えるの面倒になってきたのでとにかく楽しく生きていこーという気分です。人間何かに集中してしまうと視野が狭くなりがちな気がしますが、今は視野を広く見れている気がするので
About Consulのv0.7.1からAWSのtagを使ってクラスタを組めるようになったので、試したという内容です! Before サーバが起動したタイミングでconsulクラスタを組んで欲しいので、userdataを使ってあるマスターノードをに対してstart_joinするような仕組みを取っていた。 マスターノードが死んだらジョインできない感じでした。とはいえAutoScaling環境下だったので、IPを固定してのconsul joinができなかったので当時悩んでました。内部DNSとかAtlasとか手段はありそうでしたが、きっとそんなに頻繁に入れ替わりないので大丈夫だろうと後回しにしていました。 After AWSのtagベースでのjoinが可能になりました(現時点ではGCEのtagも使えるらしい。試したことはないです!) github.com 実際にやってみる 今回はサーバを2つ用
次のページ
このページを最初にブックマークしてみませんか?
『tjinjin's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く