gitkadoの気まぐれ日記

島根在住エンジニアが何かに興味を持ったらブログを更新します

aws

AWS Fault Injection Simulator (FIS) 触ってきた

はじめに ユニットテストは自動化(コード化)する E2Eテストも実施する オンプレからクラウドへ移行する アプリケーション負荷を考慮して冗長化構成をとる これで安全なアプリケーションになった!と思っていたが悲劇は起きた。 AWSのDynamoDBに障害が発生し…

CloudFront Functionsがリリースされました!

CDN CDNとは、「コンテンツデリバリーネットワーク」(Content Delivery Network) の略で、世界中に張り巡らされた配信ネットワークを利用して、Webサイトにアクセスしようとするユーザーに効率的かつ高速にWebコンテンツを配信するしくみです。【転載】 【CD…

最近知ったこと(AWS FireLens編)

TL;DR Amazon ECSコンテナからのログ送信がかなり柔軟に設定できるようになった。 (しかもすごく簡単!) これまで ECSコンテナからログを出力する場合に、LogDriver: awslogsを以下のように設定すると、Amazon CloudWatch Logs にログが送信されます。 LogCo…

最近知ったこと(Amazon RDS Proxy編)

TL;DR AWS LambdaからDBサーバ(RDS)に繋ぐのがアンチパターンとは言い切れなくなった。 事前説明 DB(RDBMS)には最大同時接続数なる設定値が存在します。 Lambdaはリクエスト毎にコンテナを起動して関数処理を行います。 (リクエスト数 = コンテナ数) これま…

SAM使って文字起こし&言語分析してみた

はじめに 先日開催された JAWS-UG Shimane#10 で行ったハンズオンが非常に面白かったです。 ざっくり下図のような構成のハンズオンで、以下のリポジトリがハンズオンの資料です。 https://github.com/harunobukameda/Amazon-Translate---Amazon-Polly---Amaz…

aws sam initを試してみた(Go)

はじめに gitkado.hatenadiary.jp Goに興味が湧いたので、Goで試してみました。 実行環境はAWSのCloud9です。 開発環境準備 Cloud9使います! Go 以下の手順にそってGoの環境を構築する。 gitkado.hatenadiary.jp sam initを試す (Go) $ sam init --runtime …

lambdaからpsqlおよびpg_dumpを実行する

lambdaからpsqlおよびpg_dumpを実行する Dockerコンテナ起動 目的はpostgresqlソースを取得すること lambda実行環境を再現したDockerImageじゃないとOS依存部分でコケる FROM lambci/lambda:build-ruby2.5 # postgresql install RUN yum install -y postgres…

ECSデプロイにECRを使ってみた(1/2:ECRにImage作成)

はじめに 以前はオンプレ環境のDockerを想定した使い方を記事にしましたが、 今回はECR(ECS)の使い方について記事にしていこうと思います。 ECS/ECRとは ECRにリポジトリ作成 DockerfileからDockerイメージ作成 Containerデプロイの流れ(ECS) ECS/ECRとは EC…

LambdaEventSourceMappingを忘れないための備忘録

忘れないように自分用のメモ 暇になったらKinesis起点でLambda挟んでー..とか試してみます。 Lambdaの立ち位置(個人意見) Lambdaは縁の下の力持ち的な立ち位置だと思ってます。 AWSのマネージドサービスを駆使したアーキテクチャの場合、 コンポーネント間…

sam local invoke で環境変数が読み込めないトラブル解決方法

はじめに AWS SAM のCLIで sam local invokeという Lambda関数をローカル実行するコマンドがあります。 前提 cloud9でLambda関数およびLambdaLayerを開発 Lambda関数 Layer(2種)を使った処理 環境変数GEM_PATHを設定 LambdaLayer(2種) gem 定数や独自実装メ…

aws sam initを試してみた(Ruby)

はじめに AWS SAMという素晴らしいものがある。 簡単に説明すると、こんな感じです。 サーバレス最適化CloudFormation拡張 サーバレスアプリケーションのローカル開発 Lambdaを作らなくても検証可能 AWS上じゃなくても検証可能 サンプルを作る機能(sam init)…

Cloud9のミドルウェア更新

はじめに AWSのCloud9がめちゃめちゃ便利! 必要なミドルウェアがほぼほぼ揃ってるのが非常にありがたい! ただ想定バージョンではない場合が結構あるので、以下に更新方法書いていきます。 Ruby デフォルトだとRuby2.6.0が入っている(20190701時点) Lambd…

【aws INNOVATE】AWS認定 試験対策 セッション5

セッション aws INNOVATE 「運用上の優秀性(オペレーショナルエクセレンス)を備えたアーキテクチャを定義する」 「クロージング」 各セッション情報はこちら 概要 運用上の優秀性を実現するソリューションの設計特性を選択する 運用上の優秀性を実現するソリ…

【aws INNOVATE】AWS認定 試験対策 セッション4

