AWS
今の会社(BeeX Inc.)に来て、半年くらいサーバーレス開発をやってきました。 やっと人並みに(?)サーバーレス開発進められるようになったのと、開発が一息ついたので振り返りをしてみようと思います。 はじめに サーバーサイドについて 使用サービス Lambd…
タイトルの件、調査がてら書きました。 デプロイ方法 レポジトリ取得 SAP JCoの準備 ビルド AWS Lambda作成 SAMでローカルテストとデプロイ ポイント 最新のライブラリ POJOを利用したデータを受け渡し Gradleにjarやsoを含める VPCでは注意が必要 デプロイ…
この件、SAMでも試してみました。 dev.classmethod.jp SAMが対応しているか見てみた 個人的に待ちに待った対応だったので、早速調べてみたら、嬉しいことにSAM側も既に対応されていました。 github.com 該当のCommitはこれでしょうか。 github.com 該当のCom…
調べる効率が悪いのか、タイトルの構成で基本的なところ動くまでも結構時間かかってしまいました。イチから調べるよりこういったスタート地点のがあると良いと思いますので残しておきます。 主にSAMとSwaggerの関連性の部分が厳しかった。。。 コード ディレ…
これから開発するものの準備を兼ねて、Vue.jsとBootstrapと統合したBootstrap-Vue使ってHighchartsでAWS CloudWatchのグラフ描画するサンプルをTypescriptで作りました。 デモサイト 初期環境構築 追加パッケージインストール Typescript Highcharts Bootstr…
S3のバケットポリシー調整したいたら、VPNのID間違っていたようで、どこからもアクセスできなくなってしまいました。 設定画面が全て、「アクセス拒否」、「Access Denid」になってしまいました。当然バケットポリシーそのものもアクセスできない。CLIからも…
ハマったのでメモ。 ちゃんと設定できているように見えるのに、 こんな感じで、 PROBLEM: Function call failed のエラーが出る。 一応、更新があるとエラーが出るので、動いているようですが、ログ見てもeventがnilって情報が出ているだけで、そもそもHandl…
SAM使っての開発の流れを勉強するために簡単なアプリケーション開発しながら、調べたことなど忘れそうなので備忘兼ねてメモしています。順次追記予定です。 例として作ってみたのは、S3バケットにアップロードしたZIPファイルを、他のS3バケットに展開する処…
こちらの公式ドキュメントの「SAM Local によるシンプルなアプリケーションの構築」の項目をGolang版で動かしたメモ。 docs.aws.amazon.com 準備するのは以下の2ファイル dir/template.yaml dir/main.go ビルドと起動 # productsというファイル名でビルド $ …
前提 環境構築 awscliで接続してみる 関連URL 前提 この記事の手順で必要なもの。 Docker gitとかawscliとか抜けばDockerだけ。追加のソフトウェアインストールも不要です。 環境構築 この項目がこの記事のメインです。簡単にDynamoDBの検証環境がローカルに…
RDS(MySQL)を10台以上アップグレードする必要が出てきたのでこちらの手順をスクリプト化しました。 以下の公式手順を自動化したものになります。 MySQL DB エンジンのアップグレード - Amazon Relational Database Service こちらの記事も参考にさせていただ…
開発環境のALB配下唯一のEC2インスタンスがUnhealtyなのに、普通にアクセスできるので調べてみたらこんな挙動だということが。全く知りませんでした。sorry pageとか最低限のリカバリにはつなげやすいのかな。 ただ、監視をゆるめている開発や検証環境だと全…
掲題の件、備忘メモ。 まず、以下のURLで リリースノート の項目を見るとリリースの一覧があるのでリリースの名前がわかります。 https://aws.amazon.com/jp/amazon-linux-ami/ だいたい3月と9月に出るようなので2017.03とか2017.09とか。今現在の最新が2017…
タイトルの通り。作業メモです。 テスト用イメージ作成 テストで利用するイメージを作ります。 Dockerfile作って。 cat <<EOF > Dockerfile from alpine:latest ENTRYPOINT ["echo","myimage"] EOF ビルドして。 docker build --no-cache -t myimage . ビルドされ</eof>…
AWS ALBのアクセスログをサーバ上のBananaで分析していたのですが、Docker使って手元のPC環境でも簡単に実行できるようにしました。 github.com 使い方 Repositoryをダウンロード git clone https://github.com/yomon8/alb-log-analyzer.git cd alb-log-anal…
AWS ALBやELBのアクセスログですが、5分毎に出力していると大量のファイルになります。 調査するにしても複数の細かく分かれたファイルを結合したり、JSTとUTCの差を失念していて勘違いしたり、S3のフォルダ構造深かったり、ALBのアクセスログはgzip形式なの…
queryオプションを主にaws cliの使い方をメモしておきます。随時更新予定です。 queryオプション query指定無しだと 基本の使い方 出力形式を知る queryを使ってみる 関数(Functions) contains join starts_withとends_with to_string sort_by length Tips J…
EC2が原因不明で接続不可になることは以外に多いです。そんな時にVMWareやHyper-V、KVMみたいにコンソール画面に何が出ているのか確認したくなります。 AWSマネジメントコンソールから「インスタンスの設定」>「システムログの取得」で以下のような画面が取…
ALBからEC2を切り離す時に使う aws elbv2 deregister-targets のコマンド、大量のアクセスがあってもエラーを返すことなく切り離すことができると思っていました。 ① EC2をALBより切り離し aws elbv2 deregister-targets --target-group-arn target_group_ar…
AWS ALB(Application Load Balancer)に長いURLリクエスト投げてみたら、以下のテーブルのように、ある長さのリクエストからエラーが出ることを発見しました。 URLの長さ(Byte) HTTPレスポンスコード 〜16446 200 OK 16447 500 Internal Server Error 16448〜…
ALBはELBと異なり複雑な構成も取れるので、必要に応じて修正して使う前提で、LBとTargetGroupとListenerが1:1:1の基本構成で作りました。 EC2をALBから切り離し ほとんどをAPIから取得する構成にしましたが、複雑な構成なら変数として持った方が良いと思われ…
ELBのメトリクスのステータスには、バックエンドのEC2が返したステータス(HTTPCode_Backend_XXX)と、ELB自身のステータス(HTTPCode_ELB_5XX)があります。 ELB自身のステータスコードの中には504というエラーコードがあります。この504エラーと格闘した話を書…
EC2をAMIから構築したところ、ディスク(EBS)が遅い。CloudWatchでもキュー長が増加してしまっていました。 問い合わせたところ、AMI からEC2インスタンスを作成した場合、各 EBSボリュームは スナップショットからリストアした際と同様、データは S3 がダウ…
結構前に一回実行用に作ったものだけど、最近使う機会出たのでここにもメモ。 #!/usr/bin/env ruby require 'aws-sdk' require 'pp' region = 'ap-northeast-1' cred = Aws::SharedCredentials.new Aws.use_bundled_cert! cli = Aws::EC2::Client.new(creden…
AWS ELBのログをFluentd(td-agent)で集めて集計していました。最近、いくつかALBを使うサービスが出てきました。 このALBですが、 たぶん ALB(Application Load Balancer) が正式名称だと思っているのですが、たまに Elastic Load Balancing Version 2 と書…
ELBはオートスケールで可用性も高く、ミドルウェアの心配しないでいいので便利なのですが、IP固定できないなど課題があるのと、障害時の調査がブラックボックスすぎて大変なため、Pacemakerを利用して冗長化構成のLoadBalancerを構築してみました。 CDPで言…
Pacemaker/Corosyncでクラスタ構築していたのですが、フェイルオーバーしてしまった時には通知が欲しいものです。 Pacemakerをインストールすると、Failover時にメール通知するMailTo というResource Agentがデフォルトでインストールされます。 resource-ag…
AWS Management Consoleはとても良く出来ていて、管理資料なんか無くても良いくらいです。 Windows使うことも無くなり、EXCEL開く回数も激減したのですが、それでもEXCELと一緒に社会人としての人生を生きてきているので、どうしてもあの表形式から離れられ…
Tipsだけど忘れないように。 抽出したい条件に合わせて --arg TKey "Stack" と --arg TValue "Production" を変えて実行します。 例えば以下のような条件の場合、 Key Value Stack Production こんな感じのワンライナーになります。 aws ec2 describe-instan…
AWSの公式情報探していてググっても出ないと思っていたら英語で見つかりました。 めもめも。 Apacheの設定情報(※必ず英語に切り替えて読む) Use Apache as a Back-End Server for ELB 設定項目 値 Timeout 120 KeepAlive On KeepAliveTimeout 120 MaxKeepAli…