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

  • [2022年最新版]Lambdaの裏側教えます!!A closer look at AWS Lambda (SVS404-R) #reinvent | DevelopersIO

    [2022年最新版]Lambdaの裏側教えます!!A closer look at AWS Lambda (SVS404-R) #reinvent Lambdaファン必見 Worker ManagerをAssignmentサービスに置き換えた話、SnapStartの裏側でSparse filesystemを利用している話など、Lambdaの裏側がどうアップデートされたのかが分かります CX事業部@大阪の岩田です。今年のre:inventは現地参加できなかったのですが、毎年楽しみにしていたLambdaの裏側を解説するセッションSVS404(番号は年によって微妙に違います)の動画がYoutubeにアップされていたので、さっそく視聴しました。これまで言及されてきた内容に加えて新たな解説も増えているので改めてレポートをブログにまとめます。 セッション動画 セッション動画はこちらから確認可能です

    [2022年最新版]Lambdaの裏側教えます!!A closer look at AWS Lambda (SVS404-R) #reinvent | DevelopersIO
  • AWS公式の無料EラーニングでAPI Gateway REST APIを網羅的に学ぶ | DevelopersIO

    Amazon API Gateway について紹介し、API を作成してデプロイする方法を学習していただける無料デジタルコース Amazon API Gateway for Serverless Applications (Japanese) - 75min をローンチしました? 認定インストラクターが日語でスタジオ収録していますので是非!https://t.co/emJoRhImIH pic.twitter.com/3zEnTb6WI8 — Wataru Nishimura (@kuwablo) January 27, 2021 上記で紹介されているAPI Gatewayを学べるEラーニングを受講したのでレポートします。 Amazon API Gateway for Serverless Applications (Japanese) 良かったこと 体系的に学べる API Gatewa

    AWS公式の無料EラーニングでAPI Gateway REST APIを網羅的に学ぶ | DevelopersIO
  • 3〜4時間でAWSの監視系のサービス一気に学べたらコスパ良いと思いませんか | DevelopersIO

    突然ですが、以下の機能がそれぞれどういうものか すべて ご存知でしょうか? CloudWatch ServiceLens X-Ray CloudWatch Contributor Insights CloudWatch Synthetics CloudWatch Container Insights CloudWatch Logs Insights CloudWatch メトリクス Metric Math 検索式 カスタムメトリクス CloudWatch ダッシュボード CloudWatch 異常検出(Anomaly Detection) CloudWatch 埋め込みメトリックフォーマット CloudWatch アラーム 異常検出に基づいたアラーム 複合アラーム 私はわからなかったですね。ここ 1〜2年のCloudWatch系のアップデート量は凄まじいなと個人的には思っていて、Cloud

    3〜4時間でAWSの監視系のサービス一気に学べたらコスパ良いと思いませんか | DevelopersIO
  • AWS システム構築 非機能要件ヒアリングシートを公開してみた | DevelopersIO

    こんにちは。 ご機嫌いかがでしょうか。 "No human labor is no human error" が大好きなネクストモード株式会社の吉井 亮です。 日国内においても多くのシステムがクラウド上で稼働していることと思います。 俊敏性、拡張性、従量課金、IaS、セキュリティなどクラウドのメリットを享受しやすい所謂 SoE で多くの実績があるように感じます。 ここ1~2年は、社内基幹システム・情報システム、SoR 系のシステムのクラウド移行が格化してきたというのが肌感覚であります。 クラウドでのシステムインフラ構築は従来のようにゼロから非機能要件定義を行っていくものではなく、ベストプラクティスをまず実装して少しずつ微調整を行っていくものと考えています。とはいえ、システムごとの要件は予め明らかにしておくことがインフラ構築においても重要になります。 クラウド上では出来ること出来ないこと

    AWS システム構築 非機能要件ヒアリングシートを公開してみた | DevelopersIO
  • VSCodeの秘伝のワザを大公開! | DevelopersIO

    こんにちは!CX事業部の片岡です。 エディタ戦争が終息して5年たった今、無血革命と呼ばれたVisual Studio Codeをご存知でしょうか?皆様ご愛用のことと存じます。 そんなVisual Studio Codeの便利なショートカットと拡張機能を紹介します! よく使うショートカットの紹介 拡張機能「Sublime Text Keymap and Settings Importer」をインストール前提の話です。 https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings 編集時によく使うショートカット 文字選択 Command + D :文字を選択(入力するたび選択中の文字を複数選択できます) Command + U :文字選択のUndo(選択前に一つ戻ります) Command +

    VSCodeの秘伝のワザを大公開! | DevelopersIO
  • Lambdaのメモリ割り当てを自動で最適化!!AWS Lambda Power Tuning | DevelopersIO

    CX事業部@大阪の岩田です。re:invent2019のセッションで知ったAWS Lambda Power Tuningを試してみたので簡単にご紹介します。 AWS Lambda Power Tuningとは? Lambdaのメモリ割り当てを自動で最適化するためのツールです。Step Functionsを利用して対象のLambdaを様々なメモリ設定で実行し、どの設定値が一番パフォーマンスが良いのか?どの設定値が一番コスト効率が良いのか?といった情報をレポートしてくれます。 なにが嬉しいの? Lambdaのチューニング手法として割り当てるメモリサイズを増やすという手法が広く知られています。メモリサイズを増やすことで、Lambda実行環境のCPUパワーや、利用可能なNW帯域が向上します。また、メモリサイズを増やすことで処理時間が短くなり、結果的にコストが下がるという効果も期待できます。しかし

    Lambdaのメモリ割り当てを自動で最適化!!AWS Lambda Power Tuning | DevelopersIO
  • Lambdaの内部アーキテクチャ教えます!A serverless journey: AWS Lambda under the hood #SVS405 #reinvent | DevelopersIO

    CX事業部の岩田です。 昨年re:inventから帰国後にyoutubeで見つけたセッション「A Serverless Journey: AWS Lambda Under the Hood」が非常に興味深い内容でした。今年も同様のセッションが無いかre:inventのセッション予約開始前からチェックしていたところ、なんと今年も同じタイトルのセッションがありました。これは現地で聞くしかない!ということで聞いてきましたので、改めてセッション内容をまとめてレポートします。 資料 セッション動画 スライド A Serverless Journey: Under the Hood of AWS Lambda 例年ならSlide Shareで公開されるのですが、今年に関しては今のところSlide Shareには上がっていないようです。なお以後登場する画像のほとんどはこちらのスライドからの引用となりま

    Lambdaの内部アーキテクチャ教えます!A serverless journey: AWS Lambda under the hood #SVS405 #reinvent | DevelopersIO
  • 全人類(とまでは言わないけどAWSエンジニア)はAWS Loftに一度は行くべき #AWSLoft | DevelopersIO

    飛行機に乗るたびに風邪を引くもこ@札幌オフィスです。 初めてAWS Loftに来ていて、とても仕事が捗っている気がするので、AWS Loftはいいぞという主張をしたいと思います。 AWS Loftに行こう。 弊社からも何AWS Loftに関するブログが出ていますが、改めて書かせていただきます。 オープンしたてのAWSスタートアップ向け施設「AWS Loft Tokyo」でリモートワークしてみた #awsloft GO 目黒駅から徒歩数分で到着します! 外見はこんな感じ(いかつい) チェックイン 3階のオフィスエントランスで警備員の方に「AWS Loftに来ました!」というと、エレベーターのあるゲートを通してもらえます。 そのままエレベーターで17階まで上がります。 入るとこんな感じで、正面にはAmazon Basicなどのデモ商品がずらりと並んでいます。 Amazonの倉庫ロボットも展

    全人類(とまでは言わないけどAWSエンジニア)はAWS Loftに一度は行くべき #AWSLoft | DevelopersIO
  • Lambdaのhandler外(メソッド以外)のコードは「コールドスタート時の1回だけ実行される」という話 | DevelopersIO

    Lambdaのhandler外に、ライブラリの初期化コードなどを書く場合があります。 普段、何気なく書いていますが、Lambdaの仕組み的にhandler外(メソッド以外)のコードはコールドスタート時の1回だけ実行されます。 そのため、「現在時刻を変数に初期設定したとき、意図的に更新しない限り、Lambdaが複数回実行されても同じ時刻を指す」という状態になったりします。 注意:同じLambda環境の場合です。新しいLambda環境で実行される場合(スケールアウト、コード変更、時間経過など)は、それぞれのLambda環境で1回目と2回目以降で同様です。 実際に試してみました。 最初に結論 弊社岩田の資料より 下記の発表資料が超わかりやすいです!(他の内容もタメになるのでおすすめです!) Serverless Meetup Osaka #5 で「VPC Lambda×RDSのデメリットについて

    Lambdaのhandler外(メソッド以外)のコードは「コールドスタート時の1回だけ実行される」という話 | DevelopersIO
    yshdyk11202000
    yshdyk11202000 2019/09/27
    え、そうなんだ
  • Serverless FrameworkのExampleを見て、サーバーレスの様々な実装を学ぼう | DevelopersIO

    概要 CX事業部の佐藤です。 Serverless FrameworkではExampleとして、さまざまなサーバーレスの実装パターンを公開しています。実際に業務で使用するようなサーバーレス実装が多数ありサンプルコードが公開されているため、実際に動かしてみたりソースコードを見たりして学ぶことができ、とても参考になります。 サンプルコードはGitHubリポジトリに公開されています。 https://github.com/serverless/examples オーソドックスなサーバーレス実装パターン Exampleのサーバーレスのサンプルパターンの中からオーソドックスな実装パターンを一覧にしてみました API GatewayLambda、DynamoDBを使用したシンプルなREST API Cognito、Auth0を使用したカスタムオーソライザー Kinesis Data Streamと

    Serverless FrameworkのExampleを見て、サーバーレスの様々な実装を学ぼう | DevelopersIO
    yshdyk11202000
    yshdyk11202000 2019/09/21
    Auth0も勉強せねば。
  • API Gateway バックエンドのLambdaにおけるジレンマをLayerで解決する | DevelopersIO

    渡辺です。 Developers.IO Cafeのブログドキュメントシリーズ第3弾は、Lambdaの構成に関するトピックです。 Lambdaは小さな独立した処理(プログラム)を実行するには適したサービスです。 一方、多くの関連する処理を行うAPI Gatewayのバックエンドとして利用する場合、必ずしも適したサービスとは言えません。 例えば、一般的なウェブアプリケーションフレームワークでREST APIを構築したとしましょう。 フレームワークは、単一アプリケーションとしてサーバ上で実行されます。 リクエストは、フレームワークでルーティングを解決され、対応する処理(アクション)がキックされます。 前段にELB等のロードバランサが入ることもありますが、雑に言えばこういう仕組みです。 このよう場合、 共通処理を切り出し、各処理から呼び出す構成にする のが一般的です。 そうしなければ、各処理のコー

    API Gateway バックエンドのLambdaにおけるジレンマをLayerで解決する | DevelopersIO
  • AWS CDKでWeb3層アーキテクチャを作成してみた | DevelopersIO

    はじめに おはようございます、加藤です。これまで、エンジニアとしてのキャリアは全てインフラエンジニアでしたが、今月からプログラマーとしてのロールを希望してゼロから再スタートしております。 今回、AWS CDK(以降、CDK)を使って典型的なWeb3層アーキテクチャを構築してみたので、こだわったポイントや使う過程で理解した事をご紹介します。 リポジトリはこちらです。 kmd2kmd/aws-cdk-ec2_web3tier ある程度CDKを理解されている方を前提として書いております。下記のブログを読む、Workshopを試した経験がある程度の理解が必要です。 AWS CDK が GA! さっそく TypeScript でサーバーレスアプリケーションを構築するぜ【 Cloud Development Kit 】 | DevelopersIO TypeScript Workshop :: AWS

    AWS CDKでWeb3層アーキテクチャを作成してみた | DevelopersIO
    yshdyk11202000
    yshdyk11202000 2019/07/28
    CDKとても好きなので広まって欲しい。まだまだTerraformには勝ててない感じはしているが。CFnをラップするにももっと細かい設定が出来ないのが辛い。文法などはいい感じなので細かく設定が出来るようになれば。
  • AWS のグローバルインフラストラクチャがよく分かる!3D AWS Infrastructure Map のご紹介 | DevelopersIO

    Availability Zones(アベイラビリティゾーン) 青い点で示されているものがアベイラビリティゾーン(以降、AZ)を表します。 AZ は、リージョン内に存在するデータセンターのことを指し、リージョン内に複数存在します。他の AZ とは物理的に分離されており、例え災害が発生しても全ての AZ が停止することがないように設計されています。また、各 AZ 間は、高帯域、低レイテンシのネットワークで接続されており、EC2 インスタンスや RDS などのサービスでは、複数のアベイラビリティゾーンに配置することで可用性を高めることができます。ちなみに、このような構成をマルチアベイラビリティゾーン構成と言います。 Points of Presence(ポイントオブプレゼンス) ピンクの点で示されたものが Points of Presence(以降、PoP)を表します。 PoP は、エッジロケ

    AWS のグローバルインフラストラクチャがよく分かる!3D AWS Infrastructure Map のご紹介 | DevelopersIO
  • AWSサービス毎の請求額を毎日Slackに通知してみた | DevelopersIO

    事前準備 下記の設定を行います。 AWS請求の設定 Slackの設定 AWS請求の設定 ルートアカウントでログインし、設定画面から「コストエクスプローラ」を有効にします。 Slackの設定 チャンネルの作成 通知先のチャンネルを作成します。ここでは、チャンネル名を#aws-billingとしています。 Incoming Webhookの追加 Incoming Webhookの設定を行います。 通知先チャンネルから「アプリを追加する」を選択します。 アプリとしてIncoming Webhookを検索します。 「設定を追加」を選択します。初回であれば画面は違うかもしれません。 投稿先のチャンネルを選択し、「incomming Webhookインテグレーションの追加」を選択します。 作成されたWebhook URLをメモしておきます。このURLに対して、特定フォーマットでPOSTすれば、Slac

    AWSサービス毎の請求額を毎日Slackに通知してみた | DevelopersIO
    yshdyk11202000
    yshdyk11202000 2019/02/19
    やる
  • Vimで変態テキスト処理!シェルコマンドを使い倒す | DevelopersIO

    Vimから外部のシェルコマンドを実行して出力結果を得たり、バッファ内のテキストの変換を行う方法を紹介しています。 はじめに こんにちは、データインテグレーション部の平野です。 私はテキストエディタにVimを使用しています。 Vimは敷居が高いと言われますが、ある程度慣れてくると普通のエディタとは明らかに異なる、Vimらしい編集方法がだんだんと身についてくるものです。 今回はVimから外部のシェルコマンドを実行してテキスト編集する手段についてご紹介します。 なお、Vimには色々なプラグインが公開されておりますが、ここで紹介する方法はあくまでもVimのオリジナル機能ですので、その場ですぐ試すことができます。 (lsコマンド等にはPATHが通っているという前提です) カレントディレクトリのファイル一覧を取得したい Vimでテキストを編集していて、カレントディレクトリのファイル一覧を挿入したい、と

    Vimで変態テキスト処理!シェルコマンドを使い倒す | DevelopersIO
    yshdyk11202000
    yshdyk11202000 2018/09/19
    やる
  • プライベートなEC2に一時的にSSHする3つの方法 | DevelopersIO

    おはようございます、加藤です。東京は気温が高くて過ごしやすいですね。 はじめに プライベートなセグメントに一時的にSSH接続する方法をご紹介します。 下図の様な構成です。publicには色々インスタンスはあるが自分は触ることができない場合の対処方法です。 パターン1 EC2の踏み台 あるあるパターンです。自分用の踏み台を作ります。 public_subnetにインスタンスを立てる インターネットからのSSH許可 インスタンスprivateのセキュリティグループ変更 bastionからのSSH許可 接続コマンドはこんな感じです。 ssh -oProxyCommand='ssh -W %h:%p ec2-user@ec2-13-x-x-x.ap-northeast-1.compute.amazonaws.com' ec2-user@ip-10-x-x-x.ap-northeast-1.comp

    プライベートなEC2に一時的にSSHする3つの方法 | DevelopersIO
    yshdyk11202000
    yshdyk11202000 2018/03/04
    おぉ、LBは考えてなかった
  • IAMロール徹底理解 〜 AssumeRoleの正体 | DevelopersIO

    さて、皆様はIAMにどのようなイメージをお持ちでしょうか。プロジェクトに関わる複数人で1つのAWSアカウントを扱う時、各メンバーに配布するアカウントを作れる機能。そして、その気になればアカウントをグループ分けし、権限を厳密に管理できる機能。といったところかと思います。 上記のユースケースで出てきた主なエンティティ(要素)はUserとGroupですね。IAMのManagement Consoleで見てみると、IAMはこれらの他にRoleやIdentity Providerというエンティティによって構成されているようだ、ということがわかります。今日はRoleにフォーカスを当てて、その実態を詳しく理解します。 IAM Role IAM Roleを使うと、先に挙げたIAMのユースケースの他に、下記のようなことが出来るようになります。 IAM roles for EC2 instancesを使ってみ

    IAMロール徹底理解 〜 AssumeRoleの正体 | DevelopersIO
  • EC2 Systems ManagerでAMIの日次取得をやってみた | DevelopersIO

    こんにちわ。大阪のガノタです。 EC2 Systems Managerの「Maintenance Windows」を使って、AMIを日次取得してみる機会があったのでご紹介します。 基的には、過去のブログエントリの組み合わせで実現可能ですが、今回は設定の最初から最後までご紹介したいと思います。 EC2 Systems Manager | 特集カテゴリー | Developers.IO 今回の概要 以下の内容で行ってみたいと思います。 特定タグの付いたインスタンスのAMIを日次で取得 対象はAmazon Linuxを利用 AMIの保持は3世代 指定世代よりも古いAMIは削除 AWS CLIでAMIの取得と簡易的な世代管理 手順の概要 主な作業項目は下記の通りです。 対象インスタンスにSSM Agentのインストール 対象インスタンスにタグ設定 IAM Roleの作成 メンテナンスウィンドウの

    EC2 Systems ManagerでAMIの日次取得をやってみた | DevelopersIO
    yshdyk11202000
    yshdyk11202000 2017/04/21
    lambda以外でも出来るんだ
  • Datadog APMが正式リリースされました #datadog | DevelopersIO

    APMとは APMはweb-Application Performance Monitoringの略称です。メモリやディスク使用量に着目するインフラ監視と異なり、リクエストを処理するために必要な、外部サービスや他の処理の呼び出しに着目する監視がAPMです。 どのようなWebアプリケーションでも、基準に差はありますが一定のスループットを求められます。「リクエストのn%がm秒以内にレスポンスを返し始めること」といったように、SLAの契約内容としてパフォーマンス要件が記載されている場合もあるでしょう。 遅いAPIは、エンドユーザから見れば動いていないのと一緒なのです。 また、昨今ではマイクロサービスのような設計が採り上げられています。ひとつのリクエストを処理するために沢山のサービスが連携して動作する場合、遅延や障害の原因をログのみから探るのは手間がかかります。 こういった理由から、APMを行いア

    Datadog APMが正式リリースされました #datadog | DevelopersIO
  • Terraformを利用したCloudWatch Alarmの管理 | DevelopersIO

    はじめに こんにちは、中山です。 最近CloudWatch Alarmを大量に設定する機会がありました。マネジメントコンソールでポチポチやるのはさすがにツライので、その設定作業にTerraformを利用しているのですが、なかなか便利だったのでエントリでご紹介したいと思います。 TerraformでCloudWatch Alarmを管理するメリット 以下に私が考えるメリットを記載します。 1. CIツール/サービスと連携できる 当然ですがTerraformのコードは単なるテキストファイルなのでVCSでバージョン管理可能です。つまり誰が/何時/何を目的に変更したのか管理できます。もちろんCloudTrailを利用すれば同じように変更履歴を管理できますが、検索性などを考慮するとこの用途にはVCSの方が向いていると思います。また、GitHubなどのリポジトリサービスで管理しておき、お好みのCIツ

    Terraformを利用したCloudWatch Alarmの管理 | DevelopersIO