セッション aws INNOVATE 「コスト最適化アーキテクチャを設計する」 各セッション情報はこちら 概要 コストを最適化したストレージの設計方法を決定する コストを最適化したコンピューティングの設計方法を決定する 押さえるワード AWS料金体系 従量課金性 …

【aws INNOVATE】AWS認定 試験対策 セッション3

セッション aws INNOVATE 「セキュアなアプリケーションおよびアーキテクチャを規定する」 各セッション情報はこちら 概要 セキュアなアプリケーションおよびアーキテクチャを規定する アプリケション層の保護方法を決定する データの保護方法を決定する 単…

【aws INNOVATE】AWS認定 試験対策 セッション2

セッション aws INNOVATE 「パフォーマンスに優れたアーキテクチャを定義する」 各セッション情報はこちら 概要 高パフォーマンスなアーキテクチャの設計 高パフォーマンスなストレージおよびデータベースを選択する パフォーマンス向上のためキャッシュを使…

【aws INNOVATE】AWS認定 試験対策 セッション1

セッション aws INNOVATE 「回復性の高いアーキテクチャを設計する」 各セッション情報はこちら 概要 試験で全体の34%をしめるもっとも出題率が高い分野 4 つのベストプラクティスに基づいたポイントを紹介 信頼性と回復性に優れたストレージを選択する AWS …

JAWS DAYS 2019 参加しました

はじめに 本ブログは技術的な内容では無いです。 技術的な内容を期待される方は、今後の投稿を注目してもらえると幸いです。 JAWS-DAYSいってきた 2019年2月23日に五反田の五反田メッセで開催された「JAWS DAYS 2019」に参加しました。 今年のテーマは「満漢…

公開した静的サイトをHTTPS化(ACM)

概要 S3+CloudFront+Route53で構成している静的サイトをhttpsで公開する。 現状整理 実は以前紹介した方法で既にhttps接続は可能です。 gitkado.hatenadiary.jp ただし、CloudFrontのSSL証明書を使用しているのでセキュリティ警告が出ます。 → 証明書とURL(…

Lambda@Edge×CloudFrontのトリガー選定基準

困ったこと 以下の手順で静的ホスティングを構築した。 htmlを編集してS3に上げ直したが表示内容が変わらなかった。 gitkado.hatenadiary.jp 原因 経由しているCloudFrontがキャッシュを返していたので S3に到達することなくレスポンスを返していた。 問題解…

S3静的ホスティングをそれっぽい構成にしてみた

あらすじ S3の静的ホスティング機能を用いてindex.htmlを公開した。 が、本来はS3に直接アクセスさせるのはよろしくないみたい。 そこで本来あるべき構成で静的サイト公開をしてみようと思います。 やること S3へ直接アクセスさせない CloudFrontを経由 オブ…

Webサイト公開のためにドメインを取得してみた

概要 Webサイトを公開したい! と思ったのでドメインを取得したが、 取得してからDNS設定が必要なので「Route53」を活用してみた。 Route53とは DNS機能を簡単に利用することができるサービス GUI上で全て完結可能 設定の自動化も可能(CLIやCloudFormation…

( Where && What ) is S3 ?

概要 Rails開発でファイルアップロード機能を実装しました。 CarrierWave(gem)を使用していたのですが、ストレージ指定で ドキュメントに「S3」と書いてあり、どこ!? となった過去が‥ そんな謎ワード「S3」がAWSのサービスであると知った今日この頃。 忘れ…

難しそうなELB(ALB)使ってみた

概要 「ロードバランサー=サーバの負荷分散のためにある難しいやつ」 と思っている私が、実際にAWSの「ELB(ALB)」を使ってみた。 ロードバランサーとは 複数サーバでサービスを稼働させてサービスの供給を止めない仕組み Webレイアの負荷分散を行い可用性を…

RDSの基礎知識と使い方についてまとめた備忘録

概要 AWSが提供するサービス「RDS」について、 簡単な座学と実際の操作について備忘録として残します。 RDS(RelationalDatabaseService)とは リレーショナルデータベースのマネージドサービス Slave構成の構築が容易 IPではなくエンドポイントでターゲットを…

AWSアカウント作成後にやること備忘録

aws

概要 機能が多すぎるAWSを初めて触った時に 何をすればいいのかを自分の備忘録として残しておきます。 (大雑把に書いているので後々直していく予定) IAMアクセスオフ変更 rootユーザ以外でも請求にアクセスできるようにしておきます。 請求ダッシュボード…

AWSでWEB/DBサーバをVPC内に構築する備忘録

概要 AWSでWEB/DBサーバを構築する。 以下の手順で構築を進める。 AWSにVPCを作成する VPCにサブネットを作成する(public/private) publicサブネットにWEBサーバを作成する privateサブネットにDBサーバを作成する AWSにVPCを作成する VPC(10.0.0.0/16)…