AWS

AWS Glueの仕様でサポートに問い合わせた内容

AWS

最近Glueを使っていて、その過程でAWSサポートに問い合わせしたり、仕様を確認した内容をまとめておきます。 Tableのプロパティ(Parameters)の制限 SageMakerでGlueのライブラリ読み込むとエラーが出る S3からS3へのコピーでVPCエンドポイント使いたい 接…

AWS Certified Big Data - Specialty 合格してきました

AWS

AWSのソリューションアーキテクトのプロ持っていたのですが、1年くらい前に失効しています。 またアソシエイトから取るのも面倒だし、そもそも同じ試験受けるのってモチベーションを上げにくい。ということでAWSの認定から遠ざかっていたのですが、先日こん…

AWS GlueでGrok使いALB アクセスログを取り込んでParquetやORC形式に変換

AWS

Grokパターン作成 事前調査 ALBのアクセスログの項目 ビルドインのGrokのパターン logstashのELBのGrokパターン 作成 分類子(Classifier登録) Crawler カタログデータベース確認 テーブル確認 Athenaで検索 ETLジョブ Glueからパーティショニングして書き込…

【AWS Glue】aws-glue-samplesを動かすまでの前準備の作業メモ

AWS

AWS GlueのNotebook起動した際に Glue Examples ついている「Join and Relationalize Data in S3」のノートブックを動かすための、前準備のメモです。 Join and Relationalize Data in S3 This sample ETL script shows you how to use AWS Glue to load, tr…

UbuntuでもAWS Systems Manager Session Manager for Shell Accessをログ取得まで設定してみた

AWS

お世話になっているクラメソさんの記事(Mac向け)を見て、私のUbuntu PC環境でもいけるかなとやってみました。 dev.classmethod.jp Ubuntu PC側作業 サーバー側 Shell Accessで接続 ロギング設定 参考URL Ubuntu PC側作業 まずはawscliを最新に更新します。…

AWS SAM でGolangのデバッグができるようになったので試してみた

RSSのフィードにAWS SAM CLIでGolangのデバッグができるようになったというニュースが流れてきました。 AWS SAM CLI Now Supports Debugging Go Functions and Testing with 50+ Events 確かにリリースノートにも書いてある。 Release Debug your Lambda Fu…

AWS CDK (AWS Cloud Development Kit) がとても便利そうなので触ってみた

AWS

これ触ってみました。 github.com インストール 使ってみる 架空の要件 開発 プロジェクト作成 初期のディレクトリ構造 初期状態のスクリプトファイル ドキュメント aws-cdk使って定義を書いてみる スタックのデプロイ スタックの一覧 デプロイ実行 スタック…

Aurora Serverlessが出たので早速テスト環境に適用してみた

社内でAuroraのサーバーレスというのが出たらしいというので触ってみました。 Auroraのサーバーレス? 日本語の方が理解しやすかった 検証機のDBを切り替えてみた 手順 スナップショット取得 インスタンス復元 起動を待つ 接続確認 設定を確認してみる 気づい…

サーバーレス開発を始めて6ヶ月間なので振り返りをしてみる

今の会社(BeeX Inc.)に来て、半年くらいサーバーレス開発をやってきました。 やっと人並みに(?)サーバーレス開発進められるようになったのと、開発が一息ついたので振り返りをしてみようと思います。 はじめに サーバーサイドについて 使用サービス Lambd…

AWS LambdaからSAP Jco経由でABAPを呼び出す

タイトルの件、調査がてら書きました。 デプロイ方法 レポジトリ取得 SAP JCoの準備 ビルド AWS Lambda作成 SAMでローカルテストとデプロイ ポイント 最新のライブラリ POJOを利用したデータを受け渡し Gradleにjarやsoを含める VPCでは注意が必要 デプロイ…

AWS SAMでSQSをイベントソースとしたLambda実行がサポートされたので動かしてみた

この件、SAMでも試してみました。 dev.classmethod.jp SAMが対応しているか見てみた 個人的に待ちに待った対応だったので、早速調べてみたら、嬉しいことにSAM側も既に対応されていました。 github.com 該当のCommitはこれでしょうか。 github.com 該当のCom…

AWS API GatewayとSAMとSwaggerとGolang構成での基本設定

調べる効率が悪いのか、タイトルの構成で基本的なところ動くまでも結構時間かかってしまいました。イチから調べるよりこういったスタート地点のがあると良いと思いますので残しておきます。 主にSAMとSwaggerの関連性の部分が厳しかった。。。 コード ディレ…

Vue.js+Bootstrap+Typescript+Highchart+AmazonCloudwatchのサンプルアプリ

これから開発するものの準備を兼ねて、Vue.jsとBootstrapと統合したBootstrap-Vue使ってHighchartsでAWS CloudWatchのグラフ描画するサンプルをTypescriptで作りました。 デモサイト 初期環境構築 追加パッケージインストール Typescript Highcharts Bootstr…

S3のバケットポリシー間違ったら、管理者権限でもアクセス拒否されるようになってしまった

AWS

S3のバケットポリシー調整したいたら、VPNのID間違っていたようで、どこからもアクセスできなくなってしまいました。 設定画面が全て、「アクセス拒否」、「Access Denid」になってしまいました。当然バケットポリシーそのものもアクセスできない。CLIからも…

DynamoDBStream+Lambda(Golang)でProblem Function call failedエラーで1時間くらいハマった

ハマったのでメモ。 ちゃんと設定できているように見えるのに、 こんな感じで、 PROBLEM: Function call failed のエラーが出る。 一応、更新があるとエラーが出るので、動いているようですが、ログ見てもeventがnilって情報が出ているだけで、そもそもHandl…

S3にアップしたZIPを別S3バケットに解凍するアプリでAWS SAM+Golang開発の流れを確認

