タグ

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

  • 10分でわかる!Key Management Serviceの仕組み #cmdevio | DevelopersIO

    こんにちは、虎塚です。 先日のCM re:Growth Developers.IO Meetup 11 Tokyo で「10分でわかるKey Management Serviceの仕組み」という発表をしました。今日は、イベントに参加されなかった方がご覧になっても内容が伝わるように、発表内容を記事に起こしてみました。 はじめに Key Management Service(KMS)は、先月開催されたre:Invent 2014で発表された新サービスです。すでに全リージョンで利用できます。このサービスを使うと、データの暗号化/復号用の鍵をAWS上で管理できます。 ところで、KMSのAPIドキュメントを流し読みすると、マスターキーとデータキーという言葉が出てきます。そうです、KMSが扱う鍵は2種類あるんですね。 2つの鍵の違いは何か? どう使い分けるのか? などが、ぱっと見ではわかりづらいかもし

    10分でわかる!Key Management Serviceの仕組み #cmdevio | DevelopersIO
    rsakamot
    rsakamot 2018/05/01
  • cloud-initのデフォルト挙動を徹底的に調べてまとめてみた -結果ソースコードを読んだ- | DevelopersIO

    コンニチハ、千葉です。 AWSを利用していればcloud-initをご存知の方が多いと思います。ただ、「cloud.cfg上から説明して!」とか言われたら困ると思います。 なにせ、ぐぐってもあまり情報がありません。公式のドキュメントを読んでも設定方法やモジュール名は書いているのですがモジュールがデフォルトでどんな挙動するのか読み取れませんでした。なので、ソースコード(主にコメントw)頑張って読んでまとめました。 初期構築等で設定だけしたいのであれば、このページを見ればいけると思います。 cloud-initの実行タイミング ふわっと、初回起動みたいに覚えている方もいると思います。実際には初回起動以外にも実行タイミングがあります。 一生に?1回だけ実行されるもの インスタンスごとに実行されるもの(AMI作成し、そこからインスタンスを作成した時) 起動時に毎回実行されるもの ソースで、「fre

    cloud-initのデフォルト挙動を徹底的に調べてまとめてみた -結果ソースコードを読んだ- | DevelopersIO
    rsakamot
    rsakamot 2017/12/14
  • CloudTrailのログをExcelで(あまり頑張らずに)解析してみた | DevelopersIO

    はじめに AWSチームのすずきです。 AWS APIへのアクセスログ機能を提供するCloudTrail、そのログはJSON形式、多数のgz圧縮ファイルとしてS3上に保存されるため、 人による視認性は芳しくありません。 今回、CloudTrailのログを簡単に解析する方法として、MS-Officeのエクセルを利用する方法について紹介させて頂きます。 準備 「jq」コマンドの実行環境を準備します。 解析対象とするCloudTrailのログは、awscliなどを利用して転送済とします。Amazon Linux AMI 2014.09環境での実行例 sudo yum install jq S3_PATH="cm-XXXXX/AWSLogs/XXXXX/CloudTrail/ap-northeast-1/2014/XX/XX" WORK_DIR=/tmp/$$ mkdir -p ${WORK_DIR

    CloudTrailのログをExcelで(あまり頑張らずに)解析してみた | DevelopersIO
    rsakamot
    rsakamot 2017/11/09
  • 【朗報】Terraform v0.7.0 から既存リソースをインポートする機能が追加されます! | DevelopersIO

    はじめに こんにちは、中山です。 次回リリースバージョンであるTerraformのv0.7.0にはいろいろと大きな変更点があります。エントリでは変更点の内インパクトの大きい import サブコマンドについてご紹介します。 import サブコマンドとは何か ドキュメントから引用します。 Terraform is able to import existing infrastructure. This allows you take resources you've created by some other means and bring it under Terraform management. つまりTerraform以外で作成したAWSなどのresourceをTerraform管理下にすることができる機能です。すばらしい。ただし、v.0.7.0時点では以下の文章に書かれているよ

    【朗報】Terraform v0.7.0 から既存リソースをインポートする機能が追加されます! | DevelopersIO
  • [新機能]静的なIPを持つロードバランサーNetwork Load Balancer(NLB)が発表されました! | DevelopersIO

    [新機能]静的なIPを持つロードバランサーNetwork Load Balancer(NLB)が発表されました! ウィスキー、シガー、パイプをこよなく愛する大栗です。 先程新しいロードバランサーNetwork Load Balancer(NLB)が発表されました! New Network Load Balancer – Effortless Scaling to Millions of Requests per Second Announcing Network Load Balancer for Elastic Load Balancing Network Load Balancer Network Load Balancer(NLB)はApplication Load Balancer(ALB)と異なりL4のロードバランサーです。 特徴 Network Load Balancerには以

    [新機能]静的なIPを持つロードバランサーNetwork Load Balancer(NLB)が発表されました! | DevelopersIO
    rsakamot
    rsakamot 2017/09/08
  • 2段階認証はAuthyが便利 | DevelopersIO

    アプリのインストール 電話番号とEmailを登録 電話番号とEmailを登録します。 認証 続いて認証 今回はSMSを選択しました。 登録した電話番号宛にpinコードが送られるので認証します。 プラスボタンを押して次へ進みます。 バックアップ設定 Authyは2段階認証のデータを暗号化してコピーしておいてくれるので携帯電話をなくしたり、壊したりしてもバックアップパスワードさえ覚えておけば復元がきるようですのでバックアップパスワードの設定をします。 バックアップパスワードを入力します。 再度入力します。 Scan QR Code あとはGoogle Authenticatorなどと同じようにQRコードを読み込んで使用します。 QRコードを読み込むとアカウントネームの編集やロゴの選択ができます。 ロゴはこんなにたくさん用意されています。 今回はAWSのロゴを選択してみました。 MFAコードが表

    2段階認証はAuthyが便利 | DevelopersIO
  • [5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Linux編 – | DevelopersIO

    (Windows編はこちら) コンニチハ、千葉です。涼しくなってきたので、運動日和な今日このごろです。 さて今回は、Linux Bastion Hosts on the AWS Cloud: Quick Start Reference Deploymentが公開されていたので、あらためて踏み台サーバのベストプラクティスと提供されているCFnテンプレートでの構築をしてみました。踏み台サーバを利用すると、EC2インスタンスをインターネットに公開せずに、インスタンスに接続できるようになります。つまり、VPC内のサーバにセキュアにアクセスすることができるので利用する方がベターですね。 基的な内容となっておりますので、初めての方などのお力になれば嬉しいです! 踏み台サーバのベストプラクティス アーキテクチャ AWSでセキュアにサーバへアクセスするために、踏み台サーバを構成するときのアーキテクチャで

    [5分で]AWSベストプラクティスにのっとって踏み台(Bastion)サーバを構築する – Linux編 – | DevelopersIO
    rsakamot
    rsakamot 2017/07/06
    bastion
  • DDD、CQRS(+ES)まわりの実装、参考ページまとめ | DevelopersIO

    はじめに 弊社で開発するモバイルバックエンドのサーバサイドAPIアプリケーションコード (Play framework + Scala) はビジネスロジックを担う主要なパッケージである services, domains が外部のインフラやAPIインターフェイスに直接依存しないようなパッケージ構成をとっています。(Clean Architecture) services, domains の構成についてはDDDの経験が浅く、まだまだ改善の余地があると考えており、今後どうしていくか考えていくにあたって参考になるであろうページをまとめてみました。 尚、DDDまわりにおける筆者の現在の知識はドメイン駆動設計の第二部までを読み終わり、第三部を読み始めた程度です。 DDDと関連のあるCQRS+ES(Command and Query Responsibility Segregation + Even

    DDD、CQRS(+ES)まわりの実装、参考ページまとめ | DevelopersIO
    rsakamot
    rsakamot 2017/06/28
  • 個人的によく使うrpmコマンド逆引き | DevelopersIO

    こんにちは。望月です。 RHEL系Linuxでパッケージ管理に使われるrpmコマンドですが、色々とオプションがあって「あれ、何使えばいいんだっけ?」ってのが多くなったので、自分がよく使う物をまとめてみました。新しく出てきたら追記していきたいと思います。 検証は全てAmazon Linux 2014.03で実施しています。 インストール rpmパッケージをインストールする ローカルにあるrpmファイルをインストールします。-i(--install)オプションを利用します。-v(--verbose)と-h(--hash)は、インストールの進行度を表示してくれます。 $ rpm -ivh package-x.y.z.rpm また、リモートのファイルを指定することも可能です。 $ rpm -ivh http://package.example.com/package-x.y.z.rpm rpmパッ

    個人的によく使うrpmコマンド逆引き | DevelopersIO
  • 【習作】EC2を起動してステータスチェックに失敗したらリトライするスクリプトを書いた | DevelopersIO

    はじめに どうも、佐々木です。大好きな夏が終わりかけていて寂しいです。 主にコストダウンを目的として、EC2の起動/停止をスケジューリングしたい場合があります。方法としては、Auto Scalingを使うか、あるいは外部からAPIを叩くことになります。簡単なのはAWS SDKなりAWS CLIなりを使ってAPIを叩く方法です。しかしスケジュールに従った自動起動では、人手を介さない以上、失敗した場合の処理を考慮しておく必要があります。失敗の要因としては、AWS側の問題、システム側の問題、両方が考えられます。自動停止であれば、失敗しても停止しない=起動しっぱなしなので、サービスに影響はありません。しかし自動起動が失敗した場合には、サービス自体が動かない為、利用者に影響を与えてしまいます。 そこで、AWS CLIを利用して、以下のようなシェルスクリプトを書いてみました。 EC2を起動する(sta

    【習作】EC2を起動してステータスチェックに失敗したらリトライするスクリプトを書いた | DevelopersIO
  • AnsibleのInventory Groupで環境毎に異なるlocalhostを構築する | DevelopersIO

    渡辺です。 Ansibleでは、ホストをInventoryファイル(スクリプト)で定義します。 この時、次のようにグループ化することが可能です。 [prd] 10.0.0.10 10.0.0.20 [stg] 10.0.100.10 10.0.100.20 ここではprdグループとstgグループにホストを定義しています。 ホストをグループ化することで、グループ変数(group variable)が利用できるため、番環境(prd)と検証環境(stg)における構成の差異を反映した構成管理を行えます。 ここまではよくある話。 今回、ハマったのは番環境も検証環境もlocalhostの場合です。 すなわちAnsibleをローカル実行させる場合に期待通りのグループ変数が適用されなかったというお話です。 期待通りにいかないファイル構成 こちらは上手く動作しなかった構成です。 # hosts [stg

    AnsibleのInventory Groupで環境毎に異なるlocalhostを構築する | DevelopersIO
  • サブ要素をループするAnsibleのwith_subelements | DevelopersIO

    渡辺です。 AnsibleのPlaybookやRoleの再利用性を高めるためには、綺麗なグループ変数定義を目標とし、タスク定義でゴニョゴニョするのが基です。 今回は、こんなグループ変数に役立つwith_subelementsを紹介します。 vars: users: - name: user1 groups: - wheel - hoge - name: user2 groups: - hoge 要は多重ループをしたいってことになります。 プログラミング的にはこんなイメージです(擬似コード)。 for (user in users) { for (group in user.groups) { # user と groupによる処理 } } with_subelementsによる多重ループ 結論から言えば、with_subelementsを利用することで多重ループを処理することができます。

    サブ要素をループするAnsibleのwith_subelements | DevelopersIO
  • AnsibleによるVPCの構成管理 | DevelopersIO

    渡辺です。 AnsibleによるAWSリソースの構成管理シリーズ、 今回はVPC(ネットワーク)周りを構築するAnsible Playbookを紹介します。 Ansible2.0で追加されたモジュールを利用しているため、現行のAnsible2.1系でも利用可能です。 グループ変数のサンプル 今回紹介するPlaybookで定義するグループ変数のサンプルです。 env: Prd profile: default region: ap-northeast-1 vpc: name: VPC cidr_blodk: 10.0.0.0/16 subnet: - name: PublicA az: ap-northeast-1a cidr: 10.0.1.0/24 route: Public - name: PublicC az: ap-northeast-1c cidr: 10.0.2.0/24 ro

    AnsibleによるVPCの構成管理 | DevelopersIO
  • ansible.cnfでssh_configを設定する | DevelopersIO

    渡辺です。 2015年はAnsible盛り上がってますね。 大規模な構成管理ツールとしては疑問の声も聞こえてきたりしますが、弊社のAWS環境構築支援のように、ある程度お決まりの設定をサクっと8分組みしたいようなケースでは当に便利です。 そんなAnsibleが手軽に使える最大の理由は、Ansibleがエージェントレスで、対象サーバにSSH接続が可能ならば利用できるという点であることは言うまでもありません。 この辺りもAWSの環境構築とAnsibleの親和性が高い理由のひとつです。 今回のエントリーでは、そんなAWSの環境構築を行う時に、ssh_confとAnsibleを組み合わせる方法を紹介します。 SSH接続と秘密鍵 Ansibleを実行するマシンから対象のサーバにはSSH接続を行う必要があります。 すなわち、秘密鍵が必要です(鍵認証無しでSSH可能な環境は論外で...)。 秘密鍵は、s

    ansible.cnfでssh_configを設定する | DevelopersIO
  • Elastic StackのX-Packを試す(インストール編) | DevelopersIO

    検証時のX-Packのバージョンはbeta1です。 GAリリース時は仕様が変わっている可能性もございますのでご注意ください。 こんにちは、藤です。 Elastic Stackもベータバージョンまでリリースされました。これからはGAリリースに向けてバグフィックスが主なアップデートとなっていくことでしょう。 全6回で X-Pack をおさらいがてら機能を試しつつ、新機能を確認していきます。 今回は初回ということで、X-Pack の概要の確認と、インストール関連を試してみました。 X-Packを試すシリーズのその他のエントリは以下をご参照ください。 Elastic StackのX-Packを試す(インストール編) Elastic StackのX-Packを試す(Security編) Elastic StackのX-Packを試す(Monitoring編) Elastic StackのX-Pac

    Elastic StackのX-Packを試す(インストール編) | DevelopersIO
  • AWSでTerraformに入門 | DevelopersIO

    OSやミドルウェアの機能検証を実施した場合など、オンデマンドで一時的な検証環境を構築できるのもクラウドサービスの醍醐味です。 検証対象のOSやミドルウェアは異なれど、検証に必要な環境はある程度共通であることが少なくなく、また費用節約のためにも検証が終わった後はきれいさっぱりとその環境を削除したいものです。 AWSでそんな使い捨ての環境を構築する場合の方法として、ファーストチョイスとなるのはAWS CloudFormationかと思います。検証環境をテンプレート化しておくことができ、またマネージメントコンソールやAWS CLIを使って簡単に環境の構築/削除ができる、使い捨て環境の構築にはぴったりのサービスです。あるいはAWS CLIやAWS SDKを使って自前の環境構築スクリプトを作成するのもよいかもしれません。 AWS公式のツールを使う以外では、Terraformが有力な選択肢の1つになる

    AWSでTerraformに入門 | DevelopersIO
    rsakamot
    rsakamot 2017/03/02
  • AnsibleによるEC2インスタンスの構築 | DevelopersIO

    渡辺です。 過去にも同様のエントリーが存在するのですが、AWSといえばEC2ということで、最新のAWSモジュールを利用してEC2インスタンスを作成してみます。 Ansibleを使ってEC2インスタンスを立ち上げる | Developers.IO Using Ansible on AWS – EC2インスタンスを作成する | Developers.IO グループ変数でインスタンス定義を明確にする 可読性の高いグループ変数は、このシリーズのテーマです。 今回は、次のようなグループ変数でEC2インスタンスを定義したいと思います。 ec2: - name: FrontWebA instance_type: t2.small image: ami-1a15c77b instance_profile_name: web key_name: dev-key subnet_name: FrontA gro

    AnsibleによるEC2インスタンスの構築 | DevelopersIO
  • 第1回 Elastisearch 入門 インデックスを設計する際に知っておくべき事 | DevelopersIO

    今回、第1回目の Elasticsearch 入門という事で、今回は「インデックスを設計する際に知っておくべき事」というテーマにしてみました。ここでのインデックスの設計とは RDB のデータベースとかテーブル、ビューの設計に当たるところです。 Elasticsearch は RDB など他のデータベスに比べ、その設計方法も結構独特です。(と言うか同じ事を実現するにしても色々な方法が用意されていて、さらにアプリケーション要件〜システムアーキテクチャ、運用面など広い範囲が関わってくる)RDB との比較も交え解説していきます。 Index で分けるか? Type で分けるか? 例えば、商品情報を保存するインデックスの設計を考えてみましょう。いわゆるRDBの設計で言うところのテーブル設計ですね。おそらくRDBではアプリケーション要件のみが、その設計の中心になるはずです。例えば、商品名や説明、価格情

    第1回 Elastisearch 入門 インデックスを設計する際に知っておくべき事 | DevelopersIO
  • Redshiftのルーツを紐解く | DevelopersIO

    IT系勉強会ウォッチャーの川崎です。とある勉強会 で、Redshiftのバージョン表記が「8」台である、という話題が出まして、そこからRedshiftのルーツとなる製品の話をさせていただきました。 select version(); PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.1056 この記事では、ネット上のリソースから、Redshiftのベースとなる製品についてご紹介したいと思います。 オンプレ版Redshift? みなさんは「オンプレ版のRedshift」とでもいうべき製品があるのをご存知ですか? *1 私がそれについて知ることになったのは、CROSS2016のビデオを見ていた時でした。 「Goog

    Redshiftのルーツを紐解く | DevelopersIO
  • AWS再入門 AWS Data Pipeline編 | DevelopersIO

    はじめに 当エントリはDevelopers.IOで弊社AWSチームによる2015年アドベントカレンダー 『AWS サービス別 再入門アドベントカレンダー 2015』の24日目のエントリです。昨日23日目のエントリはせーのの『Amazon Simple Workflow Service』でした。 このアドベントカレンダーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、今一度初心に返って、基的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 日24日目のテーマは『AWS Data Pipeline』です。Data Pipelineって名前は聞いたことあるし、なんかデータ連携するサービスってことは知っているけど・・・的な方々に、具体的にどのような仕組みでどんなことができるのかをサクッとご説明したいと思いま

    AWS再入門 AWS Data Pipeline編 | DevelopersIO
    rsakamot
    rsakamot 2016/09/21