- 1. Elastic Beanstalk を使ったときのメモ
- 2. 【Redshift】約1TBのデータをS3にUNLOADしてみた
- 3. フレームワークとクラウド技術をフル活用した通知基盤の構成(Laravel x AWS)
- 4. AWS Lambda Function URLs で API Gateway 設定なしで直接呼び出してみる
- 5. AWS Cloud9でJavaの開発環境を構築する
- 6. VPC Lambda とは
- 7. このサイトにアクセスできません – ホストゾーンの再作成
- 8. AWS Organizationsで月間に閉鎖できるメンバーアカウント数は総数の10%
- 9. HULFTとAmazon Web Services (AWS)を連携させてみた。
- 10. LambdaFunctionURLsを使って30s越えのリクエストを検証する
- 11. SPA+LaravelをAWS ECSへデプロイするのにしんどかったところ
- 12. AWSでWebサイトを作ってみた(3) フロントエンド・キーワード抽出編
- 13. 未経験からAWS SAA試験合格
- 14. Xserverにaws cliをインストールする
- 15. ECSでのデプロイ|AWS ECS CLI 使用編
- 16. 7-8億レコードを加工処理してS3へ連携した
- 17. Amazon EMR の Spark パラメータを簡単に最適化する方法
- 18. BigQuery・Glue・S3・QuickSightの連携
- 19. AWS Lambda 同時実行数、エイリアス、環境変数とか実際の現場で使える機能を勉強してみる
- 20. ビジュアルリグレッションテストのすすめ
Elastic Beanstalk を使ったときのメモ
### ffmpeg をインストールする
現在、この Stakoverflow の
https://stackoverflow.com/questions/39241654/how-to-install-ffmpeg-on-elastic-beanstalk
リプライにある config は動きました。
“`yaml
packages:
yum:
ImageMagick: []
ImageMagick-devel: []
commands:
01-wget:
command: “wget -O /tmp/ffmpeg.tar.xz https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-3.4.2-64bit-static.tar.xz”
02-mkdir:
command: “if [ ! -d /opt/ffmpeg ] ; then mkdir -p /opt/ffmpeg; fi”
03-tar:
command: “tar xvf /tmp/ffmpeg
【Redshift】約1TBのデータをS3にUNLOADしてみた
# 背景・目的
AthenaでPartition Indexの検証を行うため、以前、[こちら](https://qiita.com/zumax/items/38f1723908ea94be2eaf)で用意したRedshiftのデータを再利用し環境を準備します。
また、UNLOADに要する時間を短縮するには、「1.何がポイントか?」、「2.どれだけ効果があるか」を検証します。# サマリ
– 以前、[こちら](https://qiita.com/zumax/items/84534883f8ba8ffd0a41)で試したUNLOADコマンドで、S3にデータをコピーしました。
– 今回の検証で利用したデータのサイズは、949GB。
– 検証では、スライス数とRowgroupsizeの組み合わせで6パターン試しました。
– 結果は下表に記載しました。
– Rowgroupsizeによる違いは、ほとんど見られませんでした。|パターン(スライス数-Rowgroupsize) |クラスタ数(スライス数) | Rowgroupsize |処理時間|
|:– |:– |:– |:-
フレームワークとクラウド技術をフル活用した通知基盤の構成(Laravel x AWS)
# 本記事作成意図
Webシステムにおいて、`社内通知`・`ユーザーへの販促`・`業者`への通知が必要になることがあり、
その要件に応じて、データの取得先や通知チャンネルもさまざまである。それぞれの要件に合わせて0からインフラ構成を考えて適切なものを選択・構築することがあると思うけれど、通知処理というのは基本的に
1. `通知チャンネル`(Slack/メール/LINE/プッシュ通知など)
2. `チャネル内の宛先(メールアドレスやユーザーIDなど)`
2. `メッセージの内容`が決まれば基本的に事が足りる。
つまり、適切なタイミングで適切な相手に情報を伝達するための手段であり、
その送信根拠となる永続化先や通知先のチャンネルというのは抽象化できるのではないかなと思ったので
外部ツールとの連携先が豊富なイメージのあるLaravelで下調べをしてみた。# 通知基盤のイメージ
 が発表されましたね。
https://aws.amazon.com/jp/blogs/aws/announcing-aws-lambda-function-urls-built-in-https-endpoints-for-single-function-microservices/
AWS Lambda 関数用の組み込みHTTPSエンドポイントで、API Gateway 無しでサクっと Lambda 関数を呼び出せます。ちょっと動作確認する際などに便利。上記ブログをざっくり訳して、動作を試してみたので、メモとして残しておきます。
# さっくり翻訳
AWS Lambda を使用したマイクロサービスアーキテクチャを採用して、復元力がありスケーラブルなアプリケーションを開発しましょう。これらのアプリケーションは、ビジネスロジックを実装する複数のサーバーレス機能で構成されています。各機能は、Amazon API Gateway や Application Load Balancer などのサービスを用いて、API エン
AWS Cloud9でJavaの開発環境を構築する
# 背景・目的
– KDAを試すにあたり、[必要なJavaの環境](https://docs.aws.amazon.com/ja_jp/kinesisanalytics/latest/java/getting-started.html)を準備します。
– 以前、[AWS Clou9を試してみた](https://qiita.com/zumax/items/312d20594b7eecbd533d)で構築した環境を利用します。# 実践
## Javaのバージョンを確認
– 現在のバージョンを確認します。
– すでに、Java11が入っています。
“`
$ java –version
openjdk 11.0.14.1 2022-02-08 LTS
OpenJDK Runtime Environment Corretto-11.0.14.10.1 (build 11.0.14.1+10-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.14.10.1 (build 11.0.14.1+10-LTS, mixed mode)
$
“`
##
VPC Lambda とは
## 調査
### VPC Lambda とは
lambdaは基本的にはAWSが管理するネットワーク上に作成されますが、
ユーザが管理するVPCのリソースにアクセスしたい場合、lambdaをVPCに接続できるように設定を行います。
これを `VPC lambda` と呼ばれます。
実際にはVPC上にlambdaがあるわけではなく、VPC上に作成されたENIを経由してlambdaへ接続できるようになります。### VPC Lambdaの注意点
– インターネットへのアクセスについて
lambdaにVPCの設定を追加しても関数でアクセスできる範囲はVPC内のみです。
ENIにはパブリックIPが付与できないので、
もしlambdaからインターネットへのアクセスが必要な場合は、同じVPC内部に
NATインスタンスまたはNAT Gatewayの設定が必要です。– ロールの設定について
lambdaにENIの作成・削除が必要なのでlambdaにIAMのロールを設定することが必要です。
`AWSLambdaVPCAccessExecutionRole` がAWSのポリシーにあるので
このサイトにアクセスできません – ホストゾーンの再作成
# はじめに
すべてタイトル通りで1行で完結してしまうのですが、、
自身のHPが突然「このサイトにアクセスできません」と表示されました。

サイトのドメイン失効、サーバーメンテナンスである可能性をつぶした結果、
ホストゾーンを再作成することでサイトにアクセスできるようになりました
(口外していないドメイン名なので実行しました。念のため)。
タイトルで完結していますが、同じような方に共有できればと思います。
たぶん今ドキドキ2択クイズの真っ只中な気がします# 動作環境
・MacBook Air (Retina, 13-inch, 2020)
・Big Sur11.4
・WordPress.org 5.8.1
・Webサーバ:EC2インスタンス、DB:RDSインスタンス(M
AWS Organizationsで月間に閉鎖できるメンバーアカウント数は総数の10%
AWS Organizationsでは、2022年3月の以下のアップデートで、メンバーAWSアカウントを閉鎖できるようになった。Organizationsからメンバーアカウントを作成、CloudFormation StackSetsで管理者ロールを作成し、アカウント閉鎖もOrganizationsから実施すれば、最小限のライフサイクル全体の管理ができるので、rootユーザーを使う場面がなくなる。rootのパスワード設定や管理も必要なくなる。これはとてもうれしいアップデート。
https://aws.amazon.com/jp/about-aws/whats-new/2022/03/aws-organizations-central-account-closure-lifecycle-management/
ただ、実際にこれをやってみると1回目は成功したが、2回目は「You have exceeded close account quota for the past 30 days.」というエラーで実施できなかった。Service Quotasで確認したところ、 **総アクティブメン
HULFTとAmazon Web Services (AWS)を連携させてみた。
# はじめに
**「HULFT クラウドストレージオプションVer.8.5.4」** を使用した、AWSとのアップロードをやってみました。本記事では、HULFTとAmazon Web Services (以下AWS)を連携させ、他のサーバAWS間でファイルの送受をする方法を紹介いたします。
HULFT クラウドストレージオプション(以下、HULFT CSOと表記します)は、従来の使い慣れたHULFTの設定作業や運用方法はそのままに、HULFTの連携先として「Amazon S3」や「Azure Blob Storage」、「Google Cloud Storage」へのファイル転送を実現します。
HULFTとAWSの基本的な知識は既に持っているという方向けの記事となりますのでご了承ください。
[• HULFT](https://www.hulft.com/software/hulft-8)
[• HULFT クラウドストレージオプション](https://www.hulft.com/software/hulft-8/hulft-cso)
[• AWS (Amazon Web S
LambdaFunctionURLsを使って30s越えのリクエストを検証する
# まえがき
前回のLambda エフェメラルストレージのアップデートに引き続き、今度はAPIGateway無くてもAPI経由でLambdaが起動できるようになりました。(2022.4.5)
このアップデートによりWebhookの接続先を直接指定できたり、ExpressやFlaskなどのバックエンドframeworkをLambda上に立て、Proxyさせるなどが簡単にできるようになります。
今までもAPIGatewayのProxy機能を利用したり、ALBからLambdaを呼び出すことも可能ではありましたが、よりシンプルにできるにようになりました。# 概要
既にServerlessFrameworkでも対応されているのですが、ServerlessFrameworkのブログに、それぞれの役割が載っており、とても分かりやすかったです。[AWS Lambda Function URLs with Serverless Framework 抜粋](https://www.serverless.com/blog/aws-lambda-function-urls-with-serverles
SPA+LaravelをAWS ECSへデプロイするのにしんどかったところ
フロントエンドはreact、バックエンドはlaravelっていうよくあるSPA構成をAWSのECSにデプロイするのはかなり大変だった。
慣れていればかんたんなのだろうが、不慣れなうちはみるみる工数が溶けてしまう。
本当にECSにデプロイすべきなのか検討してほしい。## 開発環境の構築はかんたん。dockerのノリでECSを触ると火傷するよ
開発環境は、もちろん出来合いのdocker-composeでかんたんに構築できる。フロントエンドはyarn startとかyarn devとかでlocalhostにサーバーが立ち上がるし、バックエンドはlaravelなので特に難しいところはなにもない。
## ECSにデプロイする
ECSにデプロイするためには、フロントエンドもバックエンドもビルドして固めないといけない。
## laravelを含めたバックエンドのビルド
よくある開発用のdocker-composeファイルだと、ローカルのソースフォルダをそのままbindしているが、ビルドするときはDockerFileでコピーしないと中身が空っぽになる。
そして、composer inst
AWSでWebサイトを作ってみた(3) フロントエンド・キーワード抽出編
[前回の記事はこちら](https://qiita.com/alksoho/items/fc2740bf7f581d5bb0f1)
完成したWebサイトは[こちら](http://aws-portfolio-infra.com/)
今回は前回作成したサーバーにWordPressを導入することとキーワード抽出の実装を行います。
# 目次
* [概要](#概要)
* [利用しているサービス](#利用しているサービス)
* [WordPress導入](#WordPress導入)
* [キーワード抽出](#キーワード抽出)
* [プラグイン](#プラグイン)
* [API](#API)
* [コード](#コード)
* [終わりに](#終わりに)
* [参考文献](#参考文献)# 概要
今回は前回作成したサーバーにWordPressを導入することとキーワード抽出の実装を行います。
## 利用しているサービス
### Webサイト
[WordPress](https://wordpress.com/ja/)
### キーワード抽出
* API
未経験からAWS SAA試験合格
# はじめに
・会社を辞め、未経験からエンジニアへの転職を決意し学習開始(2022年2月~)
・某プログラミングスクール受講
・2022年2月 AWS CPT試験 合格
・AWS SAAの勉強は約2ヶ月# 学習方法
[(模擬問題付き)改訂新版 徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書[SAA-C02]対応](https://www.amazon.co.jp/%E6%A8%A1%E6%93%AC%E5%95%8F%E9%A1%8C%E4%BB%98%E3%81%8D-AWS%E8%AA%8D%E5%AE%9A-%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88-%E3%82%A2%E3%82%BD%E3%82%B7%E3%82%A8%E3%82%A4%E3%83%88%E6%95%99%E7%A7%91%E6%9B%B8-SAA-C02/dp/4295010650/ref
Xserverにaws cliをインストールする
# 目的
XserverのデータをまるっとAWSのs3にバックアップをしたい。
そのためaws-cliをXserverにインストールする。ちなみに、昨夜(2022/04/11)の大幅障害の影響です。
参考サイトにした内容をまとめた感じなので、サラッと実行したコマンドだけ表示しています。
# はじめに
aws-cliをインストールする手順はいろいろとあるようですが、pythonsのパッケージ管理ツールのpipでインストールするのが、一番らくちんみたいです。
Xserverには、pythonのバージョン2,バージョン3とインストールされていますが、レンタルサーバの掟として、新規にパッケージを追加することはできないみたいです。

そのため、自分のローカル環境にPythonをインストールして、その上でaws-cliをインストールするようで
ECSでのデプロイ|AWS ECS CLI 使用編
ECRに新しいイメージが反映させることができた状態から
ECSのTaskDefinitionとサービスに反映させるということをAWS CLIで実行していきます。# 下準備|jqコマンドのインストール
JSONを処理するコマンドjqをインストールします。“`
% brew install jq
% jq –version
“`バージョンが表示されたらインストール成功です。
# TaskDefinition更新
まずは既存のTaskDefinition情報を取得します。“`
% aws ecs describe-task-definition –task-definition rails-service
“`jsonが表示されたら成功です。
次にこのjsonからTaskDefinitionの情報をjqコマンドで取得してみます。“`
% aws ecs describe-task-definition –task-definition rails-service | jq ‘.taskDefinition | { containerDefinitio
7-8億レコードを加工処理してS3へ連携した
## はじめに
今まで一般的なWeb開発はしてきたけど高速化についてあまり考慮せずに実装してきたエンジニアの方に向けて、筆者の加工処理 ( **7億-8億レコード** ) 高速化の経験を基に、本番実行で何を目指すかということと、それまでに実際にどのようなアプローチがあるのかを提案できればと思います。
あくまで提案なので、「こうしたらもっと高速になるよ」的な箇所は多々あるかと思います。
コメントなどでご指摘いただければ幸いです。## 本記事における前提条件
本記事における前提条件を筆者の経験した環境を参考に記載します。
### 本プロジェクトの背景及び要件
– 既存サービスで蓄積されたデータを外部のシステムに連携して有用活用するにあたってのPoVを実施する。
– 既存サービスで蓄積されたデータの一部を匿名化 (ハッシュ化) したものをCSVに書き出し、外部のシステムにPOSTする。
– 本番実行までの実装及び検証は短期間 (2-4週間程度) である。
– **加工処理はできるだけ早くする完了させる**### 採用したテクノロジー
– Ruby on Rails API
Amazon EMR の Spark パラメータを簡単に最適化する方法
:::note warn
本記事では Spark アプリケーションのメモリエラーに関するログを表示します。メモリエラーによるトラウマを抱えている方/日々寝れない生活をされている方は注意しながら読み進めてください。
:::## はじめに
[AWS ブログ](https://aws.amazon.com/jp/blogs/news/) が出した記事「[Amazon EMR で Apache Spark アプリケーションのメモリをうまく管理するためのベストプラクティス](https://aws.amazon.com/jp/blogs/news/best-practices-for-successfully-managing-memory-for-apache-spark-applications-on-amazon-emr/)」で、メモリ不足エラーを回避するための Spark パラメータのチューニング方法を紹介しました。
“`
WARN TaskSetManager: Loss was due to
java.lang.OutOfMemoryError
java.lang.Out
BigQuery・Glue・S3・QuickSightの連携
今回は、FirebaseAnalyticsからBigQueryにエクスポートしたデータをQuickSight上で、表形式で閲覧したいという要件を実現するための過程を記事にしました。
以前書いた[この記事](https://qiita.com/Dai_Kentaro/items/a95c33381aeb5f0b74ad)の続きみたいな感じです。
なぜ、BigQueryのデータをわざわざQuickSightで見ようとするかというと、BigQuery上のデータとRDSのDBデータをガッチャンこして見たいという要件があり、少し回りくどく見えるような構成になっています。
要件を実現するための構成はこれ以外にも案はあると思いますが、考えた結果、これが最適と考えた末なので、何かいい案をお持ちの方がいれば優しく教えて欲しいです。(ここには出てこない隠れた要件も色々あるので最適な構成を考えるのはかなり難しかったです。)
# BigQuery・Glue・S3の連携について
それぞれのツールについての概要の公式記事は以下です。
– BigQuery: https://cloud.google.c
AWS Lambda 同時実行数、エイリアス、環境変数とか実際の現場で使える機能を勉強してみる
# 概要
AWS認定試験資格取得に向けて実際にAWSを利用してみるシリーズの投稿です。
今回はAWS Lambdaをちょっとしっかり勉強してみようという中級編です。
気が付いたらLambdaがかなり進化をしていて、久しぶりに本を購入して勉強したのでその内容をまとめた投稿になっています。私が初めてLambdaを使い始めた時の制限、コールドスタート問題の解決(同時実行数)や、実際の現場で使えるLambdaの切り戻し(エイリアス)、環境ごと異なる設定(環境変数)など、実運用で使える機能がたくさんあったのでその内容を投稿します。
認定試験勉強的にはAWS Lambdaの少しコアな部分を掴める内容になっています。
インフラに依存せずサクッとプログラミングができるLambdaを使ってみたい人、興味がある方は読んでみて下さい。資格試験の勉強法は記事は以下を参照。
[AWS初心者がAWS 認定ソリューションアーキテクト – アソシエイト資格試験に合格した時の勉強法](https://qiita.com/fkooo/items/e5284a4ed3c3466ffd41 “AWS初心者がAW
ビジュアルリグレッションテストのすすめ
日々いろいろなWebサイトの制作や修正を対応していく中で、修正したページとは関係ない(と思っていた)ページで表示が崩れてしまったことってありませんか?
私はたびたび経験があります。
毎回目視で全ページをチェックすれば防げるのかもしれませんが、それは現実的ではありません。
自動で全ページをチェックしてくれて不具合があれば教えてくれる、そんな便利なツールがあればと何度も思いました。どうやら現代の技術でそれは作れるみたいです。ビジュアルリグレッションテストというらしいです。
# ビジュアルリグレッションテストとは
ざっくりいうと「見た目の比較」をするテストのことです。
変更前のWebサイトのスクリーンショットを用意しておき、変更後のスクリーンショットを撮り比較することで、どこが変わったか差分を表示し確認することができます。
# どうやって使