woshidan's blog

あいとゆうきとITと、とっておきの話。

AWS

AWS Web Servicesを使ったサーバーレスアプリケーション開発ガイドを読みました

Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド作者: 西谷圭介出版社/メーカー: マイナビ出版発売日: 2018/03/16メディア: 単行本(ソフトカバー)この商品を含むブログを見る 上の本を読みました。全体的に Lambdaになれました Vueに…

AWSによるサーバーレスアーキテクチャを読みました

3連休はサーバレスをやるぞ! と決めていたので、2ヶ月くらい積ん読してた気がする本をようやく読みました。 AWSによるサーバーレスアーキテクチャ作者: Peter Sbarski,吉田真吾,長尾高弘出版社/メーカー: 翔泳社発売日: 2018/03/14メディア: 単行本(ソフト…

AWS DevDay Tokyo 2018 LT大会に「AWSを用いたWebサービスの負荷試験のTips」というテーマで参加してきました

9月にLTのCFPの公募があり、これはいい勉強になるだろうということで応募したら通ったのでわたわたしながら準備していました。 speakerdeck.com 以下、とっちらかっていますが、自分用のメモ兼補足です。 JMeterが同時に1000スレッドを立ち上げたらフリーズ…

JAWS-UG 初心者支部#14「AWS Night school & LT」 LT大会 に「 IAMロールの使用と必要なポリシー」というテーマで参加してきました

結構前なのですが、仕事ともう一個のLTでバタバタしていていまさらになりますががが。 speakerdeck.com 自分がはじめてIAMさわったとき、IAMのポリシーってたくさんあってどれがどれだかわからないぞって気持ちが強くて。。 IAMのポリシーにつく形容詞には …

Terraformで検証用インスタンスを立ち上げるのに使う最低限の作業についてメモ

検証用の環境作るとき、微妙に設定をいじって立て直す、その後複数台で動かしたい、みたいな場合はTerraformでやったりします*1。 そのとき、共通でやる作業についてメモしておきます。 共通 変数設定など アプリごとにパスフレーズなしの認証鍵を使い捨てで…

ecs_deployのecs_auto_scalerにPRを出すときに環境構築をがんばったよ、というお話

先日、 ecs_auto_scaler にPRを出してマージされてしばらく運用して問題なさそうので今日はちょっと自慢をします。 ecs_auto_scaler そのものについては前回の記事でふれたのでそちらをご参照ください。 woshidan.hatenablog.com 複数のサービスが連携させて…

ecs_deployによるECSのオートスケーリングとAWSのECSによるオートスケーリングの違いについて

今日は会社で管理しているOSSの一つ、ecs_deployに関連する話をECSの復習がてらします。 TL;DR ecs_deploy gemでは、ECSへのデプロイに関するCapistranoタスクの定義とECSのオートスケーリングを行うスクリプトが入っている ECSのオートスケーリングはAutoSc…

CloudWatchにさわってみたときのメモ(カスタムメトリクスのパブリッシュ、アラームの設定)

とりあえず今日はCloudWatchの復習で。 CloudWatchはAWSのモニタリングや監視のためのサービスで、EC2など各種AWSのサービスを動かすと自動的にCPU利用率などのメトリクスを取得してくれる他、AWS CLIなどを利用してカスタムメトリクスを送ることも可能です…

EC2インスタンスをECSの特定のクラスタに所属させる

今日は、EC2インスタンスをECSの特定のクラスタのコンテナインスタンスとして登録するために必要なものについてまとめておきます。 EC2インスタンスがECSのコンテナインスタンスになる仕組み ECSのコンテナインスタンスはecs-agentが動作していて、ecs-agent…

IAMのロール、EC2インスタンスやECSのタスクに対するロールについてメモ

今日はIAMのロールについて復習しようと思います。 TL;DR 特別な作業をする時だけふだん使わない権限を一時的に使いたいときは、IAMロールの出番 IAMロールの使い方 IAMロール自体を作成し、 誰がそのロールを利用できるのか、を記述した信頼ポリシー と 「~…

Application Load Balancer(ALB)のコンポーネントについてメモ

先週、CLBではできなくてALBでできるようになったいくつかのことについてメモしました。 今週は、その記事に出てきたリスナーグループ、ターゲットグループといったALBの各コンポーネントに対し、そのコンポーネントを作成することで何を設定しているのかに…

ALBでできるようになったコンテントベースルーティングとALBと連携したECSの動的ポートマッピングについて

ELBとCLBとALBの違い AWSのロードバランサで検索すると、ロードバランサを指す言葉に、ELB, CLB, ALBの3種類がでてきます。 この3種類の違いは、 ELB ... Elastic Load Balancing. サービス名。ELBの提供しているロードバランサのリソースにCLBとALBがある C…

AWSのAuto Scalingグループの概要について(概念に関する用語とスケーリングポリシーの種類)

今週はAuto Scalingグループの概要について調べました。 Auto Scalingグループ EC2 AutoScaling と Auto Scalingグループ はなんのためにあるのか EC2のインスタンスは起動時間に対して料金が請求される従量制の課金形式となっています。 なので、1日の負荷…

いままでのECSの起動モード(EC2起動モード)のネットワーク設定(bridge ネットワークモード)とFargate起動モードを利用した場合のネットワーク設定関連で嬉しいことについて

2017年11月14日にAWSがAmazon ECSのTask Networkingを発表*1し、その恩恵を受ける Fargate 起動タイプが2018年7月4日に東京リージョンでサービス開始となりました*2。 自分の職場でも一部サービスでFargate(with awsvpcモード)の採用が始まったのをレビュー…

AWS SQSのvisibility timeoutとdelay queueのdelayの違いについて

今週の復習です。 consumerがキューからメッセージを受信するリクエストを送った後、 通信の問題で結局受け取れなかった consumer側で処理中にエラーになって結局最後まで処理できなかった などの事態に備えるため、SQSのキューにあるメッセージはconsumerが…

ECSのタスク、サービス、クラスタ、コンテナインスタンスの意味についてまとめました

ECSのタスク、サービス、クラスタ... といった言葉の意味がいまいちよくわからなかったので、それぞれの言葉が指すインスタンスを作成するときに何を設定するかに基づいてまとめたメモです。 もとの説明をいい感じに引用して... とかの時間がなかったのでひ…

ライブラリ開発屋がAthenaを利用してログの収集分析をやりやすくした話

この記事はServerless Advent Calender 2017の16日目の記事です。 ライブラリ開発屋として仕事でAthenaを使ってログの収集分析をやりやすくした話をします。 はじめに 普段は開発者としてiOS/Android両対応のモバイルアプリ向けのライブラリの開発やテストを…

Athenaでクエリの実行結果を使い回すために最近投げたクエリとそのquery_execution_idを記録する

Amazon Athena では S3上にあるファイルをスキャンした量に応じた料金 + S3をスキャンするためにGETしたリクエスト数(+ファイル容量) に応じて課金されます。 また、Athenaでは一回SQLを実行した時に query_execution_id が発行され、同じ query_execution_i…

AWS CLIでAWS Athenaのクエリがデータベースが見つからないためになんども失敗する場合は結果出力先のS3のバケットのregionを確認する

俺の屍を越えていけ、的なメモ。 require 'aws-sdk-athena' client = Aws::Athena::Client.new begin start_response = client.start_query_execution({ query_string: "SELECT * FROM samples limit 10", query_execution_context: { database: "mydatabase…

Amazon Athenaについて少し調べたのでメモ

まとまってないですが、忘れる前にメモ。 Amazon Athena とは Amazon S3に入ったCSVやJSONをAthena上で定義したスキーマに沿ってSQLで検索できるようにしてくれるクエリサービスです。 Athenaはサーバーレスのサービスで、利用するまでに最低限必要なステッ…