タグ

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

  • AWS再入門 AWS IAM (Identity and Access Management) 編 | DevelopersIO

    当エントリはDevelopers.IOで弊社AWSチームによる『AWS サービス別 再入門アドベントカレンダー 2015』の22日目のエントリです。昨日21日目のエントリは半瀬の『AWS Trusted Advisor』でした。 このアドベントカレンダーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、今一度初心に返って、基的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 日22日目のテーマは『IAM (AWS Identity and Access Management)』です。 もし、IAMがなかったら1つのAWSアカウントを複数人で共有し、誰が何のリソースに、どのような操作をしたかを把握することは不可能です。IAMは、AWS マネジメントコンソールや API によって素早く低コストでセキュリテ

    AWS再入門 AWS IAM (Identity and Access Management) 編 | DevelopersIO
  • ECSのHEALTHCHECKオプションでサービスの継続性を高めよう | DevelopersIO

    ECSでは、Fargateや従来のECSサービスで「HEALTHCHECK」オプションを利用できるようになっています。 Amazon ECSはコンテナの健全性チェックとタスクの健全性管理をサポート AWS Fargate プラットフォームのバージョン 1.1 が、タスクメタデータ、コンテナのヘルスチェック、サービスディスカバリのサポートを追加 Docker自体は1.12以降で「HEALTHCHECK」オプションを利用することができますが、ECSで利用するとステータスが「不健康」なタスクを止めて新しいものに置き換えることが自動で可能になります。 DockerのSwarmモードだと、HEALTCHCHCK機能を使ってサービスの再起動をすることができますが、同じことがECSでも可能になった、ということになります。 ECSでHEALTHCHECKオプションを設定する すでにECS環境は作成されてい

    ECSのHEALTHCHECKオプションでサービスの継続性を高めよう | DevelopersIO
  • RDS MySQL5.5.33 で『utf8mb4』(4バイト対応UTF-8文字コードセット)を試してみた | DevelopersIO

    ちょっとした小ネタです。RDS(MySQL)に於いて、『utf8mb4』に対応した環境が作成出来るか/対応しているかという件で確認する機会がありましたので、当エントリに備忘録的として記しておきます。 目次 『utf8mb4』とは RDS(MySQL)環境の用意 『utf8mb4』に対応したパラメータグループを作成・適用 『utf8mb4』関連パラメータグループ適用後の内容確認 『utf8mb4』とは この『utf8mb4』というもの、文字コードの一種で、UTF8で4バイト文字を扱う事が出来るものらしいです。 MySQLで4バイトのUTF-8文字を扱ってみる - HHeLiBeXの日記 正道編 また、それぞれのバージョンで扱う事が出来るCharacter Setの一覧も以下にメモしておきます。 MySQL :: MySQL 5.1 Reference Manual :: 10.1.13 Ch

    RDS MySQL5.5.33 で『utf8mb4』(4バイト対応UTF-8文字コードセット)を試してみた | DevelopersIO
  • AWS再入門2018 Amazon EC2 Auto Scaling編 | DevelopersIO

    Amazon EC2 Auto Scalingを利用すると、需要に合わせてEC2の台数を増減できます。 これにより、コストとパフォーマンスのバランスをとれます。 Auto Scalingは素晴らしい機能ですが、よく理解して利用する必要があります。 Auto Scalingの基的な内容と、マスターEC2を使ったAuto Scalingの運用方法をご紹介します。 Auto Scalingを構成する要素 Auto Scaling グループ Auto Scaling グループは、Auto Scalingの管理単位です。 グループを作成する際に、EC2の最小数、最大数、希望する数を指定します。 EC2の最小数と最大数の間で、インスタンス数が増減または維持されます。 ヘルスチェックのタイプ Auto Scalingは起動したインスタンスに対して、定期的なヘルスチェックを実行します。 インスタンスが正

    AWS再入門2018 Amazon EC2 Auto Scaling編 | DevelopersIO
  • Redisのsetnxを使ってマルチサーバ環境での Web API ロック機構を実現する | DevelopersIO

    「これ、同時にリクエスト飛んできた場合って、どうなるの?」 「2つ登録されちゃいますね…」 はじめに Web APIは、リクエストを受け、処理を終えた後レスポンスを返します。モバイルアプリやウェブアプリとセットで開発しているとつい忘れがちになってしまいますが、同時に同じリクエストが飛んできた場合にどういう挙動をするか ということは常に考慮しておかなくてはなりません。「UI上同時にリクエストが送れないから問題なし」では Web APIの設計が不十分です。別の端末から同時に同じリクエストを送ることも可能ですので、UIとは切り離して考えるべきです。 さて、この状況、GETリクエストについては大きな問題にはならないでしょう。いくらリクエストが来てもサーバ側の状態に変化はないので、負荷対策だけしておけば大丈夫そうです。問題はPUTリクエストやPOSTリクエストといった、サーバ側のリソースに変化を及ぼ

    Redisのsetnxを使ってマルチサーバ環境での Web API ロック機構を実現する | DevelopersIO
  • 【登壇資料】目的別、サーバーレスアーキテクチャの教科書!これのときはこう!【アーキテクチャ20連発】 #cm_osaka | DevelopersIO

    大阪でサーバーレスの話をしてきました クラスメソッドの開発を知る!大阪勉強会 第7回 これから始めるサーバーレス!〜最新サービス使いこなし術〜で スピーカーとして登壇しました。参加率が非常に高く、多くの方にご参加いただきました。誠にありがとうございました! 記事では、勉強会でお話しした「目的別、サーバーレスアーキテクチャの教科書!これのときはこう!」の発表資料を公開します。 発表資料 内容 セッションでは、これからサーバーレスを始める人向けに、サーバーレスとは何か?という話から、具体的にどのようなアーキテクチャを構築するのか?というお話しをさせていただきました。 サーバーレスアーキテクチャパターン セッションでは、サーバーレスアーキテクチャのパターンを20種類ご紹介しました。サーバーレスと言えるアーキテクチャは20種類では語りきれないほど沢山ありますが、今回は独断と偏見で選んでみまし

    【登壇資料】目的別、サーバーレスアーキテクチャの教科書!これのときはこう!【アーキテクチャ20連発】 #cm_osaka | DevelopersIO
  • [AWS Certificate Manager]東京でも無料でSSL証明書が使用可能になりました! | DevelopersIO

    ※:CloudFrontは米国東部 (バージニア北部)で設定を行うため、CloudFrontの全エッジロケーションでACMを使用できます。 早速試します ACMを設定する 設定の手順の詳細は、[ACM] SSL証明書発行時のドメイン認証メールをSESで受け取ってみたを参照して下さい。このエントリの「ACM設定」までを実施します。 東京リージョンでAmazon Linux 2016.03のEC2を起動して、以下のコマンドを実行します。(Webサーバのインストール、index.htmlの作成、Webサーバの開始) $ sudo yum install -y httpd $ sudo echo "AWS Certificate Manager" | sudo tee /var/www/html/index.html $ sudo service httpd start 次に、東京リージョンのEL

    [AWS Certificate Manager]東京でも無料でSSL証明書が使用可能になりました! | DevelopersIO
  • [ACM] SSL証明書発行時のドメイン認証メールをSESで受け取ってみた | DevelopersIO

    はじめに AWSが提供するACM(AWS Certificate Manager)、 CloudFront、ELB(2016年4月17日より東京リージョンでも利用可能になりました)で利用できる、 HTTPS通信用のサーバ証明書を、追加費用なく利用できるサービスです。 AWSの無料SSL証明書サービスCertificate Manager について調べてみた ACMではサーバ証明書の作成時、対象ドメインの正当な保有者である事の確認のため、 メール認証が行われます。 通知先はwhoisに登録されたドメインの管理者と、 admin@<ドメイン> administrator@<ドメイン> hostmaster@<ドメイン> postmaster@<ドメイン> webmaster@<ドメイン> 宛に確認URLを含むメールが送信されます。 今回、 上位ドメインに委任されたサブドメインのみ、Route5

    [ACM] SSL証明書発行時のドメイン認証メールをSESで受け取ってみた | 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
  • 開発環境で使うDocker入門 | DevelopersIO

    モバイルアプリサービス部の五十嵐です。 Dockerは軽量でポータビリティに優れ、環境を汚さないので開発環境には無くてはならない存在ですよね!今回はまだDockerを使っていない人向けに、私が自分が辿ってきた経験を元に、『こういうシーンでDockerを使うと便利』というのをステップ・バイ・ステップで説明していきます。 対象読者 Dockerはなんとなく知っていて興味はあるけど、使い所や導入するメリットが分からないという人を対象にしています。 環境 Docker for MacDocker 1.12.3) Dockerについて Dockerは複数のコンポーネントからなるプラットフォームですが、記事では主にDocker EngineのことをDockerと呼びます。 Dockerはコンテナと呼ばれる仮想化技術を用いています。従来の仮想化技術と異なる点は、ホストのカーネルをコンテナと共有し、ホ

    開発環境で使うDocker入門 | DevelopersIO
  • systemd超入門 | DevelopersIO

    これはとある勉強会用の資料です。スライド作るのが面倒臭くなったのでブログにすることにしました。 Systemdとは Systemdは、Linuxの起動処理やシステム管理を行う仕組みです。 Linuxの起動処理 Linuxの起動はざっくりと以下の4段階によって行われます。 電源投入によりBIOSが起動する。 BIOSからブートローダーが呼び出される。 ブートローダーがLinuxカーネルを起動する。 Linuxカーネルがinitプロセス(PID 1)を起動する。 このinitプロセスが、Linuxの起動処理を司ります。古くから使われていたのがSysvinitで、Sysvinitの代替えとして近年Ubuntuなどで採用されていたのがUpstartです。そしてFedora 15やCentOS 7、Red Hat Enterprise Linux 7で採用されたのがSystemdです。 System

    systemd超入門 | DevelopersIO
  • APIアグリゲータのKongでマイクロサービスを統合管理する | DevelopersIO

    ども、大瀧です。 「これからのWeb開発はマイクロサービスアーキテクチャだ!」とそこかしこで言われる昨今ですが、実際にマイクロサービスでAPIサーバーを実装しようとすると面倒な部分がいろいろ出てきます。例えば以下のような。 サービス毎にAPIが異なっていて統一性が無い サービス毎に認証機構を実装するのがつらい サービス毎にログの形式が異なる、アクセスログが残らないものがある DoS攻撃が来たらどうしよう これらWeb APIサービスに求められる課題をまとめて解決してくれるのが、APIアグリゲータです。(下図はAPIアグリゲータなしとAPIアグリゲータとしてKongを用いる場合) Kongとは Kongは、商用APIアグリゲータのMashapeのOSS版としてGitHubで開発が進めらているAPIアグリゲータです。 Kong - Open-Source API and Microservic

    APIアグリゲータのKongでマイクロサービスを統合管理する | DevelopersIO
  • 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO

    jq Manual jqで簡単JSON加工 | Developers.IO jqコマンドが実は高性能すぎてビビッた話 - beatsync.net JSONを超絶に読みやすくする jq コマンド - WebAPIバリバリ使うor開発する人必須 CLIでJSONの整形をする - ( ꒪⌓꒪) ゆるよろ日記 JSON形式の情報を様々な条件や書式として成形、フィルタリングツール『jq』。上記関連エントリで私もこのツールの存在を知る事になったのですが、ツールの簡易さ・便利さに感動しながら私もちょくちょく利用させてもらっています。 そこでこのエントリでは、jq公式ページに展開されている利用ガイド・リファレンス的な位置付けの『jq Manual』を写経がてらざっくり日語訳してみました。ざっくり訳なのでこの部分の訳おかしい・間違ってる等ありましたら御指摘頂けると幸いです。例示されているサンプルコードも

    軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO
  • [iOS][Swift] Swift 3.0の変更点まとめ | DevelopersIO

    Implemented proposals for Swift 3 SE-0002: Removing currying func declaration syntax カリー化関数宣言構文を削除 func foo(x: Int)(y: Int) の有効性は限定的で、実装が複雑になるから削除する必要があります。 サンプル // Before: func curried(x: Int)(y: String) -> Float { return Float(x) + Float(y)! } // After: func curried(x: Int) -> (String) -> Float { return {(y: String) -> Float in return Float(x) + Float(y)! } } SE-0003: Removing var from Function

    [iOS][Swift] Swift 3.0の変更点まとめ | DevelopersIO
  • コンセプトから学ぶAmazon DynamoDB【複合キーテーブル篇】 | DevelopersIO

    よく訓練されたアップル信者、都元です。DynamoDB楽しいです。みんなもっと使えばいいのにと思って最近のエントリーを書いています。今回は、前回名前だけ触れた「複合キーテーブル」について。DynamoDBについて全くご存知無い方は、まずは下記エントリーを読んで頂ければと思います。 Amazon RDSとの比較で学ぶDynamoDB コンセプトから学ぶAmazon DynamoDB【ハッシュキーテーブル篇】 今回のサンプルデータ フォーラム・スレッド・返信投稿という3要素で構成した掲示板のデータベースとして、それぞれForum, Thread, Reply というDynamoDBのtableがあり、下記のようなitemがそれぞれのtableに入っているようなイメージをしてみてください。 // Forum { "Name": "DynamoDB", "Category": "Amazon We

    コンセプトから学ぶAmazon DynamoDB【複合キーテーブル篇】 | DevelopersIO
  • コンセプトから学ぶAmazon DynamoDB【ハッシュキーテーブル篇】 | DevelopersIO

    よく訓練されたアップル信者、都元です。最近DynamoDBづいております。DynamoDBについて全くご存知無い方は、まずは下記エントリーを読んで頂ければと思います。 Amazon RDSとの比較で学ぶDynamoDB 要するに、即時一貫性・操作の原子性・検索条件の自由度を犠牲にして、可用性と拡張性を手に入れたデータベースがDynamoDBであります。では具体的に、データの読み書きはどのように行うのでしょうか。 DynamoDBにおけるコンセプト DynamoDBには主に「table」「item(項目)」「attribute(属性)」という3つの概念が現れます。それに従属する概念として「キー」「インデックス」が出てきます。まずはこの辺りを整理していきましょう。 tableというのはみなさん分かりやすいでしょう。概ねRDBで言うところのテーブルに相当し、itemの集合体です。itemについて

    コンセプトから学ぶAmazon DynamoDB【ハッシュキーテーブル篇】 | DevelopersIO
  • コンセプトから学ぶAmazon DynamoDB【Amazon RDSとの比較篇】 | DevelopersIO

    よく訓練されたアップル信者、都元です。AWS上のシステム設計において、どんな時にRDSを選択するのか、そしてどんな時にDynamoDBを選択するのか。比較しながら見て行きたいと思います。 RDBとNoSQL ACIDなRDB 一昔前、一般的に「データベース」と言えば、多くはリレーショナルデータベース(RDB)のことを指していました。テーブルと呼ばれる「行とカラムで構成される二次元のデータ構造」に対して、SQLと呼ばれる強力なクエリ言語で操作を行い、データの一貫性(Consistency: どこから観測しても同じ値が得られること)や操作の原子性(Atomicity: 一連の操作を全て適用commitするか、全てキャンセルrollbackするかの二択として実現できること)を実現するモデルは、開発者を含むシステムの利用者にとって非常に理解しやすく、広く受け入れられて来ました。多くの方がご存知の通

    コンセプトから学ぶAmazon DynamoDB【Amazon RDSとの比較篇】 | DevelopersIO
  • 【Aurora】とあるWebサイトのDBをAmazon Auroraに移行してみた | DevelopersIO

    はじめに AWSチームのすずきです。 今月(2015年10月)よりAWS東京リージョンで利用可能となった、RDS for Amazon Aurora。 とあるサイトのCMS(WordPress)のバックエンドDBとして稼働していたRDS(mysql)を移行し、 Amazon Auroraの性能の一端を確認できる機会がありましたので、紹介させて頂きます。 概要 RDSのスナップショットより、スナップショットの移行(migrate)を実施しました。 ElasticBeanstalkの機能(クローン、DNSスイッチ)を利用して、RDS(Aurora)参照環境の構築と切替を実施しました。 DBの最終同期として、mysqldumpコマンドによるエクスポート、インポートを行いました。 システム概要図 移行手順 スナップショットの復元 AWSコンソール、RDSのスナップショット画面より復元対象とするRD

    【Aurora】とあるWebサイトのDBをAmazon Auroraに移行してみた | DevelopersIO
  • JWTによるJSONに対する電子署名と、そのユースケース | DevelopersIO

    よく訓練されたアップル信者、都元です。最近、OpenID Connectにどっぷり浸かっております。IAMも好きなんですが、どうもIdentityおじさんの気があるんでしょうか。 さて、OpenID Connectの話は追々ご紹介していきたいと思うのですが。今日はJWTという技術についてご紹介します。 JWT JWTは JSON Web Token の略で、jot(ジョット)と発音します。まずはイメージを持っていただくために、JWTの例を示します。 eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2VyaG9nZSIsImF1ZCI6ImF1ZGhvZ2UiLCJpc3MiOiJodHRwczpcL1wvZXhhbXBsZS5jb21cLyIsImV4cCI6MTQ1MjU2NTYyOCwiaWF0IjoxNDUyNTY1NTY4fQ.BfW2a1SMY1a8cjb7A

    JWTによるJSONに対する電子署名と、そのユースケース | DevelopersIO
  • [Ruby on Rails]Grapeを使ってWeb APIを作成する | DevelopersIO

    はじめに RailsでWeb APIを作成するとき、皆さんはどのような実装を行っているでしょうか?一番多いのは、Rails標準のControllerにてリクエストを受け付け、結果をjson形式などで返すかたちだと思います。 もちろんこのような実装でも十分なのですが、今回はGrapeを使った実装を紹介したいと思います。 Grapeとは Grapeのページにある以下の文が、その特徴をよく表していると思います。 Grape is a REST-like API micro-framework for Ruby.It's designed to run on Rack or complement existing web application frameworks such as Rails and Sinatra by providing a simple DSL to easily deve

    [Ruby on Rails]Grapeを使ってWeb APIを作成する | DevelopersIO
    d_animal141
    d_animal141 2016/03/10
    Grapeを使ってWeb APIを作成する