SAM使っての開発の流れを勉強するために簡単なアプリケーション開発しながら、調べたことなど忘れそうなので備忘兼ねてメモしています。順次追記予定です。 例として作ってみたのは、S3バケットにアップロードしたZIPファイルを、他のS3バケットに展開する処…

AWS SAM ローカルを使用したサーバーレスアプリケーション(Golang版)

こちらの公式ドキュメントの「SAM Local によるシンプルなアプリケーションの構築」の項目をGolang版で動かしたメモ。 docs.aws.amazon.com 準備するのは以下の2ファイル dir/template.yaml dir/main.go ビルドと起動 # productsというファイル名でビルド $ …

ローカルPCを汚さずに手元のDockerでDynamoDBを手軽に検証する

前提 環境構築 awscliで接続してみる 関連URL 前提 この記事の手順で必要なもの。 Docker gitとかawscliとか抜けばDockerだけ。追加のソフトウェアインストールも不要です。 環境構築 この項目がこの記事のメインです。簡単にDynamoDBの検証環境がローカルに…

リードレプリカを使ってRDS(MySQL)をアップグレードする手順を自動化した

AWS

RDS(MySQL)を10台以上アップグレードする必要が出てきたのでこちらの手順をスクリプト化しました。 以下の公式手順を自動化したものになります。 MySQL DB エンジンのアップグレード - Amazon Relational Database Service こちらの記事も参考にさせていただ…

AWS ALB配下のノードが全てUnhealtyになった場合、リクエストが全ターゲットにルーティングされます

AWS

開発環境のALB配下唯一のEC2インスタンスがUnhealtyなのに、普通にアクセスできるので調べてみたらこんな挙動だということが。全く知りませんでした。sorry pageとか最低限のリカバリにはつなげやすいのかな。 ただ、監視をゆるめている開発や検証環境だと全…

AmazonLinuxの古いyumリポジトリを利用したい時の方法

AWS

掲題の件、備忘メモ。 まず、以下のURLで リリースノート の項目を見るとリリースの一覧があるのでリリースの名前がわかります。 https://aws.amazon.com/jp/amazon-linux-ami/ だいたい3月と9月に出るようなので2017.03とか2017.09とか。今現在の最新が2017…

AWS S3を保存先としたプライベートなDocker Registryを公式コンテナから簡単導入

タイトルの通り。作業メモです。 テスト用イメージ作成 テストで利用するイメージを作ります。 Dockerfile作って。 cat <<EOF > Dockerfile from alpine:latest ENTRYPOINT ["echo","myimage"] EOF ビルドして。 docker build --no-cache -t myimage . ビルドされ</eof>…

AWS ALBのアクセスログ分析環境をDockernizeしてローカルPCで実行できるようにした

AWS ALBのアクセスログをサーバ上のBananaで分析していたのですが、Docker使って手元のPC環境でも簡単に実行できるようにしました。 github.com 使い方 Repositoryをダウンロード git clone https://github.com/yomon8/alb-log-analyzer.git cd alb-log-anal…

ALB/ELBのアクセスログを時間指定でダウンロードして標準出力してgrep検索可能にするツール作った

AWS ALBやELBのアクセスログですが、5分毎に出力していると大量のファイルになります。 調査するにしても複数の細かく分かれたファイルを結合したり、JSTとUTCの差を失念していて勘違いしたり、S3のフォルダ構造深かったり、ALBのアクセスログはgzip形式なの…

AWS CLIの利用方法まとめ(主にqueryオプションとTips)

AWS

queryオプションを主にaws cliの使い方をメモしておきます。随時更新予定です。 queryオプション query指定無しだと 基本の使い方 出力形式を知る queryを使ってみる 関数(Functions) contains join starts_withとends_with to_string sort_by length Tips J…

コマンドラインでEC2のコンソール画面テキスト(システムログ)を取得してgrep分析

AWS

EC2が原因不明で接続不可になることは以外に多いです。そんな時にVMWareやHyper-V、KVMみたいにコンソール画面に何が出ているのか確認したくなります。 AWSマネジメントコンソールから「インスタンスの設定」>「システムログの取得」で以下のような画面が取…

【AWS】ALBからCLIでEC2切り離しderegister-targetsはGracefulじゃない?

AWS

ALBからEC2を切り離す時に使う aws elbv2 deregister-targets のコマンド、大量のアクセスがあってもエラーを返すことなく切り離すことができると思っていました。 ① EC2をALBより切り離し aws elbv2 deregister-targets --target-group-arn target_group_ar…

AWS ALBに長いリクエストURLでGETすると414や500でエラーになる

AWS

AWS ALB(Application Load Balancer)に長いURLリクエスト投げてみたら、以下のテーブルのように、ある長さのリクエストからエラーが出ることを発見しました。 URLの長さ(Byte) HTTPレスポンスコード 〜16446 200 OK 16447 500 Internal Server Error 16448〜…

【AWS】ALBから自身(EC2)を切り離したり登録するbashスクリプト

AWS

ALBはELBと異なり複雑な構成も取れるので、必要に応じて修正して使う前提で、LBとTargetGroupとListenerが1:1:1の基本構成で作りました。 EC2をALBから切り離し ほとんどをAPIから取得する構成にしましたが、複雑な構成なら変数として持った方が良いと思われ…

AWS ELBの504ステータスのGateway Timeoutと格闘した話(最終的にALBで直った)

AWS

ELBのメトリクスのステータスには、バックエンドのEC2が返したステータス(HTTPCode_Backend_XXX)と、ELB自身のステータス(HTTPCode_ELB_5XX)があります。 ELB自身のステータスコードの中には504というエラーコードがあります。この504エラーと格闘した話を書…