タグ

ブックマーク / dev.classmethod.jp (19)

  • Amazon LinuxへのsshをGoogle Authenticatorを用いて二段階認証にしてみた | DevelopersIO

    はじめに こんにちは植木和樹@上越妙高オフィスです。今日はAmazon Linuxへのsshログイン時におけるセキュリティ強化のお話です。 AWS運用チェックリストではOSにログインする際のユーザーは共有せず、個人ごとにOSアカウントを作成することが推奨されています。 これからAWSを始める人は一読すべき「AWS運用チェックリスト」を読んでみた | Developers.IO 個人ごとにOSアカウントを作成すれば、いつ誰がそのサーバーにログインしたのか分かるので不正な操作が行われた際のトレースに役立ちます。 しかし仮にパソコンが盗まれる等で秘密鍵が盗まれてしまった場合を想定し、さらにもう一段階、その人のみが持っているものを用いなければサーバーにログインできない仕掛けを作ってみます。これを2段階認証といいます。今回は 1.個人のssh鍵ファイル + 2.スマホに表示されるワンタイムパスワード

    Amazon LinuxへのsshをGoogle Authenticatorを用いて二段階認証にしてみた | DevelopersIO
    nkwhr
    nkwhr 2015/10/05
  • HashiCorpの新プロダクトNomadとOttoを触ってみた | DevelopersIO

    ども、大瀧です。 VagrantやTerraformで有名なHashiCorpのカンファレンスイベント、HashiConf 2015が今朝未明からポートランドで開催されています。そこでNomadとOttoという2つの新サービスが発表されました。両方とも発表直後に公開され、試せるようになっているのでサンプルを動かしてみた様子をレポートします。 Nomad by HashiCorp Otto by HashiCorp Nomad NomadはEasily deploy applications at any scaleというリード文からあるように、アプリケーションをデプロイするスケジューラです。あらかじめアプリケーションを実行するホストにエージェントをインストール、アプリケーションをジョブとして設定ファイル(*.nomad)に定義しておき、設定ファイルに従ってジョブを実行します。 デプロイツー

    HashiCorpの新プロダクトNomadとOttoを触ってみた | DevelopersIO
  • EC2を停止して開始した時はELBに再登録する | DevelopersIO

    こんにちは、虎塚です。 今日は、ELBに紐づけたEC2を停止・開始した時に、EC2をELBに再登録する必要があることについて書きます。 これはELBを使い始めるとすぐに遭遇する問題のため、お客様からのお問い合わせが多い話題です。今月(2014年9月)すでに2件の問い合わせがあったので、書いておくことにしました。 現象 ELBと紐づけたEC2が、ELBから正しく認識されていて、リクエストを分配できる状態の時、ELBのステータスは「In Service」となります。ELBにEC2を紐づけてすぐの状態だと「Out of Service」ですが、数分たつと「In Service」になりますね。 ところが、ELBと紐づけたEC2を停止して、一定時間後に開始した後、「Out of Service」のままになることがあります。 公式ドキュメントによる解説 公式ドキュメントでは、この件について次のように書

    EC2を停止して開始した時はELBに再登録する | DevelopersIO
    nkwhr
    nkwhr 2015/03/13
  • Treasure Dataの新データ転送ツールEmbulkを触ってみた #dtm_meetup | DevelopersIO

    ども、大瀧です。 日開催されたデータ転送ミドルウェア勉強会で、開発者の@frsyukiさんによって語られたEmbulkを早速触ってみました。 Embulkとは EmbulkはOSSのデータ転送ソフトウェアです。もう少し細かく分類するとBulk Loaderと呼ばれる、バッチ処理のためのデータ読み込み、変換処理を行う機能を持ちます。特徴は柔軟なプラグイン構造で、データを読み込むInputPlugin、データを出力するOutputPlugin、さらに読み込み処理自体もExecutorPluginと、機能のほとんどをプラグインとして後から追加、カスタマイズできるよう高度に抽象化されたアーキテクチャになっています。データのハンドリングもプラグインでの実装を想定しているようなので、ここまで来るとミドルウェアというより、データ転送のインターフェースを定義するフレームワークの実装、という方が近い感じか

    Treasure Dataの新データ転送ツールEmbulkを触ってみた #dtm_meetup | DevelopersIO
    nkwhr
    nkwhr 2015/01/28
  • 【Swift】iOS アプリ開発で使えるオススメのオープンソースライブラリまとめ

    Swift で使えるオープンソースライブラリ 2014年は新言語 Swift が登場し、iOS アプリ開発者にとってはかなり印象深い年になったのではないでしょうか。Swift の登場以後、さまざまな取り組みが iOS アプリ開発者の中で行われ、その結果の1つとしてオープンソースライブラリもかなり増えました。 Swift で一から書かれたものもあれば、既存のものを Swift でも使えるようにアップデートしてくれているものもあります。ある意味、混沌としている現状では「じゃあいまから Swift で iOS アプリ開発するときに何を使えば良いの!?」といったことになりかねません。ということで、現在までに公開されている Swift で使えるオープンソースライブラリを目的別にまとめてみました。 Swift アドベントカレンダーのために書いた記事なので、タイトルには「Swift 時代の」としています

    【Swift】iOS アプリ開発で使えるオススメのオープンソースライブラリまとめ
    nkwhr
    nkwhr 2014/12/16
  • [セッションレポート] Amazon RDS for Aurora: Re-imagine the Relational Database #reinvent | DevelopersIO

    日 re:InventのKeynoteで発表されたMySQL互換の新しいDBエンジン「Amazon Aurora」の紹介セッションに参加してきました。以下レポートです。 内容 導入 既存のRDBというのはモノリシックなデザインになっている。 SQL トランザクション キャッシュ ロギング この構成が1970年代から続いているが、クラウド時代の今、コスト、柔軟性、可用性の意味でデータベースを「re-imagine」して「re-invent」しよう、というところ。 エンタープライズクラスのデータベースの機能をオープンソースデータベースと同じ価格で、というのがAmazon Auroraのコンセプト。 Aurora マルチテナント ロギングとストレージ領域はSQL、トランザクション、キャッシュなどのノードからは分離された MySQL 5.6との完全な互換性。 1AZに2つのデータ領域がコピーされ

    [セッションレポート] Amazon RDS for Aurora: Re-imagine the Relational Database #reinvent | DevelopersIO
    nkwhr
    nkwhr 2014/11/13
    “各々のDBノードが共通のストレージを参照しているため、スレーブでの書き込み処理は発生しない。”
  • Docker 1.3の新機能を試してみる | DevelopersIO

    はじめに boot2docker + figで始めるDockerコンテナ・オーケストレーションで書いた通り、Docker 1.3がリリースされました。 DOCKER 1.3: SIGNED IMAGES, PROCESS INJECTION, SECURITY OPTIONS, MAC SHARED DIRECTORIES 今回はDocker 1.3の新機能を試してみたいと思います! やってみた docker exec 起動しているコンテナに対してプロセスを実行するdocker execコマンドが追加されました。例えば以下のようにコンテナを起動します。 $ docker run -d dockerfile/elasticsearch 7fa04e67eec8e44dd6f84f58eb74d7130dd5cdf3b13091f0369b2da2a30a78f9 docker psコマンドで

    Docker 1.3の新機能を試してみる | DevelopersIO
    nkwhr
    nkwhr 2014/10/24
  • mcrouterでElastiCache(memcached)を分散レプリケーションする | DevelopersIO

    はじめに 先日9月15日、Facebookが開発した「mcrouter」がバージョン1.0として公開されました。mcrouterはmemcachedプロトコルをルーティングするソフトウェアで、クライアントとmemcachedサーバの間に立ってクエリをルーティングする仕組みになっています。このmcrouterを使うことで分散キャッシュシステムが構築出来ることになります。Facebookでは実際にインフラで導入しているそうです。 ElastiCache(memcached)では、Auto Discoveryを使ってノードをクラスタリングすることは出来ますが、キャッシュデータのレプリケーションは出来ません。しかしこのmcrouterのReplicated poolsを使うことで、ノード間でキャッシュデータを同期させることが出来ます。 そこでmcrouterを使って、分散配置したElastiCac

    mcrouterでElastiCache(memcached)を分散レプリケーションする | DevelopersIO
  • はじめてのsystemdサービス管理ガイド | DevelopersIO

    はじめに MarketplaceでCentOS 7 AMIがリリースされましたね!(ex. Amazon EC2 CentOS 7 AMIファーストインプレッション) ということで、これはもう格的にsystemdを学ばないとあかん、という危機感に駆られた次第です。systemdは"system and service manager"なので、電源やロケールなどのシステム部分の管理も可能ですが、差し当たってEC2で使う上で最低限押さえとかなければいかないのはサービス管理になるでしょう。そこでsystemdを操作するためのコマンドであるsystemctlを使って、サービスを管理する方法についてまとめました。 systemdサービス管理 systemdでは、これまでサービス起動スクリプトで定義されていたものがUnitという形で定義されますので、サービスの管理=Unitの管理となります。 有効化

    はじめてのsystemdサービス管理ガイド | DevelopersIO
  • HashiCorpの新オーケストレーションツールTerraformを試してみた | DevelopersIO

    ども、大瀧です。 VagrantやPacker、Serfを開発するHashiCorpが手がける新オーケストレーションツール、Terraformが発表されました。zembutsuさんが神速で日語チュートリアル記事を既に公開しているので、terraformコマンドの使い方はそちらを参照ください。 Terraformとは Terraformは、あらかじめインフラ構成をテンプレートファイルに記述し、terraformコマンドでクラウド環境に適用・管理するツールです。一見するとAWS CloudFormationと非常に良く似た作りですが、以下の特徴があります。 複数のクラウドサービスに対応し、高レイヤーのアプリケーション構成に特化 現時点でTerraformが対応するサービス/プロダクトは以下です。 AWS CloudFlare Consul DigitalOcean DNSimple Hero

    HashiCorpの新オーケストレーションツールTerraformを試してみた | DevelopersIO
  • これからAWSを始める人は一読すべき「AWS運用チェックリスト」を読んでみた | DevelopersIO

    はじめに こんにちは植木和樹です。AWSでは各種ホワイトペーパーなどの資料を多数公開しています。 AWS アーキテクチャーセンター | アマゾン ウェブ サービス(AWS語) 今回は上記ページからダウンロードできる「AWS 運用チェックリスト(PDFファイル)」を読んでみました。運用チェックリストという名前ではありますが、AWSを利用する方は一度目を通しておくのをお勧めする内容でした。 チェックリストは大きく3つ「ベーシック」「エンタープライズ」「セキュリティ監査」に分かれています。このうちベーシックは15項目程とコンパクトにまとまっていて、簡易チェックリストとしてお手頃です。 残念ながらまだ日語訳がされていないようですので、今回ベーシック部分だけをザックリ読んで簡単なコメントを書いてみました。 ベーシック運用チェックリスト 原文は「我々は〜〜〜を設定しています(理解しています)」

    これからAWSを始める人は一読すべき「AWS運用チェックリスト」を読んでみた | DevelopersIO
    nkwhr
    nkwhr 2014/07/28
  • 新しいプログラミング言語 Swift | DevelopersIO

    Objective-Cに替わる新しいプログラミング言語Swiftの登場 WWDC2014で発表された新しいプログラミング言語Swiftでできることを紹介したいと思います。 今までとこれから Swift使うとこんなにコードが短くなるぜという例です。 今まで これから 確かにスマートですね。 言語ガイドをダウンロード iBookでガイドを読めますのでダウンロードしてみましょう。 変数の宣言 varは変数、letは定数 var myVar = 42 myVar = 50 let myConst = 42 コントロール if,switch,for-in,for,while,do-while let individualScores = [76, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score >

    新しいプログラミング言語 Swift | DevelopersIO
    nkwhr
    nkwhr 2014/06/03
  • Dockerコンテナ管理ツールGearDを試してみた | DevelopersIO

    ども、大瀧です。 Dockerコンテナをデプロイするツールが欲しいという理由でAWS OpsWorksとの組み合わせを以前のエントリーで紹介しましたが、今回は別のアプローチでデプロイを行うGearDを試してみました。 GearDとは GearDは、Red Hat社が開発するDockerコンテナを管理するCLIツール兼エージェントです。 最近、ITニュースサイトのPublickeyで紹介された、Project Atomicのコンポーネントの1つです。Project Atomic自体はRHELベースの軽量Linuxディストリビューション(Atomic Host)を前提とするものですが、GearDは独立した造りになっており、Fedora 20およびRHEL 7-Beta(EPEL経由なのでサポートなし)で動作します。 ブログ記事 : GearD: The Intersection of PaaS

    Dockerコンテナ管理ツールGearDを試してみた | DevelopersIO
  • [Ruby] Sinatra + PostgreSQL + Unicorn な Web サーバーを Heroku に構築する | DevelopersIO

    はじめに こんにちは。ひさびさにサーバーサイドの記事の投稿になります。何気なく Heroku で軽快な Web サーバーを構築してみたくなったので、そのメモを残してみたいと思います。 開発環境 Mac OS X 10.9 rbenv 0.4.0 Ruby 2.0.0p353 それでは、構築します 初期設定 # フォルダ作成&移動 mkdir sample-app && cd sample-app # Gitリポジトリにする git init # .gitignore の生成 gi ruby,rails # Gemfile の生成 bundle init .gitignore ファイルは gi コマンドは gitignore.io というサービスを使って生成してみました。 各種 Gem のインストール 次に Gemfile を編集します。 vim Gemfile Gemfile source

    [Ruby] Sinatra + PostgreSQL + Unicorn な Web サーバーを Heroku に構築する | DevelopersIO
  • GlusterFSで高可用性メールサーバを構築する | DevelopersIO

    はじめに AWSでメールシステムの高可用性確保を考えたとき、どのような構成を思い浮かべるでしょうか。私が脳内に思い浮かべたのはこのような構成です。 外部から内部へのメール配送は以下の流れになります。 Route 53にてMXレコードを2行(MailGateway1とMailGateway2)設定します。 MailGatewayからMailBoxへはPostfixのtransportとrecipient_bcc_mapsで冗長的に配送するよう設定します。 内部から外部へのメール配送は以下の流れになります。 ClientのメールクライアントソフトウェアでSMTPサーバとしてInternalELBを指定し、ELBがMailBox1とMailBox2に振り分けます。 MailBoxのpostfixではrelayhostに自AZのMailGateway、fallback_relayに別AZのMail

    GlusterFSで高可用性メールサーバを構築する | DevelopersIO
  • GitHub と homesick を使って複数 Mac 間で dotfiles を同期する | DevelopersIO

    複数 Mac 間で、.vimrc や .zshrc などの設定ファイル(dotfiles)の同期って面倒くさいですよね。 dotfiles の管理には、GitHub とシェルで管理したり、Dropbox を使ったりあるようですが、 最近 homesick という gem を教えてもらい、簡単に管理することができたので、私はコレを使っています。 用意するもの GitHub のアカウント Mac *1 homesick のインストール homesick は gem install で簡単にインストールできます。 $ gem install homesick rbenv を使ってる場合は、rehash しておきましょう。 $ rbenv rehash GitHub に dotfiles リポジトリを作成 GitHub にリポジトリを作成します。 先ずは、ローカルに dotfiles ディレクトリ

    GitHub と homesick を使って複数 Mac 間で dotfiles を同期する | DevelopersIO
  • 【AWS】Route53をgitで管理する「Roadworker」を早速試してみました | DevelopersIO

    はじめに こんにちは植木和樹です。8月23日にcloudpackさん主催のcloudpack night #7に参加してきました。夜8時すぎから始まった懇親会では、AWSを利用している各社の気合の入ったライトニングトークを聞くことができました。その中で「Roadworker」というツールをクックパッド株式会社の菅原さんが紹介されていました。 「cloudpack Night #7で発表しました / Roadworkerというツールを作りました」 このツールは一言でいうとRoute53(DNS)のレコードをChefやPuppetのようにコードで管理できる(もちろん冪等性も!)というものです。素晴らしいですね。動作デモの様子が上記ページにあるYoutubeの動画で紹介されていますが、とても簡単にDNSレコードをコードで管理できる様子がわかります。 それでは早速試してみましょう! 準備するもの

    【AWS】Route53をgitで管理する「Roadworker」を早速試してみました | DevelopersIO
  • 【AWS】JenkinsとserverspecでChefのテストを自動化する | DevelopersIO

    はじめに こんにちは植木和樹です。相変わらずCloudFormationとChefな毎日を送っています。そのおかげで、最近は実験用サーバを設定するときにも極力手作業はなくし、CloudFormationやChefを使って自動化・省力化する習慣がつきました。以前作ったCookbookを使用して、コマンド1つで新環境が構築されたときって気分いいですよね。 さてChefのCookbookが増えてきて徐々に再利用が進んではいるのですが、Cookbookを作成してから数週間もすると「当にこのクックブックはまだ動くのかな?」と不安になってきます。ここはやはり、Cookbookが正しく適用されることを継続して保証する仕組みがほしいところです。 日はChef Cookbookのテスト自動化の一例として、JenkinsからEC2を起動してからchef-soloを使ってCookbooksを適用し、その後s

  • 社内 GitHub を実用的に構築! Amazon VPC 環境に GitLab サーバを構築してみた | DevelopersIO

    社内 GitHub を実用的に構築! Amazon VPC 環境に GitLab サーバを構築してみた はじめに 先日 GitLabMac OS X にインストールするという記事を執筆しました。その用途はあくまで「個人で GitLab を使ってみよう!」というものでしが、やはり命はクラウド上に構築し、どこからでもアクセスできるようにすることだと思います。しかしながら実際の運用で大切になってくるのはセキュリティです。クラウド上に構築しつつ、ソースはしっかり守る。この点が特に必要ではないでしょうか。というわけで今回は Amazon VPC 上に GitLab サーバを構築してみたので、その手順をまとめておきたいと思います! このエントリの効能 このエントリを読んで、試すと、以下のような効能があります。多分。 AWS 上に社内で使える Git サーバーが構築できる Amazon VPC

    社内 GitHub を実用的に構築! Amazon VPC 環境に GitLab サーバを構築してみた | DevelopersIO
  • 1