AWS

React+Amplify+CognitoにGoogle認証を追加する

はじめに React + Amplify + Cognito でのユーザー認証も大分調査が進んできました。 www.aruse.net 今度は、Google の OAuth 認証を追加したいと思います。 調べてみたのですが、情報が英語圏を含めほとんどない。 断片情報を組み合わせて試行錯誤したらう…

React+Amplify+Cognitoでアプリケーションをユーザー認証でガードする

以下の記事で、React + Amplify + Cognito のユーザー認証を日本語化するところまできました。 www.aruse.net この記事では、React のアプリケーションをユーザー認証でガードする方法をご紹介します。 具体的に言うと、サインインしていないユーザーにはサ…

React+Amplify+Cognitoのサインイン画面を日本語化する

以下の記事で、React + Amplify + Cognito でユーザー認証を行うことができるようになりました。 www.aruse.net 一方で、Cognito でデフォルトで用意された画面は以下のように英語表記になっていて、このままでは使い物になりません。 ですが、Cognito のサ…

React+Amplify+Cognitoでユーザー認証を実装する

はじめに React + AWS Amplify + Cognito でユーザー認証を行うアプリを作ってみたいと思います。 Amplify は AWS のサービスを便利に使用できる JavaScript ライブラリで、Cognito は AWS でユーザー認証を行えるサービスになります。 この記事では、TypeSc…

TypeScriptのReactでAmplifyを使おうとしたらエラーでハマったのでその解決方法

はじめに React の TypeScript をベースとしたプロジェクトで、AWS Amplify + Cognito でユーザー認証のサンプルを動作させようとしたらエラーが頻発してハマってしまいましたので、解決方法のメモを残しておきます。 ちなみに TypeScript な React プロジェ…

