- 1. [Amplify] vue3で簡単なTodoサービスの作成
- 2. RDSの各ログをCloudWatchLogsに出力する時に地味にハマったこと
- 3. S3のTransfer accelerationの速度比較ツールを使ってみた
- 4. AWS認定 機械学習 -専門知識 に合格したので勉強方法を書いておきます
- 5. S3連携でCORSにブロックされた時の対処法
- 6. CloudWatch Logsがもっと簡単にDLできたらいいのに…と思った方へ(スクリプト付き)
- 7. 旅の思い出投稿サービス『Travel notes』の紹介
- 8. 将来の当たり前?クラウド?AWSを学ぶべき理由!
- 9. AWS Security Hubコントロールを全リージョンで無効化する
- 10. EKSのメトリクスをCloudWatchに取り込む AWS Distro for OpenTelemetryで
- 11. 40 代おっさんLambdaを使ってみる
- 12. lambdaをローカルで動かしてみよう
- 13. ストレッチクラスタをデプロイしてみる (VMware Cloud on AWS)
- 14. 【AWS】Gateway Load Balancerについてのメモ ※CFnテンプレート付き
- 15. DynamoDB Streamsでイベントソースマッピングのフィルタ機能を使ってファンアウトイベントを作る
- 16. LightsailにデプロイしたRailsアプリにDNSゾーンを使ってドメイン名でアクセスできるようにする
- 17. AWS Transfer Family を利用した FTP を触ってみた
- 18. CloudWatchAlarmの発砲テスト方法
- 19. AWS公式資料で挑むSCS認定(16)-Inspector
- 20. Lambda/SAM ログ出力方法 メモ
[Amplify] vue3で簡単なTodoサービスの作成
# [Amplify] vue3で簡単なTodoサービスの作成
## はじめに
[前回](https://qiita.com/MuMa3679/items/feca880700d49cb6d476)にAmplifyを用いた認証画面までをまとめたので、今回は認証機能を持ったTodoサービスを作成したのでソースコードの公開などをし、まとめる。## 環境
“`
bootstrap5
@vue/cli: 4.5.15
amplify cli: 7.6.19
“`## バックエンドの作成
Amplifyでバックエンドを作成していく。
今回使うバックエンドリソースは
* Auth(Cognito)
* API(Graphql)のみである。
## vue3のプロジェクトの開始
通常通りVueのプロジェクトを作成する。“`
$ vue create todo
.
.
.cd test
“`### Amplifyの初期化
Initに関しては[前回](https://qiita.com/MuMa3679/items/feca880700d49cb6d476)まとめている
RDSの各ログをCloudWatchLogsに出力する時に地味にハマったこと
## はじめに
AWSではRDSの各ログをCloudWatchLogs側に出力することが可能です。ということで先日それを試してみたところ無駄にハマってしまいました。
この記事ではどこにハマって、結局どうしたのかの備忘録を書いていこうと思います。
もし何か参考になるところがあれば幸いです。## CloudWatchLogsへのログ出力に必要なこと
– RDS側でCloudWatchLogsへの出力設定
– ログ出力の設定をしたオプショングループの作成,RDSへ割り当て
– ログ出力の設定をしたパラメータグループの作成,RDSへ割り当て
– (RDSの再起動)## それぞれの設定内容
今回の記事ではハマったことに関しての記載が目的ですので、
それぞれの設定内容については特に記載しません。それぞれの設定内容については、
https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-aurora-mysql-logs-cloudwatch/
https://dev.classmethod.jp/article
S3のTransfer accelerationの速度比較ツールを使ってみた
## はじめに
S3の Transfer acceleration を試してみました。
速度比較ツールが提供されてるので速度比較もしてみました。https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/transfer-acceleration-getting-started.html
ちなみに結構値が張るので注意です。
https://aws.amazon.com/jp/s3/pricing/
## 設定
* リージョン: ap-northeast-1
* バケットポリシー: 未設定
* ACL: 未設定
* Transfer acceleration: Enabled
* 他はデフォルト## 速度比較ツール
AWS謹製ツールなので、バケットポリシーやACLで公開しなくても使えました。
通常モードでアップロードした場合とTransfer accelerationを使ってアップロードした場合の速度を比較してくれるみたいです。https://docs.aws.amazon.com/ja_jp/Ama
AWS認定 機械学習 -専門知識 に合格したので勉強方法を書いておきます
# 1.はじめに
私はAWSの12資格(廃止済みのAlexa含む)を全て取得しているのですが、その中でも特に難儀したのは「AWS認定 機械学習 -専門知識」です。
こいつは数あるAWS資格の中でも特殊な存在で、AWSというよりも主に機械学習全般について浅く広い知識が問われます。私のようにそもそも機械学習に縁のない平凡なエンジニアには少々敷居が高かったので、もしかすると同じような状況にある方もいるかと思い、私が実践した勉強方法について書き記しておこうと思った次第です。
ちなみに受験したのは2021年の1月で一発合格でした。スコアも1,000点満点中941点とまあまあ高い方ではないかと思います。なのでもし私と同じような境遇の人がいれば、この記事の内容が合格に向けての参考になるのではないかと思っています。# 2.受験前の知識や勉強期間など
勉強開始は2020年の年末です。AWS資格はこの時点で10冠を達成していましたが、前述の通り機械学習についてはほぼ知識ゼロの状態でした。知っていることと言えば「教師ありと教師なしっていうのがあるんでしょ?あとディープラーニングが囲碁チャンプ倒したらし
S3連携でCORSにブロックされた時の対処法
## エラー内容
HerokuとAWS S3を連携させてデプロイしたアプリのconsoleで、以下のエラー文が出て、S3内のデータを呼び出せない?“`javascript:console
Access to XMLHttpRequest at ‘任意のドメイン’ from origin ‘任意のドメイン’ has been blocked by CORS policy:
Response to preflight request doesn’t pass access control check: It does not have HTTP ok status.
“`より具体的には、
Rails側からS3に保存したデータ(画像・MP3・jsonファイル)のうち、フロント側(phina.js)で使用するデータ(MP3・jsonファイル)が呼び出せなかった?## 開発環境
– Rails6系(バック)
– phina.js(フロント)
– Herokuデプロイ済
– S3バケット作成済## 解決策
結論から言うと、
バケットのCORS
CloudWatch Logsがもっと簡単にDLできたらいいのに…と思った方へ(スクリプト付き)
# はじめに
**CloudWatch Logs をサクッとダウンロードしたいと思ったことありませんか?**
CloudWatch Logs をファイルとしてダウンロードするには、
1. CloudWatch Logs から S3 にエクスポート
2. S3 からファイルをダウンロードという手順を踏まなければなりません。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/S3Export.html
これ、地味に面倒じゃないですか? → **私は面倒ですw**
というわけで、CloudWatch Logs(特定のログストリーム)を簡単にファイル出力するスクリプトを作ってみました。
# Pythonスクリプト
Python と AWS SDK (boto3) で作りました。
“`python:download_logs.py
#!/usr/bin/env python3import argparse
import boto3
import re
import traceback
fro
旅の思い出投稿サービス『Travel notes』の紹介
# サービス概要
旅の思い出を投稿して、他ユーザーと共有できるWebアプリケーションです。
URL:https://travel-notes.online/
## 開発背景
– 趣味のみで繋がり共有し合える平和なSNSサービスを作りたかった
– SNSサービス開発を通じて、バックエンド、フロントエンド、インフラの技術力を高めたかった。#### 旅行をテーマした理由
– 旅行好きな人が多く存在していて、国内外問わず話題が豊富である
– 自身の趣味である## 機能一覧
#### 認証機能
– ユーザー登録機能:名前・メールアドレス・パスワード登録
– ログイン機能:メールアドレス・パスワード認証
– ゲストログイン機能:ユーザー未登録のままログイン可能
– パスワード再設定機能:メールアドレ
将来の当たり前?クラウド?AWSを学ぶべき理由!
## はじめに
私は2022年3月にAWS認定の全11資格を取得することができました。最初のクラウドプラクティショナー資格を取得したのは約1年半前になります。
つまり約1年半でAWSの全資格を取得することができました。
AWS資格と聞いて、「クラウドなんてさわったことがないよ」「最新のことにはついてはいけないよ」という方も多いと思いますが、クラウドプラクティショナーレベルであれば、クラウドの基礎的な概念も多いので、AWSを使っていない方もITの基礎知識として習得することをオススメします。
## なぜ、AWSを学習する必要があるのか
AWS認定を取得する以前になぜ、AWSを学ぶ必要がるか理解していないとなかなか学習のモチベーションは上がらないものです。
そこでまずはじめにAWSを学ぶべき理由を紹介します。
#### クラウドサービス
AWS Security Hubコントロールを全リージョンで無効化する
AWS Security Hubでいくつかのコントロールを全リージョンで無効化する方法です。AWS CLIを使います。
全リージョンと言いつつ、以下は東京以外のリージョンでいくつかのコントロールを無効化する例です。[^1]
“`bash
account_id=$(aws sts get-caller-identity –query Account –output text)controls=”
aws-foundational-security-best-practices/v/1.0.0/Config.1
aws-foundational-security-best-practices/v/1.0.0/IAM.1
aws-foundational-security-best-practices/v/1.0.0/IAM.2
aws-foundational-security-best-practices/v/1.0.0/IAM.3
aws-foundational-security-best-practices/v/1.0.0/IAM.4
aws-foundational
EKSのメトリクスをCloudWatchに取り込む AWS Distro for OpenTelemetryで
## はじめに
Kubernetesで動作するアプリケーションのメトリクスを管理する方法としては、Prometheus + GrafanaやELKスタックがよく挙げられます。
しかしながら、AWSのElastic Kubernetes Service (EKS)の場合は、AWSのマネージド監視サービスであるCloudWatchを利用したい方も多いのではないでしょうか。[AWS Distro for OpenTelemetry](https://aws-otel.github.io/) を使えば、簡単にEKS上のアプリのメトリクスをCloudWatchに送信できます!PodのCPU/RAM使用率などはもちろん、Prometheus形式のメトリクスも対応可能です。
## AWS Distro for OpenTelemetry (ADOT) とは
AWSが公式にメンテナンスしている、OpenTelemetry Collectorのディストリビューションです。名前が長いので、以下では頭文字を取って **ADOT** という略称で呼びます。### そもそもOpenTelemetry
40 代おっさんLambdaを使ってみる
## 本記事ついて
本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。## lambdaを使う
lambdaの作成画面に行ってください。
作成を押してください

左から
・一からの作成
・設計図の使用
あらかじめAWSで設計されているもの使用できる・コンテナイメージ
・Serverless Application Repository
### 設計図の使用を選ぶ
hello-world-pythonと入れる
テンプレートが表示されるのでチェックボックスにチェックを入れて、左下の設定をクリック
### 関数名に名前を入れる
関数名をhello-pythonにしました(わかる名前で
lambdaをローカルで動かしてみよう
今回はlambda上に実装したアプリケーションをローカルで動かす方法を紹介します。
言語はpython3.8です。## この記事の流れ
1. AWS SAM CLI のインストール
2. アプリの作成(lambda)
3. ローカルで挙動確認## 1. AWS SAM CLI のインストール
下記、リンクを参考にインストールを行なってください。
[AWS SAM CLI のインストール](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html)## 2. アプリの作成(lambda)
ターミナルを立ち上げ、lambdaのプロジェクトファイルを作成するディレクトリに移動して下記コマンドを実行してください。“`zsh
sam init
“`SAMテンプレートの作成が始まり、いくつか選択を要求されますので、下記を選択をしてください。
・ 1 – AWS Quick Start Templ
ストレッチクラスタをデプロイしてみる (VMware Cloud on AWS)
# はじめに
以前投稿した [i3en.metal の 2 ホスト SDDC をデプロイしてみる](https://qiita.com/mtoyoda/items/ee11d8346fd7adef094d)に引き続いて、今回もデプロイしてみるシリーズとして、 VMware Cloud on AWS のストレッチクラスタをデプロイし、どういった構成になっているかを確認してみました。# 目次
1. [VMware Cloud on AWS のストレッチクラスタ](#vmware-cloud-on-aws-のストレッチクラスタ)
1. [ストレッチクラスタをデプロイしてみる](#ストレッチクラスタをデプロイしてみる)
1. [どう構成されているか確認](#どう構成されているか確認)
1. [Elastic Network Interface について](#elastic-network-interface-について)
1. [ホストの追加](#ホストの追加)
1. [まとめ](#まとめ)
1. [関連記事]
【AWS】Gateway Load Balancerについてのメモ ※CFnテンプレート付き
# 1. はじめに
Amazon ELBといえばALBやNLBを連想する方が多いかと思いますが(CLBは流石にもういないかな)、それらとは別にGateway Load Balancer(GWLB)という種類のロードバランサーがあります。ALBやNLBと違って、用途が大分限定されており、主にサードパーティ製のセキュリティ製品をAWSにマイグレーションする際に使用されます。
本記事では、Gateway Load Balancerに関して管理人が調査した内容をメモ代わりに記載していくものになります。
# 2. Gateway Load Balancerとは?
Gateway Load Balancerとは、2020年11月のRE:inventにて発表されたAWSの新しいロードバランサーです。主にサードパーティ製のセキュリティ製品をAWSにマイグレーションする際に使用されます。
具体的には、サードパーティ製のセキュリティ製品をAWS上にデプロイする際、監視対象のサーバに対して、VPC PeeringやTransit Gatewayなどでネットワークをつないでルーティングしたり、N
DynamoDB Streamsでイベントソースマッピングのフィルタ機能を使ってファンアウトイベントを作る
# はじめに
DynamoDB Streamsは便利だが、接続した機能を必ず呼んでしまうため、呼ばれたLambda側等でフィルタを作る必要があるのが不便だった。
だが、それも昔の話。[2021年11月26日にフィルタ機能が使えるようになった](https://aws.amazon.com/jp/about-aws/whats-new/2021/11/aws-lambda-event-filtering-amazon-sqs-dynamodb-kinesis-sources/)ので、必要な処理だけをLambda側で記載すれば良くなって、よりビジネスロジックだけに注力可能になった。今回は、このフィルタを使って、ファンアウトなイベントを定義してみよう。
なお、前提知識としては以下があれば良い。
– DynamoDB Streamsの基礎を理解している
– Terraformの基礎を理解しているまた、イベントフィルタリングに関してどんなイベントをどのようにフィルタするかという基本的な部分は、[デベロッパーガイド](https://docs.aws.amazon.com/ja_jp/
LightsailにデプロイしたRailsアプリにDNSゾーンを使ってドメイン名でアクセスできるようにする
## やりたいこと
デプロイしてIPアドレスでは見られるようになったRailsアプリをドメイン名のURLでアクセスできるようにしたいです。
IPアドレスではページを表示できる。
そのデプロイの模様はこちら↓
https://qiita.com/kakudaisuke/items/f38938552ee9456a23f6
## 実装!
### DNSゾーン作成
Amazon Lightsail→ネットワーキング→DNSゾーンの作成
ドメインを入力して`DNSゾーンの作成`
-Inspector
##### [前回] [AWS公式資料で挑むSCS認定(15)-GuardDuty](https://qiita.com/mingchun_zhao/items/b362ca66502e19c4053b)
## はじめに
「Security, Identity & Compliance」サービスの続き、Amazon Inspectorです。
脆弱性診断を自動化するサービスで、Amazon EC2にエージェント導入が必要。## 教材を選ぶ
[AWS Black Belt Online Seminar [Amazon Inspector]](https://d1.awsstatic.com/webinars/jp/pdf/services/20160622_AWS_BlackBelt-Inspector-public.pdf) 資料を使用します。
恒例となりつつありますが、本資料のベストスライドは、
「脆弱性診断の種類(レイヤー)」です(すみません、個人的見解です)。
理由は、脆弱性対策の全体像が、一枚にまとまっているからです。
やはり森が見えると、木も理解しやすくなりますね。
Lambda/SAM ログ出力方法 メモ
* Lambdaでのログ出力をsam cliを使って試したのでメモとして残しておく。
## 事前準備
* sam プロジェクト作成
“`shell
sam init
“`※ランタイムはPython3.8を選択。
## コード
* `template.yml`
**ログレベル**を環境変数として設定する
“`yaml
…
Environment:
Variables:
LOG_LEVEL: !Ref LogLevel
…
Parameters:
LogLevel:
Type: String
Default: INFO
“`* `app.py`
“`python
import json
import logging
import os
import requestsdef lambda_handler(event, context):
logger = logging.getLogger()# ログ