- 1. 【AWS】GuardDutyイベント通知の構成をCDKで実装する
- 2. AWS セキュリティサービスの考察
- 3. 2021年度 新卒エンジニアが2か月でAWS-SAAを取得できた。
- 4. Lightsail の WordPress で E メール を有効にする
- 5. AWS CLIのバージョンアップ試してみた
- 6. Dataマニアの完全保存版 リンク集
- 7. AWS PrivateLinkで別AWSアカウントのサービスへアクセスする
- 8. Amazon EMR 再入門
- 9. AWSロードバランサーによるhttps及びhttp-httpsリダイレクト
- 10. AWS Codeシリーズを使ったCI/CD環境を構築したときのメモ
- 11. [その2]AWS-SAA-躓いたメモ
- 12. AWSでWebサイトを作ってみた(1) AWS設定編
- 13. AWSで最初にやるべきことの中に課金要素がある件について
- 14. エンジニア目線で始める Amazon SageMaker Training ④-1 TensorFlow のコードを SageMaker Training 用へ書き換える
- 15. AWS lambda pythonでライブラリを読み込むまで
- 16. AWS AppSyncでカスタムレスポンスヘッダーができるようになったのでやってみた
- 17. production.ERROR: Database (/var/www/releases/1/backend/database/data base.sqlite) does not exist. 解決方法
- 18. 複数話者文字起こしの練習
- 19. EC2のインスタンスストアとEBSでのElasticsearchの性能差を比較
- 20. AWS EC2 AmazonLinux2でsshキーを発行する
【AWS】GuardDutyイベント通知の構成をCDKで実装する
# はじめに
こんにちは。
AWSアカウントでGuardDutyを有効化した際、イベント発生時にメールなどで通知させる構成を構築することが最近多かったのですが、設定する内容はそれぞれのAWSアカウントで変わるものでもないので、CDKでコード化してしまえたら今後楽になるのではないかな?と思いました。ということで今回はAWSアカウント上でGuardDutyを有効にし、GuardDutyで発生したイベントをEventBridge経由でSNSにメッセージを送り、Eメール通知させる構成をCDKで実装していこうと思います。
## GuardDutyとは
以下公式ドキュメントから引用します。https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/what-is-guardduty.html
> Amazon GuardDuty は継続的なセキュリティモニタリングサービスで、以下を分析して処理します。データソース: VPC フローログ、AWS CloudTrail管理イベントログ、CloudTrail S3 データイベントログ、DNS ロ
AWS セキュリティサービスの考察
# AWSセキュリティサービス
ネットワークセキュリティ AWS Network Firewall DDos保護 AWS Shield (Advanced) 悪意のあるウェブトラフィックをフィルタリング AWS Web Application Firewall (WAF) アクセス元/先およびポートの設定 VPC Security Groups DNS保護 Route 53 Resolver DNS Firewall ※上記ルールの一元管理 AWS Firewall Manager # AWS Network FireWallとは
– AWS Network Firewall は、すべての Amazon Virtual Private Clou
2021年度 新卒エンジニアが2か月でAWS-SAAを取得できた。
2022年3月5日にAWS認定ソリューションアーキテクトアソシエイトに合格できたことから、経験の浅い人でも合格できる、その理由を解説したいと思います。初投稿!!
# 1.資格取得の理由
はじめに、私がなぜAWS-SAAを取得しようと考えたのか。
1番は実務に活かしたいから。ただそれだけではやる気出ない方が多いと思います(私もそうでした):relaxed::relaxed:
あと2つほどやる気がでるかなあと思ったのが以下2つ## 2.やる気だすために知っておきたいこと!!!
### 2-1.世界シェアの高さ
![synagy-2022-01-1024×696.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2584969/8170026a-0e63-1c9c-a71a-08b320208f2a.jpeg)
上記画像を見てわかるように、amazonのAWSは世界シェアトップ(30~35%)を占めています。
また、amazonはAWSへの投資額を毎年増やしています。規模の経済というものがあるように
Lightsail の WordPress で E メール を有効にする
# 環境
* AWS LightSail
* 512 MB RAM、1 vCPU、20 GB のSSD
* WordPress
* 独自ドメイン(お名前ドットコム)# 経緯
SESのUIが新しくなったのか分からないが、公式の手順も他の手順も無いため、備忘として残す。# Identityの作成
>Amazon SES では、ドメインを検証して、それを所有していることを確認し、他のユーザーに使用されないようにする必要があります。
1. アイデンティティの作成
Verified identities>Create Identity
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/758644/8f8a2da8-9f07-a883-48b6-12f1d031d6d8.png)
1. 以下を選択
Identity type:domain
domain:(Lightsail上で利用している独自ドメイン)
Identity type:Easy DKIM
Publish DNS rec
AWS CLIのバージョンアップ試してみた
# はじめに
以前からなんとなく気になっていたので、AWS CLIを`v1` → `v2`へバージョンアップしてみた!AWS CloudFormationで、EC2とEIPをセットしたAWS CLIのバージョンアップを試すだけの贅沢なスタックを作成し、スタックの作成・削除だけで簡単にグローバルIPを紐づけたEC2の立ち上げを行う。
AWS CLIだが、ver1とver2では同じ`aws`コマンドが使用されるので共存はできるみたいなのだが、あまり推奨はされていないらしいので、今回はver1とはおさらばしてみる。
– 実行環境:Amazon Linux2
# インストール手順
アップロードしたいEC2にSSH接続し、以下の手順で行なっていく。
“`shell:EC2
##################################
■ 現状確認とv1の削除
#################################
$ aws –version
=> aws-cli/1.18.147 Python/2.7.18 Linux/4.14.243-185.433.a
Dataマニアの完全保存版 リンク集
2020年-後半2021年初めにデータ系のプロジェクトにドハマりしてたときのものです。
クオンツアナリストやエンジニアになりたいわけでもないのですが、
Machine LearningやBig dataのAWSトレーニングもがっつり受けました。~~AWSトレーニングまとめはこちら(3月末頃更新予定)~~
# AWS関連資料
###### 各種ドキュメント一覧
[Big data ホワイトペーパー](https://aws.amazon.com/whitepapers/?whitepapers-main.sort-by=item.additionalFields.sortDate&whitepapers-main.sort-order=desc&awsf.whitepapers-tech-category=tech-category%23analytics&awsf.whitepapers-content-type=content-type%23whitepaper&awsf.whitepapers-global-methodology=*all&awsf.whitepaper
AWS PrivateLinkで別AWSアカウントのサービスへアクセスする
# 概要
– AWS PrivateLinkとは
– https://qiita.com/alingogo/items/aa964b5ba6f8320b5cbe
– インタネット経由しなくて、別のAWSアカウントのサービスへアクセスする種類
– S3
– Private API Gateway
– Gateway Load Balance# 内容
### S3
– [VPCエンドポイント経由して別AWSアカウントのS3バケットにアクセスしてみた](https://dev.classmethod.jp/articles/s3-cross-account-access-iamrole/)### Private API Gateway
– [インターフェース VPC のエンドポイントを使って、別の AWS アカウントにある API Gateway のプライベート REST API にアクセスするにはどうすればいいですか。](https://aws.amazon.com/jp/premiumsupport/knowledge-center/api-ga
Amazon EMR 再入門
改めてAmazon EMRを触った際の備忘録
以下のSpark ETLのWorkshop触ってのポイントまとめ
https://emr-etl.workshop.aws/spark_etl/steps.html## 対応フレームワーク
Hadoop、Spark、Presto、Hive、Flink などのビッグデータ処理フレームワークやクエリエンジンのほか、TensorFlow、MXNet、Mahout などの機械学習系、Jupyter、Zeppelinなどのノートブックなどなど様々
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112537/6a86422e-9077-063d-eba2-0e259c6e9b13.png)
## EMR クラスタデプロイパターン
オプションは大きく分けて3つ
– **EMR on EC2**
– 上記豊富なフレームワークから選べる標準的な使い方
– 基本はマスターノード・コアノード ・タスクノードで構成
– ノード
AWSロードバランサーによるhttps及びhttp-httpsリダイレクト
EC2インスタンスにロードバランサーにてhttps化にてhttpからのリダイレクト設定に関してのメモ
ロードバランサーサイトよりリスナーIDのHTTP:80をチェックし編集を選択。
![スクリーンショット 2022-03-09 16.25.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101462/47f84e0d-d600-46b9-3a5a-c98692642701.png)
下記を参照。
を下記の様に設定。RemoveクリックしてAddActionからRedirect選択Portに443を入力する。
AWS Codeシリーズを使ったCI/CD環境を構築したときのメモAWS のCode4兄弟(CodeCommit + CodeBuild + CodeDeploy + CodePipeline)をほとんど使ったことがなかったので、とりあえず動くものを作ったときのメモです。ざっくり理解するのが目的なので、構築時のパラメータ等は適当ですのでご注意ください。あと説明もざっくりしていますので、公式ドキュメントなどで補完しながら読んでいただけると幸いです。
↓ 構成のイメージです。ローカル端末でコードをpushするとPipelineが検知して自動でビルドしEC2にデプロイする流れになります。
![cicd.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538049/372c8a61-80c8-5339-3899-bd2bb0a52857.png)## CodeCommit 設定
### SSHキー作成
CodeCommit接続のためのsshキーを作成しておきます。
### CodeCommit用のIAMユーザを作成
リポジトリにアクセスするIAMユー
[その2]AWS-SAA-躓いたメモ
### VPC
#### VPCエンドポイント
プライベートネットワークからAWSサービスへアクセス可能
– ゲートウェイ型(ネットワークレイヤー)
`ルートテーブル`に追加されたターゲットを追加(S3,DynamoDBなどプライベートにアクセス可能)
– インターフェース型(AWS Private Link)
cloudwatch, SQSからの`APIコール`に対してインターネット経由せず、プライベート接続可。### EC2
#### リザーブドインスタンス(72%割引価格が適応)
– 1年間または3年間の期間から選択可能
※予約期間中に別にのインスタンスファミリーなどを変更する場合
`コンバーティブルリザーブインスタンス`を使用する。
※スタンダードは契約途中にインスタンスファミリーやOSなど変更できない分、割引率が大きい。#### EC2インスタンス用のネットワークのレイテンシを最小限に抑える必要がある場合
クラスタープレイスメントグループにて単一のAZ内のインスタンスを論理的にグループ化### Route53
#### シンプルルーティング
標準的で1対1
##
AWSでWebサイトを作ってみた(1) AWS設定編
次の記事はこちら
今回は[AWS](https://aws.amazon.com/jp/)を利用し、自身でサーバーを立て、記事のキーワードを自動抽出するWebアプリケーションを作成してみました。
# 目次
* [概要](#概要)
* [利用しているサービス、構成](#利用しているサービス、構成)
* [モニタリング等](#モニタリング等)
* [AWSの設定](#awsの設定)
* [AWSの作業用アカウント作成](#awsの作業用アカウント作成)
* [CloudWatchで料金アラートを設定](#cloudwatchで料金アラートを設定)
* [CloudTrailで操作ログを記録](#cloudtrailで操作ログを記録)
* [終わりに](#終わりに)
* [参考文献](#参考文献)# 概要
AWSを使ってWebサイトを作る前にAWSの各種設定を行っていきます。## 利用しているサービス、構成
### モニタリング関連
| リソースなどのモニタリング | アクティビティなどのトラッキング |内容保存 |
|
AWSで最初にやるべきことの中に課金要素がある件について
# はじめに
ある日、次のメールがAWSから届きました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2520632/0fdff69e-ddc2-8c9e-3306-7a027ea4ce9b.png)内容を見ると、AWSの無料利用枠の85%を超過してしまっているとのこと。
AWS Consoleにログインして、実際に状況を調べてみました。# 原因はAWS CloudTrailだった!
今回AWSで最初にやるべきことをネットで検索して、書いてある内容をそのまま実践しました。
その中にAWS上の操作履歴をログとして保存するCloudTrailというサービスがあります。
結論から言うと、このCloudTrailが課金の原因でした。# 課金対象のサービス
請求ダッシュボードからいくら課金されたのか実際に見てみることにしました。
内訳としては次の通り。34円程度と少額なのが不幸中の幸いでした。* Key Management Service
* $1 per custom
エンジニア目線で始める Amazon SageMaker Training ④-1 TensorFlow のコードを SageMaker Training 用へ書き換える
## 記事一覧
https://qiita.com/kazuneet/items/795e561efce8c874d115
https://qiita.com/kazuneet/items/294357a2214ac733f6f1
https://qiita.com/kazuneet/items/caa887826e2c33309e0b
## 既存 TensorFlow のトレーニングコードを SageMaker Training 用に書き換える
[①の記事](https://qiita.com/kazuneet/items/795e561efce8c874d115)で SageMaker Training はどんなものでどうやって動かすのか、機械学習のコードを一切書かずに説明しました。
一方、実際どうやって機械学習を動かせばいいのかいまいちピンと来ない方もいらっしゃると思います。
この記事ではどうやれば既存の機械学習のトレーニングコードを SageMaker Training で動かせるのか、にフォーカスして説明していきます。
※不本意ながらついに機械学習のコードを使
AWS lambda pythonでライブラリを読み込むまで
### AWS lambdaとは?
AWS環境下においてサーバーレス(EC2などを起動しない)でプログラムを実行できるサービス### lambdaを使う利点
EC2と違って、サーバーレスなのでサービスを実行する時のみ課金される。
(コストを抑える利点がある)### lambdaの使い方
AWSコンソールにてlambdaへ移動。
![lambda説明資料1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1928016/e502c9dd-f276-2464-a76b-6eb03afcf351.png)
右上の関数を作成ボタンをクリックして、関数を作成する画面へ飛ぶ。
関数の作成画面へ移行すると、関数の作成方法を求めてきます。
今回はユースケースなど使わず、一から作成を選択。
![lambda説明資料2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1928016/6c27e496-909c-9b00-
AWS AppSyncでカスタムレスポンスヘッダーができるようになったのでやってみた
# はじめに
なんと!!AWS AppSyncのレスポンスヘッダーを設定できるようになりました!
以下の記事でレスポンスヘッダーを追加したいのにできなかったので、CloudFrontを活用して実現していました。
https://qiita.com/ta__k0/items/186e5d7f350ca485da62
それがAWS AppSyncがアップデートされて設定だけでできるようになったのです。素晴らしい。
なので、やってみます。
# レスポンスヘッダーの追加方法
↓↓ アップデート内容にある通り、VTLユーティリティヘルパーにて、リゾルバーマッピングテンプレートで設定することになります。
https://aws.amazon.com/jp/about-aws/whats-new/2022/02/aws-appsync-support-custom-response-headers/
↓↓ VTLユーティリティヘルパー:HTTP helpers in $util.http
https://docs.aws.amazon.com/appsync/latest/de
production.ERROR: Database (/var/www/releases/1/backend/database/data base.sqlite) does not exist. 解決方法
## 初めに
この記事では、deployerを使った手動デプロイで発生したmigrateのエラーに関してご紹介していきます!## エラー
Dockerコンテナから手動デプロイを実行
→migrateの実行時に「sqliteが存在しない」とエラーで指摘。“`
[Deployer\Exception\RuntimeException (128)]
The command “cd /var/www/ && (/usr/bin/git clone -b “main” –recursive https://gith
ub.com/yu00212/laravel-zaikokanri.git /var/www//releases/1 2>&1)” failed.Exit
複数話者文字起こしの練習
# 1. はじめに
Amazon Transcribeでは、(2022年3月現在、最大10人までの)複数話者に対応して文字起こしができる。試しに、使ってみた。# 2. 使い方
## 2.1. 音声ファイルを用意する。
mp4a等のファイルを用意する。## 2.2. Amazon Transcribe
mp4a等のファイルをS3に登録する。(アクセス権限は最小で非公開にしておいても、Transcribeは動く。このため、オーナーと同一権限で処理が行われるのではと思われる。)
ここで、話者(Speaker)識別のフラグをオンにして音声認識を実行する必要がある。デフォルトはチャンネル別なので、フラグを変更する必要がある。そして、音声認識結果のjsonファイル(asrOutput.json)を作成する## 2.3. jsonからテキストに変換する。
上記のファイルだと、json書式で見ずらいのでテキストに変換する。以下のコマンドで変換する。なお、スクリプト本体は参考資料の[github](https://github.com/trhr/aws-transcribe-transc
EC2のインスタンスストアとEBSでのElasticsearchの性能差を比較
## 動機
AWSのEC2には、EBSの他にインスタンスストアがあります。EBSは仮想マシンとネットワークを通して通信しますが、インスタンスストアは仮想マシンが起動したハードウェアのディスクを使いますので、その分高速であるとAWSのドキュメントには書かれています。
その代わりインスタンスストアは一旦仮想マシンを停止して再度起動するとデータは失われますので、永続化が必要なデータストレージとしては使えません。今回はデータストアにはElasticsearchを使い、データの永続化は無いけど、5分おきに1000万オブジェクトが送られてきて、それを5分おきに書き込みながら読み込みクエリに応えるようなアプリを想定。
5分おきに元になるデータが送られてくるので永続化は必要ないけど、書き込みやインデックス作成が忙しい感じのアプリ。そういうアプリでElasticsearchを使う場合、EC2のEBSよりインスタンスストアのほうが高速なんじゃないかと適当に想定してみたけど、ほんとにそうかわからんので実際に計測してみます。
## Rallyとは
RallyはElasticsearchのベンチマー
AWS EC2 AmazonLinux2でsshキーを発行する
# 概要
– EC2 AmazonLinux2のインスタンス内でsshキーを発行する方法をまとめる。
# 方法
1. 下記コマンドを実行してsshキーペアを作成する。
“`terminal
$ ssh-keygen -t rsa
>Enter file in which to save the key (/home/ec2-user/.ssh/id_rsa): 空欄でEnter
>Enter passphrase (empty for no passphrase): 空欄でEnter
>Enter same passphrase again: 空欄でEnter
“`1. 下記コマンドを実行して公開鍵を出力する。
“`terminal
$ cat /home/ec2-user/.ssh/id_rsa.pub
“`