AWS関連のことを調べてみた

AWS関連のことを調べてみた

AWSストレージサービスまとめ

# はじめに
AWSでは多種多様なストレージサービスを提供していますが、その種類は従来からあるストレージプロトコルに準拠したものです。各ストレージ種別に対してAWSではどんなサービスを提供しているのかをまとめたいと思います。

## ストレージの種別

以下は各ストレージとAWSサービスの対応をまとめたものになります。

|題目|ブロックストレージ|ファイルストレージ|オブジェクトストレージ|
|—|—|—|—|
|特徴|「ブロック」単位でデータを管理、低レイヤーでのチューニングが可能な為性能を最適化できる。|ツリー構造の「ファイル」単位でデータを管理。直観的に利用できる。|「オブジェクト」単位でデータを管理。フラット構造で拡張性が高い。|
|プロトコル|SCSI/iSCSI/FC/SAS/SATA|NFS/SMB/CIFS|HTTP/HTTPS|
|用途|トランザクションデータ、更新頻度の高いデータ|共有ファイルデータ|バックアップデータや大容量コンテンツの保存|
|イメージ|![image.png](https://qiita-image-store.s3.ap-n

元記事を表示

lambyを使ってみる

# はじめに
先月、AWS SAMを利用してrubyをlambdaで動かせることは分かったのですが、railsをlambdaで動かせないかと調べたところ、lambyが出てきたのでこの記事は調査禄となります。
(lambyそのものは前々から知ってたものの、今まで触ったことがなかったので今回が初となります)

# スタートアップに準じて触ってみる

https://lamby.cloud/docs/quick-start

## 準備
quick-start記載の以下のコマンドを実行
“`
$ docker run \
–rm \
–interactive \
–volume “${PWD}:/var/task” \
ghcr.io/rails-lambda/lamby-cookiecutter \
“gh:rails-lambda/lamby-cookiecutter”
“`
プロジェクト名を入力
“`
project_name [my_awesome_lambda]: learning_deliverable
“`

コンテナの中に入り、awsの設定を

元記事を表示

AWS 12冠(全冠)したので、先輩(約30名分)の体験記も見ながら振り返る

# 1. はじめに
– 初めてAWSの資格(SAA)を取得してから7年もかかってしまったが、やっと全部(2024/2時点の12個)揃えることができた。
– 体験記を書こうとしたら、既にたくさんの同様の記事があったため、せっかくなのでよく聞かれること(取得動機、勉強法、効果など)について、先輩の体験記も見ながら、自分の結果とあわせて振り返る。

# 2. 先輩の体験記
– 「AWS12冠」「AWS全冠」などのキーワードでヒットするブログやプレゼン資料計37件の内容を拝見し、全冠達成者の方の取得動機、勉強法、効果などを確認した。(Alexa Skill Builderが廃止され、SAP on AWSが追加された後の、2021~2023年あたりの資料が対象)
– 拝見した体験記のリンクは記事の最後に。ここでは特に参考になると思ったものを紹介。

1. [結局、AWS認定12冠って何の意味があるの?](https://qiita.com/yamazombie/items/d56e1f66ec03f8d115f4)
1. [AWS 全冠(12冠)したのでメリットや勉強法をまとめま

元記事を表示

AWS EC2でNext.jsの環境構築する際の備忘録

# 概要
Next.jsをEC2を利用してデプロイする際の環境構築をする機会がありましたので、その際に出会った問題を羅列しております。

## 環境
– Ansible
– Capistrano
– Ubuntu v22.04.3
– Next.js v14.x

## Node.jsのインストール
Ubuntu標準のNode.jsパッケージはv10.xのため、NodeSourceを利用して指定のバージョンをインストールします。

“`ansible/task.yml
# nodeの特定のバージョンをインストールするための下準備
– name: import gpg key
apt_key:
url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key
keyring: /etc/apt/keyrings/nodesource.gpg

– name: create nodesource repository
apt_repository:
repo: deb [signed-by=/et

元記事を表示

サポーターズ主催の技育CAMPに参加しての感想(企業賞受賞!) ③


サポーターズ主催の技育CAMPに参加しての感想 ③

**ダース・ベイダーサイド**

正直スターウォーズは見たことがない。

見ようとは思っているが時間がない。

だがダース・ベイダーは知っている。

なんか黒いやつだ。

多分、ラスボスだ。

なんとなくデータベースと語感が似ている。

多分なんか保管してくれるんだろう。

あとアース・ネイチャーにも似ている。

多分蚊を亡きモノにしてくれるんだろう。

あとナイスネイチャにも似ている。

多分可愛いんだろう。

まとめると

ダース・ベイダーは
黒くて、なんか保管する、蚊をやっつける可愛いラスボスなのです。多分。

**目次**
– [1. ハードサイド](#1-ハードサイド)
– [2. データベースサイド](#2-データベースサイド)
– [3. おわりに](#3-おわりに)

## 1. ハードサイド

**ラズベリーパイを使用した傾斜検知システムの開発**

LocalStack入門

ローカルスタックはコンテナで動作するクラウドサービスエミュレータで、awscliやboto3からAWSのように操作することができます。
バックエンドでboto3を利用するときに、いちいちモックの実装を組まなくていいのでテストが楽になります。

– [Dashboad| LocalStack](https://app.localstack.cloud/dashboard)
– [Docs | LocalStack](https://docs.localstack.cloud/overview/)

# ■ 起動

https://docs.localstack.cloud/getting-started/installation/#docker

## Dockerで起動する方法
“`bash
docker run \
–rm -it \
-p 4566:4566 \
-p 4510-4559:4510-4559 \
localstack/localstack
“`

## Docker Composeで起動する方法

https://docs.localstac

AWSの請求関連の設定

## 予算(Budgets)
プロジェクトに合わせて指定した料金以上になった時にメールが送信されるようにBudgetsを設定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3664223/d5a0001d-8580-8724-fd8f-b7be97bb86e2.png)
不正利用などで想定外に料金が増えた時などに気付く切っ掛けになります。

## 請求設定
初期設定だと請求書がメールで配信されないので「PDF 請求書を E メールで配信」を有効化。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3664223/ce126ff0-7f50-e638-6757-8f7d2cb22062.png)
この設定を有効化すると代替連絡先にも請求書が配信されるようになります。

## 代替連絡先
「代替連絡先」の「請求に関する連絡先」に請求書PDFを共有するメールアドレスを設定。
![image.pn

AWS_DeepRacerの実装_パート1

### 【はじめに】
今回機械学習を勉強する上でAWSのDeepRacerを使用し学習を行います。

### 【DeepRacerとは?】
①AWSが提供する機械学習に基づく1/18の自律走行モデルカーで強化学習を実践して学ぶことができます。
いわゆる自動運転をイメージしていただければわかりやすいと思います。

②DeepRacerでは強化学習という機械学習の一分野を使用します。
機械学習の分野に関しては主に下記3種に分類されます。
・教師なし学習
・教師あり学習
・強化学習

③ユーザーはAWSの仮想環境においてモデルを訓練し、訓練したモデルを実際のDeepRacer車両に適用し、実世界でテストすることができます。

### 【強化学習とは?】
強化学習では「どのようなアクションを起こすべきかをアクション後に得られる報酬を基準にアクションの確率を調整する」といった試行錯誤を行い最適解に近づけるという手法をとっています。

強化学習のワークフローに関しては以下の流れをとっています。
①環境の作成
強化学習エージェントが動作する環境を定義します。
シミュレーションモデル、または実際の物理

HULFT 10 for Container Services の環境構築をしてみた

## はじめに
こんにちは。すぎもんです:smile:

次世代HULFTということでコンテナ環境で利用可能なHULFTが近々出るということで、本番リリース前に勉強がてら触ってみました。「HULFTがコンテナ化」するということで、これまでオンプレやIaaS上にインストールして利用してきたHULFTとは技術的に大きく異なりそうです。

…実はその前段として、[コンテナについて調べてみた](https://qiita.com/sugimon/items/cf7533c706b978240154)の記事の通り、少しだけコンテナ周りの知識整理をしていたのです。

## 今回やること

HULFT10 for Container Servicesの「環境構築」をしていきます。今回の新たなHULFTは、AWSのMarketplaceから利用するということで、そこら辺の確認もしていきます。

  ①AWS MarketplaceからHULFT10 for Container Servicesをサブスクライブ
  ②関連するAWSリソース設定
  ③HULFT10 for Container Serv

AWS認定試験の個人的勉強法

会社負担でAWS試験を受けさせてくれたので、資格を全て取得しました。
半年間で全て取得することがでたので、難易度や勉強法についてシェアしたいと思います。
## 試験前の私のスキルセットについて
3年前にSAA(Solutions Architect – Associate)を取得していましたが、更新が間に合わず失効している状態でした。
オンプレは未経験です。
GCPとAzureの下記資格は保有していましたので、クラウドに対する苦手意識はありませんでした。
– Azure Fundamentals
– Azure Solutions Architect Expert
– GCP Professional Cloud Architect
– GCP Professional Data Engineer

## AWS認定試験とは
2024年2月時点、AWS認定試験は下記の12個があります。

Foundationalレベル
– Cloud Practitioner

Associateレベル
– Solutions Architect – Associate
– SysOps Admin

Japan AWS Jr. Champion活動記録 Vol.9

## はじめに
1月は、Jr. Champions有志による自主勉強会とAI/ML Workshopが開催されました。今回はその2つについて書いていきます。これからも活動に関して、定期的にアウトプットしていきます!

↓ 前回の記事はこちら ↓

https://qiita.com/am_i-12/items/ed6759b089a14fcee931

## Japan AWS Jr. Champion Partner Programとは
> [「Japan AWS Jr. Champion Partner Program」](https://aws.amazon.com/jp/blogs/psa/2023-aws-jr-champions/)とは、AWS Partner Network (APN) 参加企業に所属し、現在社会人歴 1 ~ 3 年目で AWS を積極的に学び、アクションを起こし、周囲に影響を与えている APN 若手エンジニアを選出しコミュニティを形成する、日本独自の表彰プログラムです。本プログラムでは、AWS に関して実践してきた技術的な挑戦や、コミュニティのリードなど

AWS CloudFormationでLambdaを構築してみる

# はじめに
CloudFormationを用いて、AWS Lambda構築していきたいと思います。
今回はLambdaを構築するところまで実施していきます。
また、Lambda@EdgeとしてCloudFrontと連携して利用するところは次回以降に記載予定です。
AWS Lambda@EdgeはCloudFront が配信するコンテンツをカスタマイズする関数を実行できるコンピューティングサービスです。

# 目次
・Lambdaの設定項目
・CloudFormation作成
・最後に
・参考

# Lambdaの設定項目
今回はnodejs.18.xを利用し、コードについてはS3から取得してくるようにします。
Lambda@Edgeはバージニア北部にのみ作成可能なため取得してくるS3もバージニア北部であるひつようがあります。また、今回作成するLambdaもバージニア北部に作成するので注意してください
また、IAMロールとCloudFrontへのアクセスを許可するためのポリシーステートメントを作成します

上記以外の項目についてはCloudFormationの設定を見てご確認ください

AWS LambdaとGoogle Drive APIを使用したファイル転送の自動化

# AWS LambdaとGoogle Drive APIを使用したファイル転送の自動化

## はじめに

この記事では、AWS Lambda関数を使ってS3バケットからファイルを取得し、Google Driveにアップロードする方法について説明します。
Pythonを使用し、boto3とGoogle Drive APIを活用することで、ファイルの自動転送を実現します。

クラウドサービスを使用することで、ファイルの自動化された管理が可能となります。
AWS Lambdaはサーバーレスのコンピューティングサービスであり、Google Drive APIを使用することでファイルのアップロードや管理が簡単にできます。
この組み合わせにより、効率的なファイル管理システムを構築することができます。

## フロー

以下のシーケンス図は、AWS Lambdaを使用してAmazon S3からファイルを取得し、Google Driveにアップロードするプロセスを示しています。

1. **Lambda から S3 へ**: ファイルダウンロード要求
2. **S3 から Lambda へ**:

EBSのスナップショット削除のコマンド

### はじめに

CI/CDでEC2を自動デプロイ時にEBSのスナップショットが作成されるのですが、ケアしないとこれが溜まり続けてしまいます。
記事作成時点では東京リージョンで0.05USD/GB*1ヶ月です。
(料金はこちら:https://aws.amazon.com/jp/ebs/pricing/)

例えば20GBのEBSを使用している場合は1つのスナップショットあたり毎月1USDかかります。
開発環境でdevelopにPRがマージされるごとにデプロイされると毎日のようにこれが加算されていきます。
ケアしないと年間でかなりの額になります。

### 前提:EBSスナップショットとAMI

EC2インスタンス作成時にはAMIが作成されます。
AMIはOSやアプリを記録したテンプレートで、インスタンス起動時にこのテンプレートがEBSにコピーされます。
さらに、AMIにはEBSのスナップショットも含まれています。
そのため、EBSスナップショットを削除する際には関連するAMIを先に削除しておかなければエラーになります。
一方、AMIだけ削除してもEBSは削除してくれないので注意が必

Assume Roleとは 学習記録

Assume Role
通常はアクセスできないAWSリソースへのアクセスに使用できる一時的なセキュリティ認証情報のセットを取得する権利を付与

わかりそうでわからないため、色々整理したく

ポリシーとは
以下の基本となIAMポリシーの要素をJSON形式で記述し、アクセス制御を実現する
|IAMポリシー要素 |
|:——————|
|誰が|
|どのAWSサービスへ |
|どんな操作を |
|許可する/許可しない|
|どんなとき|



|ポリシーのアタッチ先 |
|:——————|
|ユーザー|
|グループ|
|ロール|

|No|各種のアイデンティティベースのポリシー|説明|
|:–:|:–:|:–:|
|1|AWS マネージドポリシー|AWS 管理ポリシーは、ユーザー、グループおよびロールに適切な権限を割り当てるのに適している。ただし、AWS 管理ポリシーで定義されているアクセス許可は変更できない。アタッチ先は、|
|2|カスタマ

AWS Auto Scaling

内容
・趣旨目標
・教材
・使用できるサービス
・目指す構成(基準)
・CloudFormation(ハンズオン開始)
・EC2の起動テンプレートから作成
・Auto Scalingグループを作成
・Auto Scalingのスケジュール設定
・Auto Scalingの動的スケーリング設定
・EC2へ負荷をかけ、スケールアウト
・負荷を停止し、スケールイン
・EC2インスタンスのヘルスチェックを検証
・リソースの削除

## 趣旨目標
実際に触れることで理解の深化!困った箇所や勉強になった箇所を中心に記録します。

## 教材

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Auto_Scaling-2022-reg-event.html?trk=aws_introduction_page

※私の場合、無料枠内でハンズオンできたので記事を参考にされてください!

## 使用できるサービス
AWS CloudFormation,VPC,ALB

## 目指す構成(基準)
![image.png

パブリッククラウドの比較 その1

## 前置き
* 各クラウド事の特徴や勉強する際の参考資料をまとめてみました
* まずは各クラウドの基礎が勉強できるページのリンクをまとめてみました
* 今後追記していくかも

## AWS
* アマゾンが運営しているクラウドサービス 世界で最も利用されているパブリッククラウドのためとりあえずクラウドを使うときの選択肢に上がる
* 参考サイト
* [クラウドの基礎](https://explore.skillbuilder.aws/learn/course/external/view/elearning/15139/cloud-for-beginners-japanese-only-na-ri-ben-yu-shi-xie-ban)
* [AWSの基礎](https://explore.skillbuilder.aws/learn/course/external/view/elearning/1875/aws-cloud-practitioner-essentials-japanese-na-ri-ben-yu-shi-xie-ban)

## Azure
*

「再読み込みって3つあんねん」 ←4つ目作ってみた

https://forest.watch.impress.co.jp/docs/serial/chrometips/1152903.html

## きっかけ

「ステージング環境でUIが崩れているので、修正お願いします。」

「修正してデプロイしました。スーパーリロードしてみてください。」

「変わってないですね。」

「本当ですか?」

「はい、変わってないです。」

「CloudFrontのキャッシュをクリアしました。」

「あ、変わりました。」

「めんどくさいなあ…」

## 概要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/759541/b510cdf0-d81a-8b6e-8d68-3071c91df0e4.png)

*「10人のうち9人はチョコレート好き。そして10人目は嘘をついている」*
これはアメリカの漫画家、ジョンG.トゥリアス(John G. Tullius、1953年生まれ)の言葉です。

*「10人のうち9人は静的ファイル配信にCDNを利用。そして1

motoのバージョン5.x以降のimportエラーについて

# motoとは?
motoは、AWSの各種サービスをモックするためのPythonライブラリです。
DynamoDBやS3などのマネージドサービスをモックにすることで、実際のAWS環境を用意せずともローカル環境でpytestなどができます。

# moto v5系でのDecoratorの変更
そして、いつの間にかmotoのバージョンが5.xに上がりました。
https://docs.getmoto.org/en/5.0.0/docs/releases.html

今回のメジャーアップデートでの注意すべき点は以下です。
> All decorators have been replaced with mock_aws

今までは、“`@mock_s3“`や“`@mock_dynamodb“`のようにAWSサービス名でDecoratorを記載していましたが、今後は全て“`@mock_aws“`に統一されるとのことです。

これにより今まで作成したpytestをそのままmoto v5系の環境で使おうとすると、“`import Error“`にはまります。

“`Dynam

ECS on Fargate でトレースを取得する

# 概要

AWS Distro for OpenTelemetry サイドカーを作成することで、Amazon ECS は、アプリケーションから AWS X-Ray にトレースをルーティングします。

https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/trace-data.html?icmpid=docs_ecs_hp-task-definition

https://aws.amazon.com/jp/blogs/opensource/simplifying-amazon-ecs-monitoring-set-up-with-aws-distro-for-opentelemetry/

# 設定

必要な設定は 2 つだけ

– タスクロールを作成する
– AWS Distro for OpenTelemetry サイドカーコンテナを追加する

## タスクロールを作成する

タスクが、AWS X-Ray にトレースをルーティングするための権限をタスクロールに追加してあげる必要があります。

※ `A