Reactで画像ファイルをS3からAPI Gateway+Lambda(C#)経由でダウンロードする方法

はじめに 以下の記事で、React で画像や Excel ファイルを API Gateway + Lambda(C#) 経由で S3 にアップロードする方法をご紹介しました。 www.aruse.net せっかくですので、S3 から画像ファイルを API Gateway + Lambda(C#) 経由でダウンロードする方法も…

Reactで画像やExcelをAPI Gateway+Lambda(C#)でアップロードしてS3に保存する方法

はじめに React を使い画像ファイルや Excel ファイルなどのバイナリファイルを、AWS の API Gateway と Lambda (C#) を経由してアップロードし、S3に保存する方法を調べたので記事として残しておきます。 この方法ですが、ネット上に全くといっていいほど情…

JavaScriptコードから機密情報の設定値を外出しするdotenvという便利ツール

AWS

はじめに JavaScript でプログラムを書いていると機密情報を含んだ設定値を記述することがあります。 私の場合は、AWS のアクセスキーなどでした。 それでいろいろと調べていたところ、JavaScript のコードでprocess.env.XXXXXという記述を何度か見かけまし…

ReactのSPAをS3+CloudFront環境に自動デプロイする方法

はじめに 以下の記事で、Amazon S3 と CloudFront を使って HTTPS でサイトを独自ドメインで公開する方法が分かりました。 www.aruse.net では、React の SPA (Single Page Application)を S3 + CloudFront 環境にデプロイしてキャッシュをクリアするまで自…

C# のLamda関数でExcelファイルをS3から読み込む方法

はじめに 個人プロジェクトで C# の Lamda 関数を使う予定なのですが、いやぁ情報が少ないですね。 今回も S3 にアップロードした Excel ファイルを読み込もうとしたのですが、そもそも S3 のファイルを C# で扱う方法がほとんど見つからない。 まあ、そんな…

Lambda(C#),DynamoDBでAuto Increment(アトミックカウンター)する方法

DynamoDB には、他の RDBMS のようなシーケンス番号で KEY を管理する Auto Increment の機能は残念ながらありません。 ですが、それを補う方法として、シーケンス番号を管理するテーブルを作成しておき、カウントアップ更新時にカウントアップした値を返す…

Lambda関数(C#)でDynamoDBにDeleteItem(データ削除)する方法

Lambda 関数(C#)で DynamoDB にアクセスして DeleteItem (データ削除)する方法をメモしておきます。 まず、DynamoDBのItemIdというテーブルを以下のように作成します。パーティションキーはidで、_versionはキーではない属性になります。 項目は以下のように…

Lambda関数(C#)でDynamoDBにUpdateItem(データ更新)する方法

Lambda 関数(C#)で DynamoDB にアクセスして UpdateItem (データ更新)する方法をメモしておきます。 まず、DynamoDBのItemIdというテーブルを以下のように作成します。パーティションキーはidで、_versionはキーではない属性になります。 項目は以下のように…

Lambda関数(C#)でDynamoDBにPutItem(Insert/データ追加)する方法

Lambda 関数(C#)で DynamoDB にアクセスして PutItem (Insert/データ追加)する方法をメモしておきます。 まず、DynamoDBのItemIdというテーブルを以下のように作成します。パーティションキーはidで、_versionはキーではない属性になります。 Lambda 関数(C#…

Lambda関数(C#)でDynamoDBにアクセスしてGetItemする方法

Lambda 関数(C#)で DynamoDB にアクセスして GetItem しようとしたのですが、やたらと苦労したのでメモを残しておきます。 まず、DynamoDBのItemIdというテーブルを以下のように作成します。パーティションキーはidで、_versionはキーではない属性になります…

Lambda関数(C#)でNugetパッケージを追加した場合のAWSへのアップロード方法

AWS Toolkit for Visual Studio で C# の Lambda 関数を作成したのですが、Visual Studio からアップロードするとエラーとなってしまいました。 原因は、Nuget で新しいパッケージをインストールしたことですが、アップロード時になぜか参照が外れてしまいコ…

Fix:コマンド "dotnet-lambda" に一致する実行可能ファイルが見つかりません

以下のコマンドを実行して、Lambda関数のデプロイ用ファイルを作成しようとしたところ、表題のエラーが発生してしましました。 > dotnet lambda package --configuration Release --framework netcoreapp2.1 コマンド "dotnet-lambda" に一致する実行可能フ…

C# のLambda関数でDynamoDBを扱うにはNugetパッケージのインストールが必要

ちょっと悩んだので、メモとして残しておきます。 C# の Lambda 関数で DynamoDB へアクセスしようとしたのですが、Amazon の名前空間に DynamoDB に該当するものが存在しませんでした。 なにかインストールする必要があるのかと思って調べてみたところ、以…

C# のLambda関数でログの出力先をTest FunctionのLog outputエリアに出力する方法

地味に引っかかりそうなので、メモに残しておきます。 C# のLambda関数は Test Function で動作確認すると思いますが、ログの出力先をTest FunctionのLog outputエリア(下図)に出力したい場合は、Console.WriteLineでは出力できません。 Test FunctionのLo…

AngularのSPAをS3+CloudFront環境にデプロイしてキャッシュクリアする方法

はじめに Angular な SPA を Amazon S3 + CloudFront にホストするのはいいですが、じゃあデプロイはどうするのとなって行き詰まっていました。 www.aruse.net いろいろ調べてみたところ、Angular の SPA を自動でデプロイして CloudFront のキャッシュもク…

AWS Lambda関数をC#で書いて実行するまで

AWS

はじめに みなさん、AWS Lambda 使っていますか? 私は、始めたばかりです。 自分は C# で書きたいのでネットで情報を集めてみたのですが、ほとんどないですね。 サーバーレスアーキテクチャがまだメジャーになっていないのに、その中でマイナーな C# ですか…

Fix: JsonSerializerException in Lambda C#

AWS

An exception has occured in my Lamda function with C#. { "errorType" : "JsonSerializerException", "errorMessage" : "Error converting the Lambda event JSON payload to a string. JSON strings must be quoted, for example \"Hello World\" in ord…

AWSでMFAデバイスのスマートフォンが紛失・故障した場合の復旧方法

AWS

はじめに AWAで Multi-Factor Authentication (MFA, 多要素認証)を有効にしたのですが、ふと「あれ?MFAデバイスのスマートフォンが壊れた時、ログインできなくなるんじゃない?」と思い調べてみたところ解決策がありました。 ルートユーザーなら別の方法で…

「 #AWSをはじめよう 」はAWS初心者のバイブルになる本 #技術書典

先日、技術書典に行ってきました。当日の様子は下記記事をご覧ください。 www.aruse.net 今回、一番の目的であった戦利品の「AWSをはじめよう」を読み終わったので、その感想などを書いてみます。 「AWSをはじめよう」は、BOOTH で販売されているので、入手…

Udemyの「手を動かしながら2週間で学ぶ AWS 基本から応用まで 」を受講してとてもよかったのでオススメ

Udemyの「手を動かしながら2週間で学ぶ AWS 基本から応用まで 」をだいたい2週間くらいかけて受講しました。 www.udemy.com このコースの価格は15600円のところ、セールで1300円で購入することができました。 Udemyはちょくちょくセールをやっているような…

CloudFrontのキャッシュをすぐにクリアする方法

AWS

CloudFront + S3 で静的サイトを公開している場合、CDN でコンテンツがキャッシュされているのですぐには更新が反映されません。 ですが、更新作業の後などですぐに反映したい場合は困ってしまいます。 この記事では、CloudFront でキャッシュをすぐにクリア…

Amazon S3+お名前.comで独自ドメインのサイトを無料でHTTPS化する方法

AWS

はじめに この記事は、Amazon S3で作成した静的サイトを、お名前.com で取得した独自ドメインで公開し、無料で HTTPS 化する方法をご紹介します。 なぜ、HTTPS化で必要な SSL/TLS 証明書が無料で使用できるかというと、AWS Certificate Manager(ACS)で発行し…

AWSでVPCを使いEC2のWeb/DBサーバーを立てる

AWS

はじめに この記事は、VPC(Virtual Private Cloud) を使い、Amazon Web Services (AWS) で Web サーバーと DB サーバーを構築する方法についてご紹介します。備忘録を兼ねたものになります。 SSH の操作などは Mac で行っていますが、Windows でもツールを使…