サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
cross-black777.hatenablog.com
About 前回の Terraformのmoduleを使ってIAMロールを管理する - tjinjin's blog を受けて既存のIAMロールをimportするときにハマったのでメモしておきます。 バージョン terraform v0.9.11 terraform moduleのimportについて 公式ページを見ると下記のように書いてあります。 $ terraform import module.foo.aws_instance.bar i-abcd1234 Command: import - Terraform by HashiCorp 普通に使う分には問題無いですが、moduleがネストしているケースでは少し工夫が必要でした。 サンプルですが、moduleが下記のような構成になっているとします。 module ├── group │ ├── admin │ │ ├──
概要 いくつかパターンと懸念があるので考えた。メモ書きレベル。 考慮事項 ログの欠損を最小限にしたい。可能な限り拾いたい fluentdのメモリ内のログが欠損するのは許容(どうにもならない) それ以外のログの欠損を防ぐ 考慮点 fluentdを使うかどうか ログを一度ファイルにするか awslogs driver -> CWLogs コンテナのログをCWlogsに送る もろもろの考慮が不要なため初期は一番楽だと思われる とにかく料金がネックになる S3に送るにもCWLogsを一度経由する必要があり大変 CWLogsのRatelimit引っかかったことはないがどうか?log streamを分ければある程度スケールするかも。 fluentdパターン 柔軟にログを送ることができる fluentd -> kinesis -> kinesis firestream -> ElasticSearch
About 2018年になったので見直してみました。 以前 以前はこんな感じでした。 cross-black777.hatenablog.com cross-black777.hatenablog.com 環境ごとに設定ファイルをばらける作りにしていたため、環境追加とかが非常に面倒でした。 最新版 先に最終的な構成のサンプルを貼っておきます。解説不要な方はこちらご覧になっておかしな点あればこっそり教えて下さい。 github.com 以前からのTerraformの大きな変更点は下記です。 環境グルーピングごとの適用するようにした assumeRole対応したのでkick用のスクリプトが不要になった 他にもいろいろあるのでコードを見ながら解説していきます。 全体構成 . ├── README.md ├── environments │ ├── development │ │ ├─
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: "
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 勉強会参加の記録です。走り書きと感想を貼っておきます。そのうちスライドが公開されるかと思うので、そちらも合わせてご参照下さい。(随時更新予定です) メルカリのサービスの監視について @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 datadogのコンテナからfluentdコンテナを監視するやつをやってみました。 やりたいこと datadogコンテナを立てる fluentdコンテナを立てる datadogコンテナでfluentdコンテナを監視する アプリのサーバを立ち上げてfluentdにログが貯まるかを確認する datadogコンテナを用意する datadog公式がコンテナを用意しているので、API_KEYを取得すれば簡単に起動できます。 GitHub - DataDog/docker-dd-agent: Datadog Agent Dockerfile for Trusted Builds. API_KEYは環境変数を使って渡します。 datadogはカスタマイズ可能なサンプルファイルが/etc/dd-agent/conf.d大量に用意されています。 # ls /etc/dd-agent/conf.d
About これまでTerraformを使って環境構築することが多かったですが、最近YAMLサポートもされたAWS謹製のCloudFormationを使ってみます。Templateの書き方とかではなく、CloudFormationの概要を自分なりにまとめたものです。 CloudFormationとは 長いのでcfnと略すらしいです。 AWSリソースのサービスを設定ファイルを元に自動化できるサービスです。 CloudFormationの概念 大きく2つのポイントがあります。 テンプレート スタックの設計図。どんなリソースを立てるのかなどを記述していきます。Terraformでいうところのtfファイルっぽいですね。 スタック テンプレートからプロビジョニングされるリソースの集合 スタック単位でリソースの管理が可能。スタック破棄を実行すると、スタックにひもづくリソースを破棄することが可能 使用す
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つ用
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
About Mackerel Meetup #9 Tokyoにブログ枠で参加したので書きます! 会場 めっちゃシャレオツでした! 有名アーティストのサインとか飾ってあった!(写真NGだったので心に留めておきます😇) 地の文は走り書きなので一部間違っていたりわかりにくい部分があります。気になる部分はスライド(公開されれば)もしくは今後のアナウンスをご確認下さい。 The 2017 Mackerel Product Roadmap. 株式会社はてな Mackerel プロデューサー 杉山広通(id:sugiyama88) 会場がめっちゃシャレオツ agentインストール型のSaaSサービス ユーザは管理画面ベースで設定することができて便利 mackerelってスマホでも見れるらしい(知らなかった ワンライナーでインストールできてめっちゃ便利(最近かな “最小のルールが最高の利便性を"目指して
About Cloud環境での構成パターンをもっと勉強しようと、以前より目を付けていたCloud Design Patternを読みました。 Cloud Design Patternとは AWS-CloudDesignPattern AWSクラウドデザインパターン (AWS Cloud Design Pattern, 略してCDPと呼ぶ)とは、AWSクラウドを使ったシステムアーキテクチャ設計を行う際に発生する、典型的な問題とそれに対する解決策・設計方法を、分かりやすく分類して、ノウハウとして利用できるように整理したものである。 ということで先人たちの知見の塊です。 読んでみての感想 今まで使ったことのないパターンやオプションなどもあって勉強になりました!あとは自分がいいなと思っていたパターンがBootstrapという名前が付いていたり、今運用しているサービスの構成をもっとこうしたらいいかも
About 2016年も終わりなので、振り返りを実施します(๑•̀ㅂ•́)و✧ 新年に立てた目標の達成度合い cross-black777.hatenablog.com 決意と目標という2軸で設定していました。前者は自分がどうありたいか、で後者は実際にどんなことをしたいかを意識して書きました。前者については概ね達成できたかなと思います。今年は特にプライベートの充実なり、人間関係の構築なりをそれなりにやってきたので、以前より人見知りが減った気がします! 目標を改めて振り返るとこんな感じです。 社外の勉強会で1度発表する 自分でサービスを運用する ブログで100ブクマオーバーを達成する TOEICの予想問題で800点以上達成する 本を24冊読む 体重を63kgにする 結論から言うとすべて達成できませんでしたorz 目標を忘れないように定期的にリマインドしていたのですが、性格上他のことにはまって
この記事は 転職(その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年たったらまた書こうかな。あとで振り返るた
この記事は feedforce Advent Calendar 2016の5日目です。前日は人事のなべはるさんの記事でした。技術をすごい活用されててすごいですねー! www.adventar.org 今年は技術縛り要素があまりないので、普段書かないマネジメント話をしてみます! 背景 今年の9月くらいから開発リーダーに任命され(その前は前任のリーダーが抜けたあと全員がリーダーみたいな仕組みだった)、やっていった中でいろいろ課題を感じていました。 自分は細かいことが気になるたちなので、その方向性本当に正しいの?この開発プロセスはこのままでいいの?などなどどんどん気になるポイントが頭によぎってました。それを自分で決めて・実行して・振り返るってスタンスでやっていったわけですが、どんどん範囲が広がりすぎて死にそうになってきました。もっとメンバーにも求めたい気持ちも正直ありました。が、暗黙の期待ってい
About Amazon Certificate ManagerでSSL証明書が取得できるので、Terraformと組み合わせてみます。 About 環境 ACMとは ACMで証明書を取得する TerraformでELBに証明書を設定する 注意 まとめ 参考 環境 Terraform v0.7.10 ACMとは Amazon Certificate Managerの略で証明書の管理、デプロイなどができるサービスです。証明書自体も無料で、AWS上のリソースで使いまわせるので非常に便利な仕組みです。 AWS Certificate Manager(簡単に SSL/TLS 証明書を作成、管理、配置) | AWS ACMで証明書を取得する ACMの画面操作は簡単です。 ここでドメイン名を入力します。ワイルドカード証明書の取得も可能です。 この画面でConfirm and requestをクリックす
お題「エンジニア立ち居振舞い」 流行に乗りたかったんです...!情報の扱いについて。 大学時代に日本史学をやっていて、よく教授に一次史料を確認しなさいと言われました。ソフトウェアエンジニアになっても同じことを言われます。 いくつかのパターンを見ていきます! ドンピシャの記事を探す よくやりがちなのは何かわからないことがあったとき、ググってヒットした記事を見て満足するケース。これはわかった気になってるけど見になってないので、応用が効かないしそもそも間違っていることがあるのでいまいちです。とくにIT系の技術はアウトプットが盛んなので、これで済むケースも多いですが、いざgoogle先生が解決できない問題に出くわすと非常に脆い状態になります。 ググっていくつかの記事を比較する 次に複数の記事を見るケース。これは良し悪しだと思っていて、時間がないケースとかなら仕方ないかもしれない。ただ、それでもその
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 今更感ありますが、いろいろな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配下に作成していきます
About Re:dashインスタンスを使ってログデータを確認できるようにしましたが、普通に運用しているだけではつまらなかったのでいろいろ仕込んでみました。細かいことはいいから全体の構成だけ知りたいという方は構成図をご覧下さい。 About 話さないこと lambdaを使って定時内だけ閲覧できるようにする Route53のfailoverを使って定時後にはSorryページを表示させる Web hosting機能を有効にする cloudwatchを設定する Route53上でHealth checkを定義する Route53にfailoverの設定をする サーバ起動時に自動でIPアドレスを書き換える https対応のためS3の前段にCloudfrontを導入する 最終的な全体の構成図 まとめ 参考 話さないこと Re:dashの使い方 Re:dashでどういうデータを表示させているか(勉強中
About 現在所属している会社ではQiita:Team を使っていて、業務の終わりに日々日報を書いています。その日何やったかが振り返れて便利だと思っていましたが、ふと「べつに業務外でも書いていいんじゃね?」ということに気付いたので取り組み始めた話です。 About 動機 利用ツール やり方 やってみて 動機 これまで日々やりたいことはTrelloやwunderlistに入れてGTD的な取り組みをしてましたが、新しい技術課題があるとそっちにばかり注力してしまって根本的なスキルアップをする時間が足りていませんでした。転職1年目は新しいことばかりだったので、それでもよかったのですがある程度慣れてきて新しいことをやらなくてもなんとかなる状況になってきていて、追い込まれている感が最近なかったです。また、GTDではタスクの棚卸しを毎週やるものですが、どうしても週の終わりの振り返りをサボってしまって今
About 私が担当しているインフラ環境で先日インスタンス障害がありましたが、pull型デプロイにしていたからか自動でインスタンスが復旧できたので嬉しさのあまり記事にしてみます。 About 技術スタック AutoScalingにした際のゴールデンイメージ問題 pull型デプロイについて インスタンス起動の流れ この前起きた障害時の流れ この構成のデメリット まとめ 参考 技術スタック consul + stretcher Autoscaling AutoScalingにした際のゴールデンイメージ問題 AutoScallingをさせるにはアプリが全部入りのAMIが必要です(AMIを起動させた時点でサービスインできる状態)。ただ、更新が多いアプリだと更新の度にAMIを作るの時間かかりますよね…。1日10回デプロイするなんてことになったら、CIでやるにしろそれなりの時間がかかるのでかなり面倒く
とりあえずやってみたのでどこかに残したいと思ったので、ブログに書いておきます。 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
世のインフラエンジニアの方々は、何らかの形で利用しているソフトウェアのセキュリティ情報を日々チェックしていると思います。しかし、利用するソフトウェアが増えてくると全部のチェックはなかなか難しいのではないでしょうか。 そんな中最近Amazon Inspectorがプレビューから一般利用開始となり、注目されている方もいると思います。そういったツールが様々出る中で、最近Vulsというものを知ったので試してみたいと思います。 Vulsとは Amazon Inspectorとの違い go-cve-dictionaryについて 実際に使ってみる 検証環境のバージョン Vuls server scan対象サーバ 事前準備 slack通知を試す TUI(Terminal-Based User Interface)を試す OSパッケージ以外もチェックする まとめ Vulsとは github.com scan
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
皆様snmpgetしてますか? ということで最近SNMPを実際に触ることがあって全くわからなかったのでまとめました。聞いたことはあったんですよ… SNMPとは Simple Network Management Protocolの略。よくネットワーク機器などの監視で使われまる。SNMPに対応している機器ではMIBというデータ・モデルを持っていて、取得側でそのMIBを指定して機器の情報を取得する仕組みです。 ユースケース サーバの監視に使ったり ルータの監視に使ったり ネットワーク機器の監視に利用するイメージです! SNMPを構成する要素 バージョン SNMPには現在主に3つのバージョンがあるとのこと。v1/v2c/v3の3つがあり、セキュリティ周りだとかSNMPトラップ周りでできることが違うようです。詳しくはこちら [SNMPによるネットワークモニタリング「第2版」:第3回 SNMPによる
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
About 最近Consulを使い始めたので、基本的な所をまとめてみます。 Consulとは 読み方は”コンスル”が正しいらしいです。でも”コンサル”って呼んでます← 公式HPを見ると、 Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. トノコト 簡単に言うと、クラスタを組んでいろいろいい感じにできるツールという所でしょうか。 Consulでできること(一部) クラスタを組んでいるサーバ内で同じ情報を参照することができる(内部DNSやKey/Valueストアとして) ヘルスチェックに失敗したサーバを自動で切り離すことができる DBで言うところのMasterが死んだ時のfailover機能が実装されていて、細かい設定が要らない 各サーバ内でコマ
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を定期
次のページ
このページを最初にブックマークしてみませんか?
『tjinjin's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く