ホーム / サーバーレス / CloudFront + S3 + Cognito + AWS Amplify + Vue.js で会員制サイトをサーバーレスで構築
![CloudFront + S3 + Cognito + AWS Amplify + Vue.js で会員制サイトをサーバーレスで構築 | ハックノート](https://cdn-ak-scissors.b.st-hatena.com/image/square/e41b895cfecf6256d61d0d3690b49b31475f9a18/height=288;version=1;width=512/https%3A%2F%2Ftech.kurojica.com%2Fwp-content%2Fuploads%2F2018%2F09%2Fv011.png)
はじめに AWSでサーバーレスアーキテクチャのSPAサイトを組むにあたって、フロントエンドをS3(+CloudFront)から配信し、バックエンドをAPI Gatewayに置くのは一般的な構成だと思います。 フロントエンドのサイトとバックエンドのAPIで二つのドメインで運用することもできますが、前段にCloudFrontを置いて一つのドメインから両オリジンにアクセスができる構成を作ってみます。 構成図にするとこんな感じ。 S3 設定はすべてデフォルト。 API Gateway REST APIを作成。 わざわざLambdaを作るのも面倒なのでMockを使って仮のレスポンスを返します。 APIをデプロイします。ステージ名は「api」とします。 得られたエンドポイントからAPIを呼んでみます。 $ curl https://XXXXXXXXXX.execute-api.ap-northeast
こんにちは、クラウドインテグレーション事業部の菊池です。 Amazon Rekognitionには顔分析の機能があり、 AWSコンソールから画像をアップロードして試すことができます。 しかし、ちょっと試したいときに、わざわざAWSコンソールにアクセスするのも億劫です。 セッションが切れているとMFA認証などやり直しが必要になったりします。 そこで簡単に試すためのSlackボットを作成しました。 動作 ボットへのDMや、ボットを含めたチャンネルに画像を上げるとRekognitionの顔分析結果をスレッドで返信してくれます。 ソースコード ソースコードはGithubに上げてあります。 Serverless Frameworkを使ってTypescriptで書いています。 デプロイの方法はReadme.mdを参照ください。 github.com 構成は下図のようになります。 1つ目のLambda関
はじめに こんにちは、江口です。 前回は人事選考の自動化を作成するにあたり、認証基盤をFlask JWTでOAuth2を自作しました。 が、 認証認可の処理はAWS Cognitoに丸々載せ替えることもできます。 Cognitoに載せ換えることで、前回ほどの労力・工数はかなり削減されます。 ということで、今回はCognito + APIGatewayと時々aws-amplify(with vue)のハンズオンです。 また、今回はFacebookやTwitterなどのThirdPartyは取り扱いません。 目指す構成は以下です。 構成図 Cognitoに認証を任せ、AccessTokenを取得する ※フロントはvue x aws-amplifyの構成です。 取得したAccessTokenをAuthorizationHeaderに付与し、APIGatewayをコールする APIGateway(
ここからは、Linux Syslog監視編、Windowsイベントログ監視編、通知設定(メール)の3つに分けて紹介します。 Linux Syslog監視編 LinuxはEC2インスタンスにターミナルからログインして設定していきます。 1. エージェントインストール 以下のコマンドで、テスト用インスタンスにCloudWatch Logsエージェントをインストールします。「Complete!」という文字がでればOKです。 $ sudo yum install -y awslogs ~省略~ Installed: awslogs.noarch 0:1.1.4-3.amzn2 Dependency Installed: aws-cli-plugin-cloudwatch-logs.noarch 0:1.4.6-1.amzn2.0.1 Complete! 2. リージョンの変更 以下のファイルのリー
AWS Systems Manager セッションマネージャーに待望の機能(のひとつ)がやってきました! Session Manager launches Run As to start interactive sessions with your own operating system user account Session Manager launches Run As to start interactive sessions with your own operating system user account Enable Run As Support for Linux Instances - AWS Systems Manager 今回のアップデートで IAM ユーザー・ロール単位でセッションマネージャ利用者時の OS ユーザを指定できるようになったため、例えばですが、
大柳です。 前回に引き続き、ファイル監査の設定を行います。 前回記事:EC2でファイル監査を設定する(auditd設定編) 後半の今回はCloudWatch Logsを設定し、特定のログが出たらメールに通知するよう設定を行います。 CloudWatch Logsの導入 CloudWatch Logsの導入手順を説明します。 IAMロールの設定 CloudWatch Logsを利用する前提条件として、インスタンスにCloudWatch Logsを使用できる権限を割り当てる必要があります。 既存のEC2インスタンスでCloudWatch Logsを使えるようにするには、①インスタンスのイメージからIAMロールを割り当てたインスタンスを新しく作るか、②IAMロールをアタッチする必要があります。 手順は以下を参照ください。 クイックスタート: 既存の Amazon EC2 インスタンスに Clou
結論 パラメータストアのjsonに encoding を追加して適用します。 { "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "C:\\Application\\appname\\logs\\logfile.log", "log_group_name": "logfile.log", "encoding": "shift_jis", "timestamp_format": "%m/%d/%y %H:%M:%S" } ] } } } } ドキュメントにはエンコード指定の方法が載っていない? WindowsインスタンスからShift JISのログをそのままCloudWatch Logsに転送したところAWSコンソール上で文字化けしてしまったので、エンコード指定の方法を調べたのですがCloud
AWS Systems Manager(SSM)のSession Manager (以下セッションマネージャー) でec2-userやrootとして作業するやり方の備忘録です。 はじめに 環境 Session Managerでec2-userやrootとして作業する 現状: ssm-userとしてシェルアクセス 解決策: sudo su --login ec2-user おわりに はじめに こんにちは、@bioerrorlogです。 SSM セッションマネージャーは、いちいちSSHでログインすることなく、EC2インスタンスでシェル操作を行うことのできる便利なサービスです。 ただ、SSHでec2-userとしてログインした時とは微妙な違いがあります。 今回は、SSM セッションマネージャーでユーザーec2-userやrootユーザーとして作業するやり方を簡単にメモします。 環境 EC2インス
この記事は アソビュー! Advent Calendar 2019 - Qiita 17日目の記事です。 アソビューにてバックエンドおよびSREを担当している寺岡(@toda_kk)と申します。よろしくお願いします! 最近はリングフィットアドベンチャーをやり始め、スクワットをする度に「いいぞ!」「すごいぞ!」と褒められることで自己肯定感を高めています。 はじめに さて、SREの業務というと、どの企業でも多岐にわたるかと思います。インフラアーキテクチャの設計および構築、モニタリング環境の整備、開発フローや運用業務の効率化……などなど、ビジネス上あまり目立たないけれど実は大事な役割を担っていたりします*1。 そんな中で、今回は開発や運用の効率化のためにAWSのSession Managerという機能を検証・導入した話を取り上げたいと思います。 Session Managerとは? AWS Sy
こんにちは。新事業創造部インフラチームの光野(kotatsu360)です。 先日、VASILY時代1から長らく使われていたCapistranoによるデプロイを見直し、CodePipeline+CodeDeployによるデプロイフローを導入しました。 CodeDeployはEC2 AutoScalingとよく統合されており、この新しいデプロイフローによって最新のアプリケーションコードをどう反映するかという悩みから開放されました。この記事ではそのフローについて設計と運用を交えつつ紹介します。 AWS CodePipeline / AWS CodeDeploy CodePipeline AWS CodePipelineはアプリケーションのCI/CDパイプラインを作るためのサービスです。 Source、 Build、 Test、 Deployの4ステージに対して1つ以上のアクションを割り当てること
こんにちは、SRE部の谷口(case-k)です。 本記事では、EC2 Image Builderを使いRedashの運用改善を行った事例をご紹介します。運用しているRedashについてご紹介し、その後、Redashの運用課題に対してEC2 Image Builderでどのように解決したかTipsも踏まえご紹介します。 余談ですが全国どこでも働けるようになったので沖縄に住めています(感謝!) https://press-tech.zozo.com/entry/20210118_zozotechpress-tech.zozo.com 目次 目次 運用しているRedashの紹介 役割 インフラ構成 クエリ実行の流れ EC2インスタンス起動時の処理 Redashの運用課題 EC2 Image Builderによる課題解決 EC2 Image Builderの紹介 各リソースのTips 事前準備 コ
ボタンひとつでインプレースメジャーアップグレードに対応 Amazon Aurora MySQL のデータベースエンジンは 5.6 互換の1.x 系 5.7 互換の2.x 系 の2系統があります。 従来、1系から2系にメジャーアップグレードするには スナップショットからのリストア時に2系エンジンを指定 1系のプライマリから2系レプリカに同期してダウンタイム無しにスイッチオーバー といった方針が取られてきました。 今回のアップデートにより、Amazon Aurora MySQLをクリックひとつでインプレースにメジャーアップグレードできるようになりました。 Amazon Aurora supports in-place upgrades from MySQL 5.6 to 5.7 アップグレード手順が大幅に簡略化され、エンドポイントの変更もありません。 アップグレード中はデータベースを利用できな
ペルソナ5にドハマリし、先日100時間以上かけてクリアした @tmknom です。 主人公の名前は吉良吉影。怪盗団の名前はキラークイーンです。ちなみに二周目に突入しました。 さて、みなさんもご存知の通り、 AWS ユーザは常にある不安を抱いています。 AWS アカウントを乗っ取られたらどうしよう。バイツァ・ダストよろしく、すべてを吹っ飛ばされたらどうしよう。という不安です。 しかし、我々は AWS を使わずにはいられないという『サガ』を背負ってはいますが『幸福に生きてみせるぞ!』という強い意思を持たねばならないのです。 そんなわけで、意思を現実のものへと体現すべく AWS コンソールへ、いつ誰がサインインしたのかSlackに通知して、 不正アクセスを簡単に検知できる仕組みを構築してみましょう。 はじめに 事前準備 バージニア北部へリージョンを切り替え Lambda の初期セットアップ Cl
最近話題のCI as a Serviceを導入すべく調査してみました。JenkinsさんもすごくいいのですがAWS smallインスタンスに乗せているとやっぱり本来の力を発揮できない感じがあるので。 CircleCIって以前は、一番安い契約だと1Private Repositoryしか扱えなくて使いづらそうな印象だったのですが、4月末頃にPrivate Repository数は無制限、同時実行ジョブ数で課金というPlanに変更になったようですね。 Simple and Transparent Pricing | The Circle Blog http://blog.circleci.com/simple-and-transparent-pricing/ 自分の関わっているプロジェクトでは、 リポジトリはそれぞれの役割ごとにいくつか分けている 開発者数は少ないのでコミット頻度はそんなに高く
MySQL で Too many connections が発生しました。 processlist を確認したところ、Command が Sleep なプロセスが多く発生しており、 結果最大接続数の上限に達してしまうことで発生していたのでした。 Sleep なプロセスが接続を持ったまま残っていることは問題なので、これを削除することとします。 まずは processlist を表示します。 show full processlist を実行するか、select * from information_schema.PROCESSLIST を実行します。 COMMAND が 'Sleep' で、TIME が 1000 以上のものを抽出するには下記のようにします。 mysql> select * from information_schema.PROCESSLIST where USER='use
最近まとまった時間ができたので、Web開発手法の勉強をしていました。 Ruby on Railsチュートリアルが体系的に学べて良いという話を聞いていたので、これを軸にしながら自分のWeb知識の穴を埋めていくことにしました。 Ruby on Rails チュートリアル:実例を使って Rails を学ぼう 一区切りついたのでまとめておきたいと思います。 前提知識 以下は勉強を始める前の私の知識です。 Webフレームワークを使ったことがない 生PHPなどで開発をしたことはある MVCモデルは一応理解している 昔Java Servletを使った講義を受けたことがある DB Migrationなどの言葉は聞いたことがある Rubyを一行も書いたことがない 普段はPythonとC++を書いている 趣味でJSも少し書く CS的なインフラの基本技術は知っているが、IaaSやPaaSなどにはあまり明るくない
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く