タグ

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

  • Akka と Amazon ECS で構築するワーカー基盤:1万件のメッセージを処理させてみた | DevelopersIO

    この記事は Scala Advent Calendar 2016 - Qiita19日目の記事です。私は普段、クラスメソッド株式会社でサーバーサイドエンジニアとして働いています。業務のかたわら、「ScalaAWSを使ってなにができるか」ということを主なテーマにブログを執筆しています:和田祐介 | Developers.IO 今回は、AkkaとAmazon ECSを触ってみたいと思い、実際にワーカーを構築して処理させてみましたので記録を残します。 なにがしたいか ScalaおよびJavaの並列分散処理フレームワークである Akka におけるアプリ実行環境として、Amazon ECSが選択できることを示します。また、ECSのTask数(コンテナ数)によって処理性能がどう変わるか、ひとつの例を出します。どちらも、単純に使ってみたかったというのが動機です。ただ、Akkaは分散環境で動作することを

    Akka と Amazon ECS で構築するワーカー基盤:1万件のメッセージを処理させてみた | DevelopersIO
    kma83
    kma83 2017/02/21
  • AWSで構築した環境にありがちなシェルスクリプトたち まとめ | DevelopersIO

    AWSでサーバを運用する際にはEC2からAWS CLIを使って他のAWSのサービスと連携したりすることがあると思いますが、AWS環境ならではのシェルスクリプトを集めてみました。AWS CLIのバージョンは1.7.13、Pythonのバージョンは2.6.9を使っています。私はAmazon Linuxで動作を確認しています。 目次 準備する AWS CLIのインストール AWS CLIのアップデート aws configureでセットアップする IAM roles for EC2 instancesに関して 監視系 CloudWatchでカスタムメトリクスを設定する ZabbixからCloudWatchの値を取得する プロセス監視する バックアップ系 AMIとEBSのバックアップを作成する RDSのスナップショットを作成する S3のフォルダを削除する 便利スクリプト系 Route53の自動登録

    AWSで構築した環境にありがちなシェルスクリプトたち まとめ | DevelopersIO
    kma83
    kma83 2017/02/21
  • 今から始めるServerless Frameworkで簡単Lambda開発環境の構築 | DevelopersIO

    こんにちは、臼田です。 皆さん、AWS Lambdaは使っていますか? ちょっとしたスクリプトの実行から、様々なピタゴラ装置までこなせるLambdaはいいですよね。 でも、Lambdaのスクリプトを作成するときのデバッグや、外部プラグイン等も含めてパッケージングしてアップロードするなどのデプロイはちょっと面倒ですよね。 でも、Serverless Frameworkを使えば、ローカル環境でのデバッグも出来ますし、デプロイもあっという間です。 今回は、今からでも始められる、Serverless Frameworkを利用したLambdaの開発環境構築についてまとめました。 はじめに Serverless Frameworkをインストールする前に、以下の環境を準備してください。 node.js (npm) v4以上 awsアカウント awscli node.jsについては、nodebrew等で準

    今から始めるServerless Frameworkで簡単Lambda開発環境の構築 | DevelopersIO
    kma83
    kma83 2017/02/19
  • AWS re:Invent2016【保存版】全セッションを網羅!非公式まとめ #reinvent | DevelopersIO

    AWS re:Invent 2016に、参加できなかった方向けに393のBreakout Sessionsをまとめてみました。セッションごとの公式Webページ、スライド、動画を1ページにまとめています。量が多いので、ページ内検索などでキーワード検索をかけていただくのがオススメです。SlideShare / YouTube とも徐々に公開されているので、順次追加していきます! 公式Webページ(英語) AWS re:Invent 2016 公式現地レポート(日語) 基調講演 キーノート一日目 (リアルタイムレポート) AWS re:Invent 2016 Keynote 1 #reinvent キーノート二日目 (リアルタイムレポート) AWS re:Invent 2016 Keynote 12#reinvent クラスメソッドからのお知らせ! 3年連続でAWSプレミアコンサルティングパー

    AWS re:Invent2016【保存版】全セッションを網羅!非公式まとめ #reinvent | DevelopersIO
    kma83
    kma83 2017/02/19
  • (レポート) BDT310: AWSでのビッグデータのアーキテクチャパターンおよびベストプラクティス #reinvent | DevelopersIO

    AWS re:Invent 2015では今年も様々な新機能・新サービスが目白押しとなっております。発表と同時にそれら新リリースとなったテーマのセッションも急遽開催され、そのセッションに非常に多くの参加者が列を成すという光景も会期中頻繁に見られました。私個人としては当イベント期間中はAmazon Redshift/ビッグデータ/ETLといったテーマに関するセッションをピックアップして参加していました。当エントリではその中からビッグデータのアーキテクチャパターンとベストプラクティスについて解説がなされたセッションについてレポートしたいと思います。 イントロ ビッグデータは件数、ベロシティ、多様性などと絡めて年々規模を増している。 ビッグデータの改革 バッチ→リアルタイム→予測(prediction) レポート→アラート→予報(forecast) 多過ぎるツール群...これらはリファレンスアーキ

    (レポート) BDT310: AWSでのビッグデータのアーキテクチャパターンおよびベストプラクティス #reinvent | DevelopersIO
    kma83
    kma83 2017/02/18
  • KMSで認証情報を暗号化しLambda実行時に復号化する | Developers.IO

    データベースやAPIサーバーなど外部システムと連携する際には、往々にして認証情報が必要になります。 今回は AWS Key Management Service (以下 KMS) の共通鍵暗号の仕組みを使い、暗号化した認証情報を AWS Lambda 関数のコードに埋め込み、関数呼び出し時に認証情報を復号化する方法を紹介します。 基的なアイデアは次のブログで書かれており、KMS を使った暗号化処理だけを自分向けメモも兼ねて抜き出しました。 http://ijin.github.io/blog/2015/08/06/github-to-lambda-to-slack/ KMS ではマスターキーを使って暗号・復号する処理が API で切り出されているため、この API を使って認証情報を暗号化します。 KMS と Lambda の連携 以下の流れで動作確認します。 AWS KMSマスターキー

    KMSで認証情報を暗号化しLambda実行時に復号化する | Developers.IO
    kma83
    kma83 2017/02/16
    aws kms lambda
  • 【アップデート】AWS Lambdaで環境変数を使えるようになりました!!! | DevelopersIO

    インフルエンザの予防接種の副反応で高熱が出た森永です。 全国1億2千万人のLambdaファンの皆さん、遂にLambdaに環境変数が追加されました!!! 環境変数対応 多くの要望があった環境変数ですが遂に対応されました。 詳細は以下の通りです。 環境変数の数に制限なし ただし、キーバリュー合計4KBまで キーは半角英語[^a-zA-Z]で始める、かつ半角英数字とアンダーバー[a-zA-Z0-9\_]のみ バリューはカンマのみ使用不可(検証したところマルチバイト文字もいけました。) バリューはカンマ、マルチバイト文字含め使用可能(カンマ使えるようになったようです!!) 以下は予約語なので使用できない AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN AWS_ACCESS_KEY AWS_SECRET_KEY AWS_SECURI

    【アップデート】AWS Lambdaで環境変数を使えるようになりました!!! | DevelopersIO
    kma83
    kma83 2017/02/16
  • node.jsのいろいろなモジュール17 – asyncで非同期処理のフロー制御 | DevelopersIO

    node.jsでの関数呼び出し 非同期処理 node.jsはnon-blocking処理を行うため、関数によってはプログラマの意図しない順番で処理が実行されることがあります。 次の例をみてください。プログラムの開始をconsole.logで出力後、ファイルを読み込んで内容を出力、 最後にプログラム終了をconsoke.logで出力しています。 //app.js var fs = require('fs'); console.log("start"); //ファイル読み込み fs.readFile("hello.txt","utf-8",function(err,data) { console.log(data); }); console.log("finish"); 上記プログラムを自分の環境で実行した結果は次のようになってます。 startとfinishが表示され、ファイル内容は最後に表

    node.jsのいろいろなモジュール17 – asyncで非同期処理のフロー制御 | DevelopersIO
    kma83
    kma83 2017/02/15
  • CodePipeline で CodeCommit/CodeBuild/CodeDeploy を繋げてデリバリプロセスを自動化してみた #reinvent | DevelopersIO

    こんにちは、藤です。 AWS re:Invent 2016 で CodeBuild がリリースされました。CodePipeline のビルドプロセスに CodeBuild を置くことができるようになりました。 CodeBuild に関しては以下の記事をご参照ください。 【速報】フルマネージドのビルドサービスCodeBuild爆誕 #reinvent 今回は CodeCommit、CodeBuild、CodeDeploy を CodePipeline で繋げて、デリバリプロセスの自動化を試してみました。 概要 昨今のシステム開発はユーザーの要望をより早く、より多く取り入れることを要求され、リリース頻度が増えてきたことに伴い、デリバリプロセスの自動化がデファクトスタンダードとなってきました。デリバリプロセスにはソースコード管理、ビルド、テスト、デプロイという 4つ主なフェーズがあります。下記

    CodePipeline で CodeCommit/CodeBuild/CodeDeploy を繋げてデリバリプロセスを自動化してみた #reinvent | DevelopersIO
    kma83
    kma83 2017/02/01
  • LambdaのScheduleイベントでEC2を自動起動&自動停止してみた#reinvent | DevelopersIO

    はじめに Lambdaがアップデートされ、スケジュール機能が使えるようになりました。 当ブログでも紹介されています。 ・【速報】AWS Lambdaの機能拡張が数多くきました!VPC対応、ロングランニング、スケジュール、バージョニング、Python対応! #reinvent ・AWS Lambda の Scheduled Event を試してみた #reinvent 皆さんは日中帯や平日のみ使うサーバをお持ちでしょうか。 開発用のインスタンスであれば、業務時間だけ使えればOKなんて事もあるかと思います。 スケジュール機能を使ってEC2インスタンスを自動起動&自動停止してみました。 セットアップ手順 Lambda Functionの作成 LambdaのWEBコンソールにて、「Create a Lamdba function」を選択します。 Step 1: Select blueprintは、

    LambdaのScheduleイベントでEC2を自動起動&自動停止してみた#reinvent | DevelopersIO
    kma83
    kma83 2017/01/31
  • 【新サービス】AWS BatchがGA(一般利用開始)になったので使ってみた | DevelopersIO

    こんにちは、せーのです。今日は日よりGAになった新サービス「AWS Batch」を使ってみたいと思います。 AWS Batch クラウド上で特定のバッチ処理を流したい場合、最初に考えるのはEC2を立ち上げてバッチを書いてcronあたりにセットする方法でしょう。もう少しAWSに詳しくなるとLambdaを使ってサーバレスにバッチを流すことを考えるかもしれません。ただLambdaでは処理時間5分を超えるような大規模なバッチは流せません。いくつかのバッチをフローとして次々流すのであればSWF(Amazon Simple Workflow)というサービスもあったりするのですが、こちらはとにかく仕組みを覚えるのが大変です(経験者談)。どのサービスも一長一短、ちょうどいい感じのものはないものか、という要望に答えるのがこの「AWS Batch」となります。 AWS BatchとはAWSフルマネージドなB

    【新サービス】AWS BatchがGA(一般利用開始)になったので使ってみた | DevelopersIO
    kma83
    kma83 2017/01/13
  • 【Git】TIPS: リモートブランチをチェックアウトする方法 | DevelopersIO

    はじめに こんばんは! Github などを使ってチーム開発を行っていると、他のチームメンバーが作ったリモートブランチをチェックアウトしたい時があると思います。 特に、プルリクエストをコードレビューするときとか! そんな時、僕はいつも $ git fetch $ git checkout -b branch_name origin/branch_name とターミナルに入力していたのですが... 実は! $ git fetch $ git checkout branch_name だけで大丈夫のようです! タイプ数が半分くらいになってとっても幸せです! まとめ リモートブランチをチェックアウトするときは、 $ git fetch && git checkout branch_name を使おう! ではまた! 参考 Checkout remote Git branch - Stack Ove

    【Git】TIPS: リモートブランチをチェックアウトする方法 | DevelopersIO
    kma83
    kma83 2017/01/11
  • Amazon CloudWatch Logsでログファイルを監視する | Developers.IO

    ども、大瀧です。 日開催されているAWS Summit New YorkでCloudWatchの新機能、CloudWatch Logsが発表されました。 バックでKinesisが動いているらしく、スケーラブルなログアグリゲーションサービスとして期待できそうです。ひとまず、どんなものか試してみたのでレポートします。 1. IAMユーザー/IAMロールの準備 動作する仕組みは一般的なログアグリゲーションサービスと変わらず、ログ収集対象のマシンにエージェントをインストールし、アグリゲータにログを順次送信する形態です。エンドポイントはCloudWatchのAPIなので、他のAWS APIと同様にCloudWatch Logsに必要な以下の権限を付与したIAMユーザー、もしくはIAMロールを準備します。 { "Version": "2012-10-17", "Statement": [ { "Ef

    Amazon CloudWatch Logsでログファイルを監視する | Developers.IO
    kma83
    kma83 2017/01/08
  • Amazon Athena: カラムナフォーマット『Parquet』でクエリを試してみた #reinvent | DevelopersIO

    先日『AWS re:Invent 2016』にて発表された新サービス『Amazon Athena』は、マニュアルにもある通りAWSが提供するフルマネージドHiveサービスと言えるでしょう。DWH用途で考えるとレコードをフルスキャンするよりも特定のカラムを集計・フィルタするというユースケースが多くなりそうですので、カラムナフォーマット『Parquet』を試したみたいと思いました。Parquetファイルの変換や、一般的なCSVとの簡単な比較をしてみました。(意外な結果が...) カラムナフォーマット『Parquet』とは データ分析では大福帳フォーマットのテーブルデータに対して、特定の列の値を集計したり、フィルタリングすることが多いため、カラム毎にデータが連続して格納されていると必要なデータのみをピンポイントで読み込むことができるからです。また、列方向には同じ種類のデータが並んでいるため、圧縮

    Amazon Athena: カラムナフォーマット『Parquet』でクエリを試してみた #reinvent | DevelopersIO
    kma83
    kma83 2016/12/22
  • AWS Data Pipelineを利用したAWSジョブスケジューラ | DevelopersIO

    こんばんは、城内です。 ついに先日AWS LambdaがTokyoリージョンに上陸しましたね。以下のまとめ記事、いいですね! 【祝東京リージョン上陸】AWS Lambda関連のDev.IO記事まとめ そんな中、今回はData Pipelineネタです。なぜいまLambdaのTokyoリージョン上陸を喜びつつもData Pipelineなのかは、この記事をご覧頂ければきっと分かってもらえるかと思います(笑)。 はじめに 今回何をやるのかというと、Data Pipelineをジョブスケジューラ代わりに使ってみたいと思います。 実行する処理は、定期的に不要なEC2インスタンスを停止するジョブです。開発用インスタンスの止め忘れなど、皆さんもよくあることかと思います。 事前準備 まず、Data Pipelineのロジック部分となるスクリプトとそれを格納するS3バケット、通知用のSNSトピックを作成し

    AWS Data Pipelineを利用したAWSジョブスケジューラ | DevelopersIO
    kma83
    kma83 2016/12/04
  • GitBook 環境を準備してみる | DevelopersIO

    毎度お馴染み流浪の動かしてみた & C 芸人の Fujimura です。 最近はドキュメントを書くことが多いのですが、markdown で書かれたドキュメントをいい感じの PDF にしてくれるコマンドラインツールがないかなと google 先生や識者に尋ねてみたところ、gitbook が使えそうということがわかったため、手元に環境構築してみました。 GitbookIO/gitbook: Modern book format and toolchain using Git and Markdown インストール README.md にあるとおりに gitbook-cli を npm でインストールします。 $ npm install -g gitbook-cli これでインストールされるのはラッパーらしく、実際には gitbook の何らかのサブコマンドを実行すると、最新版がインストールされ

    GitBook 環境を準備してみる | DevelopersIO
    kma83
    kma83 2016/11/01
  • スナップショットによるEC2インスタンスのバックアップとレストア | DevelopersIO

    渡辺です。 今日は、EC2の基操作としてバックアップ(スナップショット)の取り方とその復元方法について説明します。 当ブログにありそうでなかったエントリーですね。 なお、AWSのコンソール画面については常に改善するようアップデートされますので、細かい所で変わっていく可能性があります。 とはいえ、質的な操作は変わらないと思うので、対応するメニュー等はどこかにあると思います。 スナップショットの作成 はじめにスナップショットの作成、すなわちバックアップ方法を説明します。 スナップショットとは? EC2インスタンスをバックアップするには幾つかの方法がありますが、その中で最も手軽なのがスナップショットの作成です。 EBSを丸っとコピーしていると考えてもらえれば良いでしょう。 なお、繰り返してスナップショットを取得すると、差分を保存するようにできているため、1回目のスナップショット作成はやや時間

    スナップショットによるEC2インスタンスのバックアップとレストア | DevelopersIO
    kma83
    kma83 2016/10/13
  • Amazon VPC Peeringの技術的考察と留意点 | DevelopersIO

    大事なことなのでもう1回言います。今回のVPC Peeringは、2つのVPC間のL3ネットワーク通信を提供します。 ...言わんとするところ、伝わったでしょうか。伝わりにくいですかね?(笑)説明としては上の文章でいいのですが、思い浮かぶイメージと実現できることにはそれなりに隔たりがあるので、そこを理解いただきたいというのが今回のエントリーの狙いです。VPC Peeringの仕組みを自分なりに考察(≒妄想)し、そこから見えてくる留意点を紹介してみます。以下に要点をまとめます。 ルーティングの設計はユーザーが行う。 Peeringなので、2VPC間以外のルーティングを取り持つことはできない。 Peering経由でIGW/VGWは利用できない。 ルーティングの設計はユーザーが行う Peeringの設定は、VPCの[Peering Connections]画面で、作成・管理します。ただ、このPe

    Amazon VPC Peeringの技術的考察と留意点 | DevelopersIO
  • [レポート]NoSQLの必要性と主要プロダクト比較 #dbts2015 #be_crazy_about_db_tech | DevelopersIO

    超おはようございます。最近めっきり暑くなってきましたね。城内です。 今回は、db tech showcase Tokyo 2015に参加してきましたので、セッションレポートを書きたいと思います。 セッション情報 セッション名:NoSQLの必要性と主要プロダクト比較 スピーカー:株式会社野村総合研究所 OpenStandiaチーム 渡部 徹太郎氏 スライド オープンソース サポート 保守 サービス(OSS サポート 保守 サービス)| OpenStandia™(オープンスタンディア) セッション内容 データを取り巻く環境の変化 データのボリュームが肥大化 →GoogleやFacebookの保持データがペタバイト級に データ処理の応答スピードが重要に →Webサイトのアクセス数が秒間10万アクセス データの多様性 →非構造データが増えてきているため、RDBMSでは格納が困難 RDBMSの現状

    [レポート]NoSQLの必要性と主要プロダクト比較 #dbts2015 #be_crazy_about_db_tech | DevelopersIO
    kma83
    kma83 2016/09/08
  • 【Tips】AWS CLIを使ってAmazon EC2を起動・停止するワンライナーまとめ | DevelopersIO

    こんにちは、城内です。 スマホゲームが大好きなのですが、最近はめっきりファンキル *1にハマっています。Fate *2コラボに惹かれて参戦したのですが、直近では結構インパクトのあるCMを打っていたり、過去のコラボもあの花 *3とかまどマギ *4とか、自分的にはかなりのツボですね! さて、個人的な趣味の話と無駄な脚注は置いておいて、今回もちょいネタです。 EC2を起動したり停止したりする、AWS CLIを使ったワンライナーをいろいろ紹介したいと思います。 目次 1. EC2起動 1-1. 単体起動 1-2. 起動確認 1-3. 起動待ち 1-4. 全起動 2. EC2停止 2-1. 単体停止 2-2. 停止確認 2-3. 停止待ち 2-4. 全停止 ワンライナーまとめ では、さっそくつらつらとまとめを書きます。 ちなみに、私はAWS CLIやjqのマスターではありませんので、「それ最適じゃな

    【Tips】AWS CLIを使ってAmazon EC2を起動・停止するワンライナーまとめ | DevelopersIO
    kma83
    kma83 2016/08/16