サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
qiita.com/horike37
Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
Serverless Framework Enterpriseとは、サーバーレスアーキテクチャでの開発や運用をより簡単に、よりスピーディーに行うことを支援するためのダッシュボードです。 Serverless Frameworkでデプロイを行ったマイクロサービスに対して、様々な支援機能をダッシュボードで提供します。 以下のような機能が提供されています。 Serverless Insights いわゆるモニタリングのための機能です。現状ではLambdaの実行時間や実行数、エラーの状況をモニタリングできます Serverless Safeguards デプロイ時にセキュリティの観点から問題がある設定になってないかをチェックしてくれます。例えば、IAM Roleに*つかってないかとか、トークンのようなものを設定ファイルに直書きしてないかとか、あとはデプロイするstageやregionを制限すること
Serverless Frameworkv1.26.0がリリースされました。その内容を機能毎にまとめています。 Shared API 新たにShard APIという機能がリリースされました。これは既存のCloudFormation StackでデプロイされているAPI Gatewayを別のStackから参照することで、既存のAPIの配下に新たにAPIリソースを追加するという機能です。 Serverless Framework、というかCloudFormationには1つのStackにつき、200個までしかリソースが上げられないという制限があります。そしてAPI Gatewayのエンドポイントを大量に作ってその制限に引っかかるケースが多いようです。これに対応するための機能となります。 具体的には以下のようにprovider配下に参照したいAPI Gatewayの情報を定義することで機能が使え
概要 API GatewayとLambdaを使ったAPI開発時のCI/CDについての記事です。 僕がnode.jsを普段から使用しているため、解説はnodeがベースになっています。 https://github.com/horike37/serverless-api-integration-test-sample ソースはすべてGitHubに上がってますのでそちらもご確認ください。 CIで実施する内容 以下の内容をCIとして行うことを考えます。 ESLintによる構文チェック Mocha, Chaiを使用したユニットテスト APIをAWSへデプロイしてテストを行うインテグレーションテスト CDで実施する内容 以下のようなルールでデプロイのサイクルを回します。 Gitのdevelopmentブランチへのpushをテスト環境へのデプロイと想定。 構文チェックとユニットテストを実施。 ビルドが通
概要 こんにちは!この記事はServerless(2) Advent Calendar 2016の11日目の記事です。 ユーザの認証基盤を提供するサービスとして提供されているAmazon Cognito User Poolsは非常に柔軟にカスタマイズが出来る素晴らしいサーバレスなサービスなのですが、Tipsや細かいカスタマイズ方法をGoogleで検索してもあまり出てきません。 もう少し突っ込んだ使い方を書いた記事が世の中にあれば、 もっとこのサービスを皆が便利に使いこなせるようになるのでは、という思いでこの記事を書くことにしました。 それではよろしくお願いします! カスタマイズの基礎 僕がNodejsで実装することが多いのでNodeのSDKをベースに説明します。 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoId
はじめに(訳者より) この記事は2016/10/20に公開されたFuture of Serverless after 1.0の翻訳記事です。 まず、この翻訳記事を書くことに快諾頂いた(@goserverless)に感謝します。 この原文なのですが、Serverless Frameworkが1.0をリリースしてから次のゴールとして考えていることがまとめられています。 個人的にServerlessにコントリビューションする上で、また、日本のServerlessユーザやそのコミュニティに還元したいようなワクワクする内容だったため、翻訳して公開したいと考えました。 誤訳とかあれば指摘頂けると幸いです。 先週末、私たちはServerlessのバージョン1.0をリリースしました。このリリースに伴い私たちはこれからについてどのように考えているかを皆さんに共有することが重要だと感じています。 これはみなさ
概要 http://blog.serverless.com/serverless-v1-0-alpha1-announcement/ サーバレスな構成でアプリケーションをさくっと作れるServerless Framworkの1.0ALPHA版がリリースされたとのことで触ってみました。 インストール 以下のコマンドでインストールします
概要 AWS IoT Device Gatewayにpublishしたデータをwebsocket経由でブラウザでsubscribeして、グラフ化します。 Publisher topic_2というトピックに対して、0,1,2,3とカウントアップしたデータをpublishします。 var count = 0; const minimumDelay = 250; timeout = setInterval(function() { count++; device.publish('topic_2', JSON.stringify({ mode1Process: count })); }, minimumDelay); <html lang="ja"> <body> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11
概要 サーバレス構成でサービスを構築する際に便利なServerless Frameworkですが、コアからユニットテストを回すための方法は提供されていません。自分たちでテストの枠組みを定義する必要があります。今回はその方法の紹介です。 テスト対象のLambdaファンクションを作成する 以下のコマンドにてLambdaファンクションを作成します。今回は例としてhelloというファンクションを作ってみます。 $ serverless function create hello すると以下の様なディレクトリ構成が出来上がります。
概要 AWS Summit 2016 Chicago にてAmazon Cognitoの新機能として発表された「User Pools」を使ってwebサイトにユーザ認証基盤を作ります。User Poolsはサインインやサインアップ、セッション管理など、よくあるユーザ管理機能をマネージドで提供してくれるサービスです。 [New] Amazon Cognito 向け User Pools User Poolsの作成 [新機能] Amazon Cognito に待望のユーザー認証基盤「User Pools」が追加されました! 作成方法についてはClassmethodさんのブログに詳しく乗ってますので参考にしてください。 JavaScriptからUser Poolsの認証機能を使う時の注意点として、以下のAppsの作成でGenerate client secretのチェックを外してください。Java
決済はPayPalの定期購読処理を使います。PayPal APIとのやり取りをLambdaで実装する形です。 PayPal APIとのやり取りの流れ 注文画面でSetExpressCheckoutリクエストを送信 SetExpressCheckoutで作られたトークンを保存して、注文内容の確認画面にリダイレクト ユーザが注文を確定するとCreateRecurringPaymentsProfileを使用して定期購読 SetExpressCheckout paypal-ecのnodeモジュールを使用します。注文リクエストがユーザから送られるとAPI Gatewayを通してこのLambdaファンクションに処理を投げます。 var cred = { username : '<APIユーザ名>', password : '<APIパスワード>', signature : '<API署名>' }; v
※実運用では、登録日などの項目も持たせて、セッションタイムアウト時間も設けたほうが良いです。 Lambdaファンクション ログイン処理 入力値として、emailとパスワードを受け取ります。 ログインに成功すればセッションIDを返します。webシステムで使う場合はこのセッションIDをcookieに保存して引き回してあげましょう var aws = require("aws-sdk"); var doc = require('dynamodb-doc'); var crypto = require('crypto'); var dynamo = new doc.DynamoDB(); exports.handler = function(event, context) { if ( typeof event.email === 'undefined' || typeof event.passw
<form method="post" action="API Gatewayエンドポイント"> <input type="text" name="email" value=""/> <input type="password" name="password" value=""/> <input type="submit" value="Send"> </form> フォームの送信先にAPI Gatewayをセットします。HTMLフォームからAPIGatewayを使ってAWS LambdaにPOSTするを参考にして、POSTのデータをLambda側でjsonで扱えるように設定します。 正常に処理が終了すればサンキューページにリダイレクト DynamoDBにデータが登録できれば、サンキューページにリダイレクトするようにAPI Gatewayを設定しましょう。 Method Responseを
やること TwitterのストリームデータをKinesisを経由してDynamoDBに保存します。 DynamoDB Streamにデータを流し、ブラウザでストリームデータを可視化する 構成図 Twitter Stream → Kinesis → DynamoDB AWS Lambda Reference Architecture: Real-time Stream Processing awslabsのアカウントにそのままやりたいことがありました。動かすとKinesisにデータを流して、キャプチャの通りDynamoDBにデータを保存してくれます。 DynamoDB → DynamoDB Stream → Lambda → SNS http Notification DynamoDB Streamの有効化 キャプチャの箇所からDynamoDB Streamを有効化します トリガーを有効化し
[horike@horiketakahiro-no-MacBook-Pro elasticommerce-search-service]$serverless component create visible Serverless: Installing "serverless-helpers" for this component via NPM... Serverless: ----------------- serverless-helpers-js@0.1.0 node_modules/serverless-helpers-js └── dotenv@1.2.0 Serverless: ----------------- Serverless: Successfully created new serverless component: visible [horike@horike
Google AppsのSAMLアプリケーション設定 Googla Appsの管理コンソールにログインします。 アプリをクリックします。 Amazon Web Servicesを選択します IDPメタデータをダウンロードします。これを後でAWS側にアップロードするのでローカルに保存しておきます Amazon Web Services の基本情報及びサービス プロバイダの詳細は特に何も入力は必要ないです。そのまま「次へ」をクリックして進みます。 属性のマッピングは以下のキャプチャの通り設定します。 https://aws.amazon.com/SAML/Attributes/Role に従業員の詳細>役職を設定するのがポイントです。 以上でGoogla AppsのSAML設定は完了です。 AWSマネジメントコンソールの設定 IDプロバイダーの作成 これは、Googla Apps側の組織に関す
概要 アプリケーションフレームワークのServerlessを試してみたところ、ローカルでLambdaの実行やデプロイが可能だったので、今稼働しているAWS Mobile HubでAMIMOTOマネージドホスティングの管理をサーバレスにした話で書いたAMIMOTOの管理ツールで使っているLambdaファンクションをServerlessで再構築しました。 Serverless Frameworkのインストールと設定 サーバレスアプリケーションフレームワーク JAWS を使ってみる AWS Lambdaを活用したServerless Frameworkを触ってみる 上記の記事を参考にServerlessの初期インストールとセットアップを行います。 ServerlessでLambdaファンクションを作る AMIMOTO Mobileアプリケーションは以下の6つのファンクションで構成されています f
AMIMOTO + Amazon Elasticsearch ServiceでWordPressの検索機能をパワーアップするAWSElasticsearchAmimoto 全世界億千万人のAMIMOTOファンの皆様こんにちは! AMIMOTO Advent Calendar 2015 13日目の記事です。 WordPressの検索でまだ消耗してるの? WordPressの検索機能って、単純にタイトルと本文に対してlike検索を行うだけなのでそこまで精度は良くありません。 また、プラグインを使ってカスタムフィールドを検索対象にしたい場合もありますが、カスタムフィールドを構成するMySQLのテーブルがText型でカラムを持っており、いくつもカスタムフィールドをLike検索の対象にすると一気に検索が重たくなってしまいます。 この検索の精度は作るサイトの種類によっては結構困るんではないでしょうか。
概要 AWS Mobile Hubを使って社内にあるAMIMOTOマネージドホスティングのサーバをiPhoneアプリで一元管理するようにしました。 構成図 モバイルアプリからの指令でインスタンスの起動と停止とインスタンスサイズの変更が可能になってます。それらはすべてLambdaファンクションで処理させます。 CloudWatchのアラートが上がったらSNS経由でアプリにpush通知を送ります。 Cloud Logic Mobile Hub上で動くLambdaファンクションを管理してくれます。これチェックが付いているLambdaファンクションのみがアプリからのリクエストを受け取れるようになってます。 実際のLambdaファンクションは以下のような感じ var AWS = require('aws-sdk'); function startInstance(instance_id, conte
概要 さて、電子工作のHello Wordで有名なLチカ、LEDをつけてそれをチカチカさせるやつです。 これをAWS IoTを経由してやってみました。プログラム自体はnode.jsで書いています。 構成 手元のPCをクライアントとしてAWS IoTを経由して信号をラズパイに送り続けます。 ライトを点灯させたい時には「1」を。ライトを消滅させたいときは「0」を送信します。 これを繰り返して信号を送ることでチカチカさせるという仕組みです。 クライアント側のコード var count=0; device .on('connect', function() { const minimumDelay=100; timeout = setInterval( function() { count++; var led = count%2; device.publish('led', led.toStri
概要 AWS IoTの重要な機能のひとつにThing ShadowsというIoTデバイスの状態管理をしてくれる仕組みがあります。 AWS IoTのThing Shadowsを図と実行例で理解するを参考にして、AWS SDKでデバイスの状態を送信するコードと管理アプリケーションからあるべき状態を送信して、状態に差分が出たら通知を行うコードを書いてみました。 クラスメソッドさんの記事そのままだったりするのですが、powerというデバイスの状態を判定する項目を作ります。この項目に対して、onとoffという状態を使い分けてデバイスの状態をやり取りします。 まずは以下のソースが管理アプリケーション側のソースです。panpan-deviceというThing Shadowsを定義してAWS IoTに登録します。そして、{"state":{"desired":{"power":"on"}}という管理アプリ
概要 AWS IoTが発表されましたね!ってことで早速Raspberry Pi 2 Model BからAWS IoTを通してS3にデータをpushするサンプルデータで一連の流れを試してみました マネジメントコンソールからAWS IoTの設定をする まずはmanangement consoleからAWS IoTにアクセスして「Create Resoure」のボタンをクリックすると上記の画面になります。では、順に登録していきましょう Create a thing まずはデバイス自体の登録してあげましょう。Nameを最低限入力すればOKです。 入力してCreateをクリックすれば登録完了です。 Create a rule ルールを登録します。AWS IoTではRules Engineを通して必要なデータのみをフィルタリングしてデータのやり取りをします。これもSQLの形式になっているので直感的にわ
次のページ
このページを最初にブックマークしてみませんか?
『@horike37のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く