- 1. 【AWS】AWS認定CloudPractioner(Certified Cloud Practitioner) 勉強教材まとめ in 2021/7
- 2. 【AWS】Amazon S3について
- 3. DynamoDB localを使ってDynamoDBをローカルでデプロイする
- 4. 【AWS DVA学習】AWS Step Functionsのチュートリアルをやってみた
- 5. Amazon Linux によるSSL化について
- 6. 【Terraform】ALBアクセスログ用S3バケットポリシー
- 7. 【AWS】各種公式サイトの歩き方
- 8. Amazon Location Servicesハンズオンが面白かった件とささやかな修正提案
- 9. AWS(S3)に画像を保存できない
- 10. Amazon SageMaker で事前学習済みモデルから災害判定APIを作る
- 11. Railsでvpc endpointを利用してsesからメールを送信する
- 12. AWS(EC2)でSTM32MP1 用の組込みLinux(OpenSTLinux)をコンパイルした件
- 13. AWS IoT CoreにVPN環境からアクセス
- 14. Amazon RDS Performance Insights の中身見てみる
- 15. SESのバウンス情報をメールで受け取る方法
- 16. AWS アクセスキーの漏洩を防ぐチェックシート
- 17. Amplify + AuroraServerless(RDS) + AppSyncでバックエンドを構築する
- 18. AWS(S3)の概要について
- 19. AWS EC2を別のアカウントに移行する方法
- 20. AWS Lambda+pythonからdatadogにカスタムメトリクスを送信
【AWS】AWS認定CloudPractioner(Certified Cloud Practitioner) 勉強教材まとめ in 2021/7
## きっかけ
最近、チームに新しくPM職でjoinしてもらい、まず認定CloudPractioner取得目指して勉強してもらいましょうってことになり、
勉強に役立ちそうな教材をまとめたので、個人の印象含めこちらにもシェア。## 書籍(新しい順)
1. [一夜漬け AWS認定クラウドプラクティショナー](https://www.amazon.co.jp/%E4%B8%80%E5%A4%9C%E6%BC%AC%E3%81%91-AWS%E8%AA%8D%E5%AE%9A%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC-%E7%9B%B4%E5%89%8D%E5%AF%BE%E7%AD%96%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-%E5%B1%B1%E5%86%85-%E8%B2%B4%E5%BC%98/dp/4798062952/ref=pd_lpo_14_t_0/
【AWS】Amazon S3について
# はじめに
AWS認定試験取得に向けてAWSの知識を整理するためのまとめです。
今回はS3についてまとめます。# Amazon S3とは
AmazonS3とは、AmazonSimple Storage Serviceの略です。
99.999999999%(9×11)の耐久性があり、AWSで一番可用性の高いストレージサービスです。
認定試験などで高耐久性、高可用性を求められる場合はS3を視野に入れるとよいです。データのバックアップや、EC2にマウントしてストレージとして使ったり、
静的なWEBサイト、データレイクなどの目的でも利用可能です。アップロードする1ファイル(1オブジェクト)当たりのサイズは0~5テラバイトとなっています。
容量制限はありません。# S3の機能
S3で提供されている機能についてまとめます。
(2021/7/19時点ではまだ一部のみ)## S3バージョニング
S3に保存したオブジェクトのすべてのバージョンの保持、取り出し、復元を簡単に行えます。
何らか障害が発生しても復元が可能です。## S3レプリケーション
同一もしくは異なるリージョンで
DynamoDB localを使ってDynamoDBをローカルでデプロイする
## 概要
DynamoDBはウェブサービスとして利用できるほか、別に提供されている**DynamoDB Local**を使えばDynamoDBを**開発用ローカルDBサーバ**としてデプロイすることができます。
DynamoDB Localに関する公式ドキュメントは以下の通り。https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/DynamoDBLocal.html
上記の記述の通り、DynamoDB Localは実行可能な.jarファイルとして提供されているほか、Dockerイメージとしても提供されており、`docker-compose`で簡単にデプロイすることができます。
今回は公式の記述を参考にしつつ、`docker-compose`でDynamoDB Localをデプロイし、Node.js上から読み書きするまでを行ってみたいと思います。
### dynamodb-admin
また、**dynamodb-admin**というDynamoDB Local用のGUIを提供してくれる
【AWS DVA学習】AWS Step Functionsのチュートリアルをやってみた
# はじめに
AWS DVA取得のためのアウトプットが目的です。
# 対象チュートリアル
公式ドキュメントの`Lambdaを使用するStep Functionsステートメントマシンの作成`。
https://docs.aws.amazon.com/step-functions/latest/dg/tutorials.html
# やってみた
## LambdaのIAMロールを作成
Lambdaに割り当てるためのIAMロールを作成します。
![スクリーンショット 2021-07-18 18.37.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/344711/6a07c6bd-8ef0-c296-0f1f-3056b3b0811a.png)
ポリシーは`AWSLambdaBasicExecutionRole`を選択します。
![スクリーンショット 2021-07-18 18.37.53.png](https://qiita-image-store.s3.ap-northeast-1.
Amazon Linux によるSSL化について
下記内容でssl化するために実践しました。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-ami.html
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html#ssl_test
現状の問題としては、Apacheの再起動ができないため、
“`
apachectl configtest
“`
コマンドを行うと、下記のエラーが出ます。“`
SSLCertificateFile: file
‘/etc/letsencrypt/live/my-aws-infra.work/fullchain.pem’
does not exist or is empty
“`
SSL化を行うサイトへは、先頭https://でドメインを入力すると、このように証明書は有効にはなっていますが、
Apacheがうまく起動していないため、“`
503 Service Te
【Terraform】ALBアクセスログ用S3バケットポリシー
# はじめに
TerraformでALBバケットポリシー書きたくなった人用の**記載例(もちろん他にも方法はあります)**です。
[参考:【AWS公式】Application Load Balancer のアクセスログ](https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balancer-access-logs.html#access-logging-bucket-permissions)
# コード部分
“`s3.tf
resource “aws_s3_bucket_policy” “alb_log” {
# 対象バケットを指定
bucket = aws_s3_bucket.alb_log.id
policy = data.aws_iam_policy_document.alb_log.json
}data “aws_iam_policy_document” “alb_log” {
statement {
effect = “Allow”
【AWS】各種公式サイトの歩き方
# 概要
AWSは公式資料が充実しておりすごく便利な一方、サイトが大量にあり、用途に応じてどこを見れば良いか分からないという人の為に、私が普段利用しているサイトをまとめてみました。基本的に公式サイトの情報ですが、一部普段お世話になっておりますコミュニティの情報も記載しております。何か参考になれば幸いです。
## これから始める人向け
[おうちで学びたい人向け学習ロードマップ](https://aws.amazon.com/jp/blogs/news/aws-beginner-home-learning/)
AWSトレーナーの方が作成されたブログとなり、学習の計画立てから参考にしたいという方にオススメです。[AWSスタートガイド](https://aws.amazon.com/jp/getting-started/)
学習したい分野など目的が決まっている人はこちらが良いと思います。[クラウドエンジニア(AWS)ロードマップ2021](https://qiita.com/KurokawaKouhei/items/4e9aa3b526f3f233bf85?utm_sou
Amazon Location Servicesハンズオンが面白かった件とささやかな修正提案
#Amazon Locations Servicesハンズオンが面白かった
昨日の2021年7月17日、毎週土曜日恒例の「[AWS エバンジェリストシリーズ AWSの基礎を学ぼう – connpass](https://awsbasics.connpass.com/)」のハンズオン「[最新サービスをみんなで触ってみる はじめての位置情報サービス – connpass](https://awsbasics.connpass.com/event/215185/)」に参加しました。
https://awsbasics.connpass.com/event/215185/
昨年発表されたAmazon Locations Servicesを触ってみようというハンズオンですが、このサービスの雰囲気は「[Amazon Location — マップと位置の認識をアプリケーションに追加 | Amazon Web Services ブログ](https://aws.amazon.com/jp/blogs/news/amazon-location-add-maps-and-location-aware
AWS(S3)に画像を保存できない
s3に画像を保存する処理を書いたのですが、以下のエラーがでてしまい画像を投稿する事ができません。
バケット内のファイルを“`
$list = Storage::disk(‘s3’)->files(”);
dd($list);
“`で確認することはできます。
putができません。![スクリーンショット 2021-07-18 15.05.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/826735/af008389-38ac-eb6f-ef4d-ef4f7ad97fc9.png)
![スクリーンショット 2021-07-18 11.16.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/826735/b18b4521-4a55-9c2d-df86-615ec064e901.png)
試したこと
.envファイルの設定の見直し、○は正しい値を設定している“`php
AWS_ACCESS_K
Amazon SageMaker で事前学習済みモデルから災害判定APIを作る
## はじめに
この記事は、[5G Edge Computing Challenge with AWS and Verison](https://5gedgecloud.devpost.com/) というハッカソンで作った災害判定API の作成方法を紹介します。
特に、事前学習済みモデルからAmazon SageMaker を利用して機械学習API を作成する方法について書きます。
もっと簡単に作れるだろ:rage:という暖かいツッコミもお待ちしております。## 災害判定API:fire_engine:
今回作った災害判定API は、[Evacuation Support App](https://devpost.com/software/evacuation-support-app) というシステムのAPI の一つです。
Evacuation Support App は超簡単にいうと、ドローンで撮影した写真から、その地点で災害が起こっているかを判定し、安全な避難経路を案内するシステムです。
災害判定API は、この「ドローン
Railsでvpc endpointを利用してsesからメールを送信する
#環境
+ Ruby 2.7.2
+ Rails 6.1.3
+ terraform 1.0.2#やりたいこと
+ private subnet内にあるECS fargateからAWS SESを利用してメールを送信する#VPC endpoint
private subnet内にecsインスタンスを作った場合NAT gatwayなどを利用しないとAWS SESに接続できません。ただし、private subnet内にVPC endpointを設置することでAWSサービスとプライベートにアクセスができます。
現状、sesのvpc endpointはses-smtp-endpointのみが対応してます。
#Rails
aws公式でaws-adk-rails gemがありますが、SESとの接続はHTTPSを利用しているのでvpc endpointを利用して接続できません。ですので、VPC endpointを利用してSESからメールを送信するにはaction_mailerのsmtp設定を行うことで通信することができます。“`ruby:config/environment
AWS(EC2)でSTM32MP1 用の組込みLinux(OpenSTLinux)をコンパイルした件
この記事はSTマイクロエレクトロニクス社のプロセッサ・STM32MP1の組込みLinux(OpenSTLinux)をAWSのEC2でコンパイル環境構築した際の記録です。
AWSで組込みLinuxをコンパイルしたときにどの程度費用がかかるかざっくり知りたい方は参考になるかもしれません。# 背景
従来からシングルコアマイコンを使っていましたが、今後は機能要求・通信データ量の増加もあり、マルチコアプロセッサを検討することになりました。
シングルコアの従来システムは画像処理しながらリアルタイムな通信処理をおこなっています。
現状システムから処理負荷分散を考えると* それほど厳密なリアルタイム性が求められない画像処理を担当するコア
* リアルタイム性が求められる通信処理を担当するコアのようにしたいと考えました。
そこで前述の要求を満たすことが可能なプロセッサとしてSTマイクロエレクトロニクス社のSTM32MP1を見つけました。
STM32MP1のCortex-Aコアで画像処理、Cortex-Mコアでリアルタイム処理を担当させることができれば良さそうと思いました。
STM32MP1は
AWS IoT CoreにVPN環境からアクセス
IoT CoreがPrivateLinkをサポートしたとのことで、早速試しました。
https://aws.amazon.com/jp/about-aws/whats-new/2021/07/aws-iot-core-supports-vpc-endpoints/このような形で構成することでインターネット上にデータが出ない構成となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1180441/3c1547d6-6735-6c0b-bcb7-55a53cae1e26.png)
公式ドキュメントからの引用ですが、以下のような制約があります。
https://docs.aws.amazon.com/iot/latest/developerguide/IoTCore-VPC.html* VPCエンドポイントは、現在IoTデータエンドポイントのみサポートされています。
* MQTTのキープアライブ期間は230秒に制限されています。この期間を超えるキープアライブは自動的に230
Amazon RDS Performance Insights の中身見てみる
## RDSの構築
– データベースの作成
![1RDS Management Console – Google Chrome 2021-07-15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/f9f15de0-ae33-030e-b6f2-53752425071b.png)
– データベースの詳細を設定
基本的にはデフォルトで作成。
![2RDS Management Console – Google Chrome 2021-07-15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/f35657cd-9cce-b843-09f2-be21421ea748.png)
`Performance Insights` を設定するには 開発/テスト のテンプレートを使用
![3RDS Management Console – Google Chrome 2021-07-15.png]
SESのバウンス情報をメールで受け取る方法
# はじめに
AWS SESを使用してメールを配信する際に、何らかの原因により正常に配信できなかったメールを`バウンスメール`と呼びます。
SESではバウンスメールの発生率が一定の割合を超えると、[メール配信機能が停止されるというヤバめの仕様](https://aws.amazon.com/jp/premiumsupport/knowledge-center/ses-resolve-account-review-pause/)があります。
そのため、SESを利用するエンジニアにとって、バウンスメール対策は気を配らなくてはいけないポイントとなっています。SESにてバウンスメールが発生した際、マネージメントコンソール上からでは、どのアドレスを宛先としているメールにてバウンスが発生しているかを確かめる術がありません。(2021年7月現在)
バウンスが発生している宛先がわからないとトラブルシュートが進みません。困りました。。なんと、SNSとSESの標準機能だけを利用して、バウンス対象アドレスが含まれたバウンス情報をメールで受信することが可能です。
この記事では、その手順について記載
AWS アクセスキーの漏洩を防ぐチェックシート
# AWSセキュリティの第0歩
ユーザー名/パスワード/アクセスキー。これらは漏洩した時のリスクが大きく、AWSを使い始める時にまずなによりも対策しておくべきです。セキュリティの第1歩というより第0歩として「AWSセキュリティの第0歩 確認チェックシート」を作ってみました。ユーザー名/パスワード/アクセスキー に絞ってるため、これをやったから完璧になる訳ではないです。そもそもセキュリティに完璧はないです。
チェックした後、始めやすいところからでもいいので是非実施してください。
(ベストエフォートで時々更新していきます)##### 注意事項
* ユーザー名/パスワード/アクセスキーに絞った対策
* このチェックシートをやればセキュリティ完璧になるわけではない
* セキュリティは幅広く様々な対策が必要ですが、このチェックはそのスタートラインに立つ前にやっておくこと
* “実施方法参考リンク”は外部リンクに飛ぶ形にしてます。自己責任で実施ください。
* 個人的にやっとくといいと思うものをピックアップ
* Trusted Adviserからユーザー名/パスワード/アクセスキーに関わるも
Amplify + AuroraServerless(RDS) + AppSyncでバックエンドを構築する
# 概要
業務にてAmplify + AuroraServerless + AppSyncという構成で開発をすることになったのですが相当苦戦したので記事として残しておきます。
基本的にAWSはAmplifyとDynamoDBの使用をメインとしており、AuroraServerless(RDS)のドキュメントは薄いですしコードの自動生成などもDynamoDBに比べて少ないです。
ですので、RDBMSを使用しなければならない案件ならAmplifyを使わないことをおすすめします。## Amplifyプロジェクトの作成
フロントは何でもいいですがとりあえずReactにしておきます。
`npx create-react-app amplify_qiita`
作成したプロジェクト直下に移動して、Amplifyの設定をします。
設定はすべてデフォルトです。
`amplify init`
※amplifyを初めて使用する場合はamplify initの前に認証情報を設定する必要があります。
`amplify configure`で出来ますがここでは詳細を省きます。## APIの作成
初期化が出
AWS(S3)の概要について
# はじめに
画像投稿機能をもつアプリケーションを公開する場合、多くのユーザーにたくさんの画像データを投稿されると思います。
それらの画像データを、大量かつ安全に保存できる仕組みを取り入れる必要があります。
外部のデータ保管サービスを利用して画像を保存するための事前知識を復習するために投稿します。# データ保管サービスの利用
TwitterやFacebook等は、毎日ユーザーが写真や動画をアップロードしています。
そして、画像や動画などのデータはユーザーがいつでも見返すことができるように蓄積されます。
なので、サービス側はその大量のデータを安全にそして長期的に保存しておく必要があります。
例えば、自宅に荷物が置けない場合は、レンタル倉庫などを利用して別の場所に荷物を保管することがあります。
それと同様に、インターネットの世界でもオンライン上の倉庫のような仕組みを利用し、大量のデータを安全に長期的に保管しているのです。# ストレージサービス
インターネット上でデータを保存する場所を提供するサービスのことです。
Herokuを利用してデプロイしている場合、ストレージサービスが必要に
AWS EC2を別のアカウントに移行する方法
AWS EC2を別のアカウントに移行する方法です。やってみたら簡単でした。公式は文字ばかりなので画像付きで説明します。
# 方法
1. 移行先
アカウント番号を控えます。アカウント名をクリックすると、マイアカウントの数字が12文字で表示されます。
1. 移行元
AMIのイメージパーミッションの変更をクリックします。EC2ではなくAMIを移行することになります。ない場合はイメージを作成してください。
1. 移行元
移行先のアカウント番号を入力します。
AWS Lambda+pythonからdatadogにカスタムメトリクスを送信
# はじめに
AWS Lambdaの関数からdatadogへカスタムメトリクスを送信する方法のメモです。今回の実装にはpythonを利用しました。# 参考にした記事
– datadog自身のブログ
– https://www.datadoghq.com/ja/blog/datadog-lambda-layer/
– datadog社「カスタムメトリクス」
– https://docs.datadoghq.com/ja/serverless/custom_metrics/# 実際にやったこと
## 関数の作成まず関数を作成。ランタイムはpython3.8を作成
![datadog1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/569305/8d9f26f6-0c73-f282-13e7-ccc97baf2875.png)
## レイヤーを追加
オンプレサーバからpythonでカスタムメトリクスを送信するときはpipコマンドでdatadogライブラリを追加しますが、Lambdaなのでレ