公開日 2017.10.5更新日 2017.11.4カテゴリ:AWSタグ:AWS,EC2,IAM,role
この記事は Retty Advent Calendar 21日目です。 昨日は、@ebonyeyeさんの 手のひらスパコンでKeras-Tensorflowを使ってみるでした。 最近の機械学習ライブラリはいろんなところで動きますね。 Cognitoって何? https://aws.amazon.com/jp/cognito/ AWSのサービスで、ユーザー認証や情報を取り扱うサービスです。 大きな機能は2つ ユーザー認証 FacebookやTwitterなどのソーシャルログインを一括管理してくれます。 その他にもゲストユーザーや独自ログインなどを作成することもできます。 ストレージ 管理しているユーザーに対して個別にストレージを提供できます。 Firebaseなんかにあるのと同じよくあるやつです。 Cognitoを使うと何がうれしい? セキュア パスワードや個人情報の管理をCognitoにま
最近はサーバーレスアーキテクチャに触れることが増えています。その中で、ついて回ることが多い機能が 認証 です。どのようなシステムを構築するかによって認証方式も変わってくるかと思いますが、方法のひとつとして 自社でもっている認証基盤に対して、ユーザーIDとパスワードを使ってログインしてもらう という方式があります。AWS においては Amazon Cognito がその要件をかなえる筆頭サービスです。ただ、私自身、Cognito がどのような機能を提供しているのか、実際の利用例としてどんなものがあるか、把握できていないことも多かったので、整理した上で自分でも実際に試してみることにしました。 Cognito を時系列で振り返る まずは Cognito が発表されてから現在に至るまで、どのような機能が追加されてきたのか振り返ってみます。なお、以下に記載する内容は、Document History
Cognitoの認証情報をLambdaで受け取る為の覚え書き。 やりたいこと Cognito(User Pool)でログイン ログインしたユーザーでAPIを叩く 叩かれたAPIから実行されるLambda関数の中で、認証情報を取得したい。すごくしたい。 API Gateway でログインを要求する設定は可能なので、(非ユーザーがそのAPIを叩いてもエラーが返される様になる)そのログインしているユーザーをLambdaに伝える事が出来ればOKですね。 1. API Gateway でユーザーログインを要求する様にする オーソライザーのセットアップ ユーザープールを作成しておく API Gateway のコンソールで「オーソライザー」を選択 「作成」から「Cognito ユーザープールオーソライザー」を選択 認証に用いるユーザープールを選択して「作成」する メソッドのセットアップ 任意のリソースの
公式ドキュメントに書いてあるままなのですがドハマリしたのでメモ https://serverless.com/framework/docs/providers/aws/events/apigateway#enabling-cors sls create --template aws-node でプロジェクトを作って… serverless.yml で cors: true を設定する functions: hello: handler: handler.hello events: - http: path: user/create method: get cors: true exports.handler = function(event, context, callback) { const response = { statusCode: 200, headers: { "Acces
Cross-origin resource sharing (CORS) は、ブラウザで実行されているスクリプトから開始されるクロスオリジン HTTP リクエストを制限するブラウザのセキュリティ機能です。詳細については、「CORS とは」を参照してください。 CORS サポートを有効にするかどうかを決定する クロスオリジン HTTP リクエストは、以下に対して行われます。 別のドメイン (例: example.com から amazondomains.com へ) 別のサブドメイン (例: example.com から petstore.example.com へ) 別のポート (例: example.com から example.com:10777 へ) 別のプロトコル (例: https://example.com から http://example.com へ) API にアクセスで
どうも!大阪オフィスの西村祐二です。 以前下記のようなブログを書きました。 Angular+Cognitoで作るログインページ– ClassmethodサーバーレスAdvent Calendar 2017 #serverless #adventcalendar Angular6になったり、いろいろ古くなってきたので、バージョンアップしたもので書き直したいと思います。 今回:AWS Amplify+Angular6+Cognitoでログインページを作ってみる ~バックエンド編~ AWS Amplify+Angular6+Cognitoでログインページを作ってみる ~フロントエンド編①~ AWS Amplify+Angular6+Cognitoでログインページを作ってみる ~フロントエンド編②~ AWS Amplify+Angular6+Cognitoでログインページを作ってみる ~UI編~
サーバレスWebアプリケーションを手軽に構築 ※この記事は2017年のServerless Advent Calendarの記事として投稿したものです。そのため、AWS AmplifyとAPI Gatewayの組み合わせでの認証を交えた使い方を説明したものとなっています。 AWS Amplify + AWS AppSyncでの認証を交えた使い方などをお調べの方は、2018年のServerless Advent Calendarの記事として投稿したこちらの記事をご確認ください。 これまでの問題 WebアプリでCognito Identity Pool + Cognito User Poolを使う場合、複数のJSを読み込む必要がある API GatewayのIAM認証をしている場合、SignV4での署名が複雑になる API Gatewayで生成されるSDKを使ってリクエストをする場合、複数のA
Serverless Framework でのAPI Gateway + Lambda + DynamoDB構成をローカル環境で開発する Serverless Frameworkでの開発の際、ローカル環境で実行させることでAWSのコストを発生させないようにするセットアップ手順を紹介します。 Serverless Frameworkとは自分でやろうとすると結構面倒な、API Gatewayの設定、Lambda関数の作成を自動的に行なってくれるフレームワークです。 アプリケーションのコードど簡単な設定ファイルを用意すればすぐにAWS上に公開することができ、より一層Serverlessが普及していくのではないかと思います。 内部的にはCloudFormationのスタックが作成されてデプロイが行われるようですが、あまり内部の動作は気にせずに使うことができます。 インストールはNPMから行います。
Automatically create AWS and Azure architecture diagrams in secondsTry Cloudcraft FreeRequest a Demo Whether you’re building a cloud architecture from scratch, documenting your current environment, or looking to optimize cloud cost, Cloudcraft allows you to visualize and communicate your architecture with ease. Build diagrams from scratchCreate a professional architecture diagram in minutes with a
前置き 私の勘違いが書かれている可能性がありますが、ご指摘頂けると大変喜びます。特に「いや、それはこうやったらできるよ」という情報をお待ちしております。 あらすじ Serverless Framework 使って個人サイトを作ろうとしたら DynamoDB で若干手間取ったので後世のエンジニアの為に備忘録を残します。 DynamoDB について DynamoDB は優れた分散データベースです。バックアップやスケールアップなどに時間を割く必要がないように工夫されたサービスです。なんですが、これまでの RDS や KVS とは注力されている箇所が違うで少し使いづらい部分があります。 パーティションキーの概念 DynamoDB では Pagination がしづらいです。できなくは無いのですが RDS と少し違うところがあります。検索条件にインデックスが含まれていないと正しい件数を取得できません
概要 前回の続きです。今回はだいぶ長い記事になってしまいました。 前回の結果 boto3のPaginatorを使って、Webのページングに使うインデックスが作れないか試してみた。 Paginatorの仕組み上、フィルタを適用できず、またクエリの効率も悪い。 今回やってみること 自分でクエリを発行し、フィルタに対応したインデックス生成の処理を作る。 Paginatorと同じような機能を盛り込んでみる。 結果 最終的には思い通りのものが作れたが、効率的に使うためには使い方を考える必要がある。 インデックスからページを取得する場合の検索範囲を最小限に抑えるために、ページの起点と終点両方のキーが必要になる。 Table.queryの出力はPaginatorよりシンプルになるが、json出力には変換が必要になる。(後述) 結論 これ以上複雑なことをするならRDBMSの使用を考えた方がいいと思う。 環
※: 本表は現在確認できる情報から筆者が独自に作成しています。 注意 Aurora ServerlessのData APIは現在Beta版のため、変更される可能性があります。 Data APIではトランザクションはサポートされません。 レスポンスは最大1,000行で1MBのサイズ制限があります。 現在利用可能なリージョンは米国東部 (バージニア北部)のみです。 コネクションは最大1分でタイムアウトします。 認証情報はSecrets Managerを使ってDBに接続します。 やってみた 事前設定 以下の状態を前提とします。 リージョン: 米国東部 (バージニア北部) Auroraエンジン: Aurora Serverless 5.6.10a まず、Aurora Serverlessを起動します。Aurora Serverlessの起動方法は以下のエントリを御覧ください。 Aurora Ser
Serverless Frameworkで開発したアプリケーションをCodeシリーズを使ってAWS上にデプロイしてみます。 デプロイ対象のServerless Frameworkのサービスは前回のエントリ初めてのサーバーレスアプリケーション開発 ~Serverless Framework を使ってAWSリソースをデプロイする~で作成したものを利用します。 前提となる知識もありますので、必要に応じて以下のエントリも参考にしてください。 初めてのサーバーレスアプリケーション開発 ~DynamoDBにテーブルを作成する~ 初めてのサーバーレスアプリケーション開発 ~LambdaでDynamoDBの値を取得する~ 初めてのサーバーレスアプリケーション開発 ~API GatewayからLambdaを呼び出す~ 初めてのサーバーレスアプリケーション開発 ~Serverless Framework を使
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、AWS アカウント にプライベートネットワークを作成して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Amazon Relational Database Service (Amazon RDS) インスタンス、Amazon ElastiCache インスタンスなどのリソースをホストできます。リソースを含むプライベートサブネットを介して関数を VPC にアタッチすることで、Lambda 関数に Amazon VPC でホストされているリソースへのアクセスを許可できます。Lambda コンソール、AWS Command Line Interface (AWS CLI)、または AWS SAM を使用して Lambda 関数を Amazon V
AWS News Blog New – Access Resources in a VPC from Your Lambda Functions A few months ago I announced that you would soon be able to access resources in a VPC from your AWS Lambda functions. I am happy to announce that this much-wanted feature is now available and that you can start using it today! Your Lambda functions can now access Amazon Redshift data warehouses, Amazon ElastiCache clusters, A
AWS LambdaのVPC内リソースへのアクセスが可能になるアップデートが行われました。これは昨年のre:Inventで発表のみされていたものの、その時点ではまだ使えず非常に多くの人がそのリリースを待ち望んでいた機能です。基本的な内容はこちらのブログ記事を参照頂くとして、ここではいくつかキーとなるポイントを簡単に紹介したいと思います。 概要 ブログを読んでもらえばわかるのですが簡単に説明すると、これまでAWS LambdaのファンクションはVirtual Private Cloud(VPC)内にあってパブリックなIPを持っていないAWSリソースにはアクセスできませんでした。従ってAWS Lambdaからデータベースにアクセスしようとした場合にはデータベースサーバのIPアドレスやポートをパブリックにした上でアクセスを許可する必要がありました。一方でAmazon ElastiCacheのよう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く