タグ

2015年10月1日のブックマーク (29件)

  • EC2のuser-dataで起動時shell scriptを書く - Qiita

    EC2を立ち上げるのに設定を進めていくと、Configure Instance Detailsの下にAdvanced Detailsというところがあります。それを覗くとUser dataってのがあります。 これで、インスタンス作成時に実行してほしいシェルスクリプトとかcloud-initとかかけるんです。sshログインしなくてもchef-soloとか実行できちゃうんですねえ。 しかし、User dataってインスタンス作成時にしか動いてくれないんです。 つまりrestartでは実行されない。 わたしはrestartでchefを実行したかったのでしばし悩みました。 (ベストプラクティスかは分かりませんが、インスタンス立ち上げ直すよりお金かからないので) そこで、思いついたのがこんなん。 #!/bin/bash # インスタンス作成時のみ実行するもの yum install git yum i

    EC2のuser-dataで起動時shell scriptを書く - Qiita
  • Packerを使ってAMIを使ってみる - Qiita

    Packerを一度も触ったことがなかったので触ってみたメモ。 シェルスクリプトのプロビジョニングでnginxがインストールされたAMIを作成。 参考 Packer PackerでAmazon LinuxのAMI(Amazon Machine Image)を作成する 環境 MacOSX 10.10.5(Yosemite) Packer 0.8.6 インストール # バイナリをダウンロード $wget https://dl.bintray.com/mitchellh/packer/packer_0.8.6_darwin_amd64.zip # ~/packerに配置 $mkdir ~/packer $mv packer_0.8.6_darwin_amd64.zip ~/packer $cd ~/packer $unzip packer_0.8.6_darwin_amd64.zip $rm pa

    Packerを使ってAMIを使ってみる - Qiita
  • AWS CLIを使用してEC2のバックアップを定期的に取得する - yustam.jp

    AWS CLIとjqを使用した実装です。 設定した世代数分保持して古いバックアップから消していきます。 設定値 説明 MAX_IMAGE_NUM バックアップのイメージを保持する世代数 INSTANCE_ID バックアップを取得する対象のEC2インスタンスID AMI_NAME 取得するAMIの名前。実行毎に重複しないようにする DESCRIPTION バックアップの種類を識別するために使用します cronやJenkinsのジョブに設定して定期的に実行します。 再起動を許容する場合は--no-rebootオプションを外します。 EBS付きのインスタンスは追加のオプションが必要なので注意。 #!/bin/sh MAX_IMAGE_NUM=2 REGION=ap-northeast-1 INSTANCE_ID=i-00000000 AMI_NAME=ec2-backup-$(date +%m%

    AWS CLIを使用してEC2のバックアップを定期的に取得する - yustam.jp
  • Packer + Jenkins(on EC2)で自動AMI作成 - yustam.jp

    Packerを使用してAMIの作成を自動化が出来たのでJenkinsでCIしてみようと思います。 Packerの使い方やJenkinsの使い方は割愛して簡単にポイントのみまとめます。 Jenkinsの設定 Gitリポジトリを指定 こちらのようなリポジトリを作成します。 template.jsonがPackerのテンプレートファイルです。 ジョブの設定 シェルの実行で以下のようにシェルを設定します。 packerをインストールしてしまえば毎回ダウンロードする必要はありません。 mkdir packer cd packer wget -o - https://dl.bintray.com/mitchellh/packer/packer_0.8.0_linux_amd64.zip unzip packer_0.8.0_linux_amd64.zip cd ../ ./packer/packer

    Packer + Jenkins(on EC2)で自動AMI作成 - yustam.jp
  • CloudFrontでベーシック認証 | TF Lab - クラウド開発記録 -

    CloudFrontを使うとBasic認証が使えない? と思いきや、じつは使う事ができます。 やり方は簡単で、CloudFrontの 「CloudFront Distributions」から項目を選択し、 「Behaiviors」タブの中からさらに項目を選択、 Behaiviors編集画面から、「Forward Headers」を「Whitelist」に変更します。 すると、以下の項目が表示されるので、 「Authorization」を右の枠に移動させます。 設定は、これだけです。 これで、CloudFront越しでもベーシック認証が使用できます。 後は新しいコンテンツが、エッジロケーションへ反映されるのを待つだけ・・・ または、「Distributions」画面で、「Disable」→「Enable」を行い、強引に即時反映させます。 ベーシック認証には、「.htaccess」「.htpa

    CloudFrontでベーシック認証 | TF Lab - クラウド開発記録 -
  • AWS セキュリティグループのオレオレ設定ポリシー - Qiita

    セキュリティグループは、1 つ以上のインスタンスのトラフィックを制御する仮想ファイアウォールとして機能します。インスタンスを起動するときに、1 つ以上のセキュリティグループとインスタンスを関連付けます。各セキュリティグループに対してルールを追加し、関連付けられたインスタンスに対するトラフィックを許可します。セキュリティグループルールはいつでも変更できます。新しいルールは、セキュリティグループに関連付けられているインスタンスすべてに自動的に適用されます。インスタンスに到達できるトラフィックを許可するかどうかの判断では、インスタンスに関連付けられているすべてのセキュリティグループのすべてのルールが評価されます。 by AWS 要するにファイアウォール。 あるある事例 同じ様なポリシーが乱立 AWS担当者が一人の場合にはあまり起こらないが、複数人で設定を行うと同じ様な設定が複数個作られる。特にた

    AWS セキュリティグループのオレオレ設定ポリシー - Qiita
  • 野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30

    Kawasaki.rb #28 (2015/9/30)発表資料. Pythonを用いた野球プログラミングについてRead less

    野球Hack!~Pythonを用いたデータ分析と可視化 #kwskrb #28 2015/9/30
  • ChatOps + NightmareでメトリクスグラフとBIレポートをSlackに投げるようにした - Glide Note

    Nightmare TL;DR Slack + Hubot + Nightmare + CircleCI を利用してSlackにNewRelicのメトリクスグラフやBIレポートを投げるようにした Slackなどチャットツールとのintegrationが無いツールでもグラフを投稿出来るようにした 会社のKPIやサービスの状態をSlack上からhubotを利用して誰でも簡単に確認が出来るようになった 仕組み Slack上でHubotを呼び出す(hubot-cronで自動で稼働する) HubotがCircleCIAPIを叩いて、rebuid CircleCI上でNightmareを利用し、NewRelicやBIツールのスクリーンショットを取得し、s3にアップロード SlackのIncoming webhooksを利用してグラフを投稿する NewRelicにログインしてスクリーンショットを取るス

  • Rails で動的にテーブルを作成して、大きな CSV のデータをインポートする方法 | feedforce Engineers' blog

    こんにちは!SQL 大好き kano-e です。 「データ更新のたびに新規にテーブルを作って、そこにデータを投入したい」とか。 「お客様を DB に登録したら、合わせてそのお客様専用のテーブルを作っておきたい」とか。 「とにかくこの CSV の内容を DB に投入したい、10万件」とか。 こんな状況、意外と遭遇していませんか? この記事では、そんな時に多分役立つ「Rails で動的にテーブルを作成して、大きな CSV のデータを PostgreSQL にインポートする方法」について、思いつくままにまとめてみました。 合わせて読みたい「動的に作成したテーブルを db/schema.rb に含めない方法」のおまけ付きです。 はじめに この記事では、以下の内容についてまとめています。 Rails で動的にテーブルを CREATE/DROP する テーブルに対応するモデルを用意せずに SQL を組

    Rails で動的にテーブルを作成して、大きな CSV のデータをインポートする方法 | feedforce Engineers' blog
  • Linux ワークステーションのためのセキュリティチェックリスト | POSTD

    対象読者 これは、プロジェクトITインフラへのアクセスや管理でLinux ワークステーションを使用しているシステム管理者向けの資料です。 システム管理者が遠隔から管理をしている場合は、ワークステーションが主要なセキュリティ条件を満たしていることを確認することで、ITインフラ全体へのサイバー攻撃の進入経路となることを防ぐことができます。その際、ここに書いたガイドラインを参考にしてください。 システム管理者が遠く離れた場所にいない場合でも、携帯可能なノートパソコンを使用している可能性や緊急対応用に自宅から会社のネットワークにアクセスできるよう設定している可能性があります。いずれの場合でも、環境に合ったガイドラインの適用をお勧めします。 制約事項 これは、「ワークステーションの強化」を徹底した資料とは言えません。しかし、これが明白なセキュリティ上のエラーを起こすのを回避できる基的ガイドとなれ

    Linux ワークステーションのためのセキュリティチェックリスト | POSTD
  • HashiConf 2015 参加してきました&KeyNoteまとめ | Pocketstudio.jp log3

    オレゴン州ポートランドで HashiConf 2015 という、HashiCorp 社主催のカンファレンスが9月28日、29日の2日間にわたって開催されました。参加者は総勢300人。北米からだけでなく、知りうる限り、オランダ、ドイツ、オーストラリアや、インド、もちろん日からも含めて、多くの国からの参加者が集まりました。 この記事は、1日目(現地時間9月28日・月曜日)と2日目それぞれ冒頭の「Opening Keynote」について、ざっくりと日語で整理したものです。一応、私も現地で参加させていただくことができましたので、内容を共有させていただきます。 最後におまけとして、ポートランド情報と ESTA 再入国時の手続きが楽な件について。 ■ KeyNote 1日目まとめ HashiCorp の概要 Vagrant のプロジェクトをスタートしてから、Packer、Serf、Consul等々

    HashiConf 2015 参加してきました&KeyNoteまとめ | Pocketstudio.jp log3
  • HashiConf 2015に参加してきました - tkak's tech blog

    9月28, 29にポートランドで開催されたHashiConf 2015に参加してきたのでレポートします。 セッションを聞いて カンファレンス全体を通して、一日目のMitchell Hashimoto氏のKeynoteがやはり一番エキサイティングでした。事前に新しいプロダクトがリリースされる噂はあったんですけど、まさか二つ発表されるとは…。しかも、発表の流れがめちゃくちゃ良くて、みんなワクワクしながら新プロダクトのリリースを待ってたところにNomadが出てきて、おー、ってなったところに、さらにその後『One more thing』でOttoが発表されて、会場はだいぶ盛り上がってました。え、それどこの、スティーブジョブズですか?ってなってました。カリスマ性半端なかった。 個人的に新プロダクトの中でもOttoはとても興味深くて、開発者と運用者の間の責任領域をうまく抽象化し、開発、インフラの構築、

    HashiConf 2015に参加してきました - tkak's tech blog
  • Itamae、Auto Scaling、CodeDeployを用いてdeployフローを刷新した話。そして板前をprovisioningした話。 - SmartNews Engineering Blog

    その上で、新しく作り上げた deploy フローについて、雑な絵になりますが概略図を以下に示します。 主要な登場人物は Itamae Auto Scaling CodeDeploy GitHub / Circle CI となります。それぞれ追って説明をしていきます。 https://github.com/itamae-kitchen/itamae Itamae は @ryot_a_rai さんが作られた LightWeight な Chef like な OSS です。Chef で実現できた事のうち、 recipes の部分のみを切り出したようなシンプルなツールになっています。 (こちらの発表資料より引用) 弊社内で蓄積された Chef 関連のリソースを再利用・再整理するために粒度がちょうど良かったこともあり、Itamae を用いて provisioning の定義を書き直すことにしました

    Itamae、Auto Scaling、CodeDeployを用いてdeployフローを刷新した話。そして板前をprovisioningした話。 - SmartNews Engineering Blog
  • RDSでのDBアクセスログの管理方法 | DevelopersIO

    こんにちは、虎塚です。 AWS APIの操作ログはCloudTrailでまるっと保存できるようになった今日この頃ですが、オンプレミス時代から変わらないDBのアクセスログをRDSではどのように扱っているでしょうか? 今回は、RDSでのアクセスログ取得方法や確認方法をご紹介します。 RDSのログ取得設定の方法 RDSのログ関連の設定は、パラメータグループで定義します。 パラメータグループを指定せずにRDSのインスタンスを作成した場合、DBエンジンやバージョンの種別に応じたデフォルトパラメータグループが自動的に割り当てられます。しかし、値を変更するには、自分で作成したパラメータグループを使用する必要があります。 パラメータグループの作成方法は、次のドキュメントを参照してください。 参考: DB パラメータグループを使用する - Amazon Relational Database Service

    RDSでのDBアクセスログの管理方法 | DevelopersIO
  • Babelで始める!モダンJavaScript開発

    Babelは最低限の機能をIE8以降で、フル機能をIE10以降でサポートします。 (実際にはIE9以降から使用することを推奨します) 当初Babelは6to5と呼ばれていましたが、ECMAScript7の仕様なども取り込むようになったため、バージョンを想定しないBabelという名前に変更されました。 Babelの特徴 Babelと同じように「トランスパイルすることでJavaScriptのコードを出力する」ツールにはTypeScriptやCoffeeScriptなどがあります。 それらと比較するとBabelは「ECMAScript標準仕様をベースにしている(*)」という特徴があります。 (*) 実際にはJSXもサポートしているため、必ずしもECMAScript標準仕様のみをサポートしているわけではありません。 このため、「いずれ標準実装される仕様を先取りできる」、「Babel自体が廃れても同

    Babelで始める!モダンJavaScript開発
  • GitHub : ノマドなエンジニア達とRubyをスケールさせる | Yakst

    GitHub技術ディレクターが語る、GitHubのインフラの特徴と、社員の6割がリモート勤務という社風、Hubotを使った協力的かつ新しい働き方。 Sam Lambertは、2013年にGitHubの最初のデータベース管理者として入社し、現在はGitHub技術ディレクターを務めています。このインタビューで彼は、今や1000万以上のユーザと2500万以上のプロジェクトを誇るサービスが、比較的シンプルな技術的スタックの上でどのようにスケールし続けてきたのかを考察しています。また、自作のパワフルなチャットボットであるHubotを使ってコラボレーションしつつ、従業員の約6割がリモートで働いているという、GitHubの大規模なオフィスレスな仕事環境についても触れています。 SCALE: 私としては、GitHubテクノロジーのユーザーというよりは主にテクノロジーの提供者であると思っていますが、そ

    GitHub : ノマドなエンジニア達とRubyをスケールさせる | Yakst
  • Kafka Consumer for Fluentd - Qiita

    treasure-data/kafka-fluentd-consumer Kafkaからデータを取り出してFluentdに転送するJava実装のKafka Consumerを書きました.基的なことはREADMEに書いてるんですが,一応日語でも書いておきます. 背景 1トピック1パーティションであれば,すでに公開されているfluent-plugin-kafkaが使えます.ですが,複数トピックだったりをConsumer Groupを使って処理しようとすると,現状fluent-plugin-kafkaが依存しているPoseidonに機能がたりないという問題があります(output側は問題ありません). 海外だとデータ量が多い会社も多く,それに伴いKafkaを使っている会社が少しずつ増えてます.その影響もあり,FluentdとKafkaを連携させたいという要望がちょくちょく出てきたので,Jav

    Kafka Consumer for Fluentd - Qiita
  • https://remotestance.com/blog/2612/

    https://remotestance.com/blog/2612/
  • Vagrantのネットワーク周りのあれこれ - FLINTERS Engineer's Blog

    はじめまして、新卒エンジニアの大久保です。 セプテーニ・オリジナルに配属されて技術研修や課題も一段落しようやく会社の業務にも慣れてきたといった感じです。 今回、プロジェクト番環境と同じ開発環境をチームで共有するために Vagrant を使ったのですが、 ネットワーク周りが曖昧だったので勉強も兼ねて記事でまとめたいと思います。 はじめに記事は以下の環境で動作確認を行っております。 Virtual Box : 4.3.12 Vagrant : 1.6.2 Vagrantのネットワークについて Vagrantのネットワークはシンプルに作られています。 物理的なネットワークを想像していただければわかるように、実際のネットワークはスイッチングハブやルータなどネットワークを構成するさまざまな機器を意識しなければいけません。 仮に仮想マシンでもそれらのネットワーク構成を意識しなければならないとし

  • Vagrantでknife-zeroを使うためのベストプラクティス | 割り箸ポテチ

    Vagrantでknife-zeroを試そうとして挫折する人が多いらしいので、自分の考えるベストプラクティスを書いてみます。 追記:記事の一部を更新しました。詳細は末尾の更新履歴でご確認ください。 以下、Vagrantを開発環境で利用することを想定しています。 下記のドキュメントを参考にしました。 Knife-ZeroとVagrant(単品VM) - Qiita TL;DRプライベートネットワークモードで立ち上げた2つのVMに、knife-zeroでレシピを適用する具体的な手順を説明します。 基方針は下記の通り。 コマンドラインでのパラメータを極力減らす。 IPアドレスの記述は.envrcに集約して、その他の設定ファイルやコマンドラインでは環境変数を使う。 適切に設定ファイルを書けば、下記のような一連のコマンドでレシピの適用まで実行することができます。 % cd knife_zero_e

  • Ottoに既存のVagrantfileを食わせて仮想マシンを起動した - Qiita

    はじめに 2015-09-28に発表されたHashicorpの新プロダクトであるOttoはVagrantの後継となることを予定されたものである。 そこで現時点でVagrantの代わりになるかを、既存のVagrantfileをわせることで確認してみた。 先に結論を書くと、今のところはVagrantのラッパーになっているだけで、このような用途ではVagrantの代わりに使う意味は特にないだろう。 Ottoの簡単な説明をしながら試していく OttoはVagrantの後継として作られたものだが、Vagrantで行う開発環境の構築だけでなく番環境の構築からデプロイまで一貫して行うことまでを目的としている。 そのため、現時点ではOttoはVagrant, Packer, Terraformのラッパーとなって動作する。将来的には少なくともVagrantは取り込まれることになるのだろう。 この記事では

    Ottoに既存のVagrantfileを食わせて仮想マシンを起動した - Qiita
  • Scalaを学ぶためのScala本の読み進め方 - A Memorandum

    内容が古くなったのでこちら blog1.mammb.com に新しく出たを追加して更新します。。 昔は家のHPにあるPDFぐらいしか情報源がありませんでしたが、ここ最近で邦書も整ってきたので、読み進め方について考えてみました。 個人的なお勧め順で紹介。 必須のコップScala スケーラブルプログラミング」 言語の作者である Martin Odersky 氏が著者の1人ということもあり、言語についての説明の詳細さ という点では、ここで紹介する書籍中で群を抜いています。邦訳も非常に読みやすくまとめられており、Scalaでプログラミングを行うなら必須です。一番良く参照するですね。 ただ、Scala が初めてという場合は、ページ数が 600 ページで内容も盛りだくさんなので、中盤ぐらいから消化不良を起こすかもしれません。Java の経験が豊富で、関数型言語の知識がありパターンマッチやコン

    Scalaを学ぶためのScala本の読み進め方 - A Memorandum
  • Scala implicit修飾子 まとめ - Qiita

    Scalaには他の言語ではなかなか見かけない,謎の修飾子「implicit」が存在します。 僕もScala始めたばかりの時には,意味がわからず困惑しました。ぐぐっても個々の使い方は載っていても,まとまって解説しているところはあまりなく・・・。 そこで,多少なりScalaをかじった僕がまとめておこうと思います。 Scalaレベルはポケモンでいうと,まだ20〜30Lvくらいなので,ご了承ください。 1. implicitの概要 implicitとは「暗黙的な」という意味です。逆の意味をもつ単語はexplicit。 C#を使っている人は,これらの言葉を聞いたことはあるでしょう。 (しかし,ScalaのそれとC#のそれでは,全く意味は異なりますが・・・。) implicitには様々な使い方があります。その中で全てに共通するのは,「暗黙的に何かをしてくれる」という点です。 これだけ聞くと,「それって

    Scala implicit修飾子 まとめ - Qiita
  • slick-doc-ja 3.0 — Combined Pages

    slick-doc-ja 3.0 Slick 3.0 documentationの日語訳です。 編集先: GitHub - krrrr38/slick-doc-ja 連絡先: @krrrr38 他のバージョンのドキュメント Slick 1.0 翻訳 Slick 2.0 翻訳 Slick 3.0 翻訳 API Documentation (scaladoc) Slick Core (slick) TestKit (slick-testkit) Code Generator (slick-codegen) Direct Embedding (slick-direct) (Deprecated) Slick Extensions (slick-extensions) Slick 3.0.0 documentation - 01 Introduction Permalink to Introdu

  • https://github.com/yuroyoro/scala-hackathon/blob/master/doc/source/basic/function.rst

    https://github.com/yuroyoro/scala-hackathon/blob/master/doc/source/basic/function.rst
  • https://github.com/hatena/Hatena-Intern-Exercise2015/tree/master/scala

    https://github.com/hatena/Hatena-Intern-Exercise2015/tree/master/scala
  • KamonとDatadogを使ってAkka actorのパフォーマンスを可視化する | Scala Tech Blog

    こんにちは、CA ProFit-X の塚です。 先日ご紹介いたしました、同チームの松村の記事はいかがでしたでしょうか。 Akka Cluster Shardingで即時集計系をつくる 上記の記事では応答時間など特定の値を収集するためにKamonというJVMのモニタリングを行うライブラリを用いています。(KamonはAkka actorをモニタリングすることもできます。)また、その収集した値を保存し可視化するために、モニタリングサービスであるDatadogというクラウドサービスを用いています。 この記事では主にKamonとDatadogをメインに、私たちCA ProFit-Xが行っているモニタリングの方法についてご紹介して行きます。 Datadogとは Datadogとはクラウドのモニタリングサービスです。詳しくは以下のリンクをご覧ください。無料で簡単に利用できますので、試してみると良いか

    KamonとDatadogを使ってAkka actorのパフォーマンスを可視化する | Scala Tech Blog
  • 【Scala】foldLeftとfoldRightのしくみ | DevelopersIO

    利用方法はとても簡単で、カリー化された第一引数にアキュームレータの初期値を渡し、第二引数に関数を渡します。 List(1, 2, 3, 4).foldLeft(0) { (acc, x) => acc + x } // -> 10 "abcd".foldRight(Nil : List[Int]) { (x, acc) => x :: acc } // -> List(97, 98, 99, 100) コレクションAPIに定義されているほとんどのメソッドは、 foldLeft か foldRight を用いて実装することができます。上記の foldLeft のコード例などは、 sum (総和) 関数そのものですね。 さて、それぞれの特徴を比較すると真っ先に目につくのが、foldLeft はスタックセーフな高階関数で、foldRight はそうではない、という点だと思います。それじゃあ、 f

    【Scala】foldLeftとfoldRightのしくみ | DevelopersIO
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