AWS関連のことを調べてみた2022年09月20日

AWS関連のことを調べてみた2022年09月20日
目次

【AWS】用語を整理しながら学ぶAWS – part9 AWS Glue DataBrew

# 【AWS】用語を整理しながら学ぶAWS – part9 AWS Glue DataBrew

## はじめに

この記事では AWS Glue DataBrew(以下、Glue DataBrew) を学習していく記事です。
主な内容としては実践したときのメモを中心に書きます。(忘れやすいことなど)
誤りなどがあれば書き直していく予定です。

## AWS Glue DataBrewとは

簡単にまとめるとGlueをさらに使いやすくしたサービスです。
[AWS Glue](https://aws.amazon.com/jp/glue)では次のように説明されています。(一部抜粋)

> データアナリストとデータサイエンティストは、AWS Glue DataBrew を使用して、コードを書くことなくデータを視覚的に強化、クリーンアップ、正規化できます。

同じGlueと名のつくサービスですが、できることは異なります。
では、GlueとGlue DataBrewにはどのような違いがあるのでしょうか。

## Glue と Glue DataBrewの主な違い

ドキュメントの比較、検証して

元記事を表示

ソリューションアーキテクト対策_データ暗号化篇

## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:

## AWS KMS
AWSのデータベースやストレージサービスの全てと統合されており、保存データを暗号化することが可能。
ボリューム内の保存データやボリュームから作成されたすべてのスナップショットデータ保護転送中(S3への転送中)を暗号化することが可能。

## おわりに
暗号化するサービスってもっと出題された気がします。
引き続き追加します!

簡単ですが以上です。

元記事を表示

CloudFrontできちんとキャッシュを効かせるために必要なこと

# はじめに
CloudFrontが何かなどについては、あまり詳しく書きませんが、今回はCDNやキャッシュサーバのようなものという認識だけしていただければ、大丈夫です。
今回はCloudFrontでキャッシュを効かせるに当たって困ったこと、工夫したことをCloudFrontの仕組みから記事できればと思っています。

# 読んでほしい人
– CloudFrontを使い始めたばかりの人
– CloudFrontを使っているのにキャッシュがうまく効かないと感じている人
– これから、CloudFrontを使ってシステムを構築しようと思っている人

# 背景
CloudFrontを使えば、キャッシュが効くから大量のファイル配信も余裕と思って仕組みを気にせずに、S3とCloudFrontでファイル配信システムを組んだら、大量の500エラーが出てしまいました。よく仕組みを見ずにCloudFrontを前段に置けばキャッシュが効くと思っていたら、そうでなかったので起きたことと対策をまとめてみました。

# CloudFrontの仕組み
CloudFrontはエッジロケーション、リージョン別エッジキャッ

元記事を表示

AWS EC2へZabbix Managerをインストール

# はじめに
EC2(RHEL8)へZabbix Managerを導入するための、備忘録です。

# 0. 事前作業

下記作業については、事前に済ませておくこと。

“`java:パッケージの更新
# yum update
“`

“`java:タイムゾーンの変更
# timedatectl set-timezone Asia/Tokyo
“`

“`java:ホスト名の変更
# hostname set-hostname Zabbix-Server
“`

“`java:ループバックアドレスへホスト名の追加
# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 Zabbix-Server
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
“`

# 1. Apacheのインストール

“`java:
# yum inst

元記事を表示

未経験・独学でポートフォリオを作成しました【Laravel/AWS(ECS)/Docker/Nginx】

## 0. はじめに
未経験からエンジニア転職をするため、仕事の傍ら独学でポートフォリオ(Webアプリケーション)を作成しました。

本記事では、作成したアプリの紹介の他、リリースまでの経緯や学習フローについても触れられたらと思います。

アプリのURL: https://onedari-app.com
GitHub: https://github.com/mittsu0/portfolio

## 1. 簡単な自己紹介

* 25歳、社会人3年目
* 2022年3月から本格的に学習開始(未経験・独学)
* 趣味はアニメと漫画とスノボ
* 最近ジムサボりがちなので頑張りたい

## 2. アプリの紹介
特定の地域において、ユーザーが欲しい物やサービスを共有するアプリです。
サービス名は「オネダリ」とし、コンセプトは「地域の需要を可視化する」としました。

### 2.1. 概要

#### 投稿一覧画面(ホーム画面)

![投稿一覧.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1344095/05c3

元記事を表示

AWS Certified Machine Learning – Specialty を取得した

# 前回の試験

https://qiita.com/morio1101/items/3cb7af64e4350d3563e7

# 前回のAWS認定試験

https://qiita.com/morio1101/items/a011773073ecdc31600e

# はじめに

AWSの試験は有効期限があり、再認定時にどういった学習をしたらよいかを残すために本記事を作成しています

# 学習期間
7/26 – 9/19

## みちくさ(読み飛ばし推奨)

2021/11 AWS認定試験 Machine Learning を残して、諸事情から転職活動
その後、転職して仕事を覚える毎日、酒の肴にG検の学習をして取得したので、ついでにAWS MLSをチャレンジ
日々慣れない業務に取り組む+AWSの中でも未知の分野の中でも苦手意識
色々ありましたが、、、酒の力を借りて試験を受けるところまで進めることができました
no alcohol no life. アルコールのない人生は考えれません

ただSAP on AWS なる試験が増えていたので、MLS を取得しても全種制覇とはなりませんでし

元記事を表示

1日の振り返りを簡単に楽しくできるSlack botを作ってみた(furikaeru)

## :frog: 解決したい課題
僕のチームでは有志のメンバーが、毎晩仕事が終わるときに、Slackのチームチャンネルで一日の振り返りを投稿しています。

目的は2つ。
自分の頭の整理と、チームメンバーへの共有です。

しかし、毎回フォーマットをコピペしに探しに行ったり、今日自分がやったことを思い出す作業にはまぁまぁの負荷があります。一日真剣に働いて、ウィルパワーが消耗し切っているのに、これはキツイです。それで、なかなか毎日続かない。一度サボると、やらなくなってしまう。そんな循環を繰り返しています。

それを少しでも楽にできるようにしようということで、botアプリを作ることにしました。

アプリの名前は`furikaeru`にしました。:frog:

`今は一般公開はしていませんが、一応それも見据えてコード書いたので、ゆくゆくできたらと考えていたり、考えていなかったり。`会社のインフラ使わせてもらっているので、インフラ代が気になるところ。:money_with_wings:

## :frog: 仕様
### 実装済みのもの
#### 1. アプリをチャンネルに招待する

アプリのい

元記事を表示

AWS CloudFormationでサーバー環境の構築

## はじめに
AWSでサーバーを構築する方法として、まず挙げられるのは管理画面で操作する方法だと思います。1回しか使わない環境であればこの方法で十分ですが、複数のサービスを運用している場合は、開発環境などで汎用的な構成を使い回すことがあると思います。その場合、都度、管理画面で構築するのは手間がかかると思います。

そこで今回はAWS CloudFormationを使ってサーバー環境構築をコード化して管理する方法を紹介します。

## CloudFormationとは?
そもそもCloudFormationとは、AWSリソースの環境構築を設定ファイルを元に自動化できるサービスです。
クロスリージョン、クロスアカウントで管理が可能です。
IaC(Infrastructure as Code)の一つです。

## ユースケース
CloudFormationのユースケースとしては以下が挙げられると思います。
– AWSリソース構築を効率化したい
– 開発・検証・本番環境で利用するインフラを標準化したい
– ソフトウェアと同じように環境構成を管理したい

## 構成要素
– テンプレート
JS

元記事を表示

俺みたいになるな!Lambda+Node.jsでDynamoDBにputItemするだけで半日溶かしたAWS SAP

## やりたいこと
ただただシンプルにLambdaでDynamoDBに書き込みたい。それだけなんです。初体験でも無い。
なのにハマって、シルバーウィークの初日の半日それで溶かしてしまいました。
AWS SAPの称号を剥奪されるかと思って誰にも相談できませんでした。

https://qiita.com/kakudaisuke/items/174ff82b558b86d041b4

ちなみに、なんでそんなことしたいかというとコレです↓ :frog:

https://qiita.com/kakudaisuke/items/18681418cebc3bee93b5

## 実装!
### DyanmoDBの設計
完了したタスク(task)を、ユーザー(user)、日付(date)ごとに登録したいです。
で、取り出す時はあるuserとdateのtaskを全て取得したい。

試行錯誤の末、保存したいアイテムはuser, unixtime, date, taskにしました。

ちなみに、user, dateはDynamoDBの予約語。予約語だけど使えちゃう。queryする時にちょい厄介だけど使

元記事を表示

フロントエンド(JavaScript) から Kinesis Data Streams に Cognito ID プール (未認証) を使ってデータを送付してみた

# はじめに

フロントエンドの JavaScript で、定期的に AWS 側にデータを送信したい時があります。例えば、Web ブラウザを操作するユーザーのクリック数を取得したい、といったことです。これを実現する方法は色々方法はあるのですが、今回は Cognito Identity Pool と AWS SDK for JavaScript v3 を使っていく方法を検証していきます。フロントエンドで生成したデータを JavaScript を使って AWS に送付します。

整理するとこんな内容を確かめていきます。

– フロントエンドから、Kinesis Data Streams にデータを送る
– AWS SDK for JavaScript v3 を利用して、未認証ユーザーとして Cognito Identity Pool から一時的なクレデンシャル情報を取得する

今回は、Cognito Identity Pool を使って未認証ユーザーでも AWS にデータを送る方法を確認していきます。AWS SDK for JavaScript v3 を使ってAWS サービスと連携する

元記事を表示

Terraform未経験からS3, CloudFrontの作成ができるようになるまでにやったこと

## 本記事について

terraformを初心者がこなすためにつまづく点やどうするべきかといったポイントのメモ

## 対象

– UdemyでAWSについて学んだことのあるレベルを想定
– terraformは使ったことないけど、なんとなく概要はわかる。

## 本記事でやること

環境構築
STEP1 S3作る
STEP2 S3とCloudFront作る

## 環境

Mac OS 12.5 M2

## terraformとは?
AWSに関しては、

AWSの設定書いて、terraform apply したら反映されるやつ。

## インストール

dockerで構築するって手もあるが、tfenvのほうが楽そうだったのでtfenvを選択。

“`
$ brew install tfenv

# バージョン確認
$ tfenv list-remote

# インストールでバージョン指定しなかったら失敗した。指定したら成功した。
$ tfenv install 1.2.8
$ terraform -v
“`

AWSCLIもインストール

IAMでユーザー作ってacces

元記事を表示

aws configureに、消去したAWSアカウントがdefaultになっていたので修正してみた

## 概要
事の発端に気づいたのは、ECRにログインするコマンドを叩いた際、現在使っている情報とは異なるアカウントに接続しに行っているのに気づき、何故こんな事になっているのか原因が全然分からなかった為、調査を行いました。
最初に、`aws configure list`で`aws configure`の設定情報を調べた際、かなり昔に消去したアカウントの情報が`default`で設定されている事に気付きました。話は前後しますが、`profile` を使えば問題なくAWS CLIのコマンドは動作しますが、この方法は結構面倒な事が多い事を業務で知っていたので、なんとしても、`aws configure`の`default`設定を今使っているアカウントにしたくて、調査しまくり修正を行いました。
同じ問題で悩んでいる皆様に、修正方法をお伝えできればと思い記事に残しました。

## 原因調査と修正方法
いろいろ設定を直しても全然上手くいかない為、`aws configure list`をずっと眺めていると、`Type` に`env`が付いている事に気づきました。
(`profile`

ソリューションアーキテクト対策_IAM篇

## はじめに

## IAM
### IAMポリシーの種類
まず、2つに分かれる。

・管理ポリシー
・インラインポリシー

管理ポリシーがさらに2つに分かれる。

・管理ポリシー
 ・AWS管理ポリシー
 ・カスタマー管理ポリシー
・インラインポリシー

AWS管理ポリシーはReadOnlyAccessみたいないつもデフォルトで使ってるリソースのこと。
カスタマー管理ポリシーは自分でジェネレータとか使って作るいつものやつ。

この2つは複数のプリンシパルエンティティ(IAMユーザー、グループ、ロール)にアタッチできる。

管理ポリシーはポリシーのアタッチ/デタッチが自由にできる。
インラインポリシーはプリンシパルエンティティと1:1の関係であるため、複数のアタッチはできない。

いっつも忘れるけどプリンシパルは主な、とかそういう意味。

### IAMデータベース認証とは
EC2インスタンスからRDSにセキュアに接続したい時とかに使う。
この認証方式ではID/Passwordではなく一時的な認証トークンを使用する。
IAMユーザーまたはロール、それに認証トークンを加えてRDSへ接

AWS Lambda + Node.jsの実行環境でローカルタイムを扱いたいが、とりま日本時間JSTに甘んじる(JavaScript)

## やりたいこと
AWS Lambdaで時間を扱うのに、日本時間JSTが欲しい。(本当はローカルタイムが欲しい。)
だけど、Lambdaではローカルタイムという概念がないらしく、全てUTCになってしまう。
日本時間JSTが欲しいと思っていると、9時間ずれた値が返ってきたり、表示が`19/9/2022`となって欧米か!とツッコミたくなったり、してしまう。

ちなみに、なんでそんなことしたいかというとコレです↓ :frog:

https://qiita.com/kakudaisuke/items/18681418cebc3bee93b5

## 実装!
色々調べたが簡単に済ませたかったので、とりま+9時間してJ、日本的なフォーマットに自力でした。

“`js:index.js
let dateTime = new Date();

// JSTにする
time.setHours(dateTime.getHours() + 9);

// 2022/9/19の形にする
const year = dateTime.getFullYear();
const month = dateTim

ソリューションアーキテクト対策_VPN篇

## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:

## VPNに関連したAWSのサービス
### AWS サイト間VPN(AWS Site to Site VPN)
オンプレミス環境とVPC間でIPsec VPNを構築し、相互のLAN同士の通信を可能にするVPCの機能。
グローバルに分散されたアプリケーションの場合、AWS Global Acceleratorと連携することで、サイト間VPNの高速化オプションはさらに優れたパフォーマンスを提供する。

### AWS VPN CloudHub
複数のカスタマーゲートウェイを使って仮想プライベートゲートウェイを作成し、サイト間接続をすることができるサービス。

### AWS Client VPN
ユーザー需要に合わせて自動的にスケールアップ・スケールダウンする、フルマネージド型で伸縮自在なVPNサービス。
クライアント端末からAWSにアクセスする際にVPNを構成して安全に接続する際に利用するVPNサービスとなっている。

### (参考)AWS

KMSカスタマー管理型キーの設定内容まとめ

# KMSとは
データの保護に使用される暗号化キーの作成と管理を行うマネージドサービス。資格においてもAWS SCSでも頻出だが、キーのタイプで「対称/非対称」といった馴染みのないワードが出てきて混乱しやすいサービスであるため、今回はカスタマー管理型キーのパラメータの設定内容がどういうものかに焦点を当ててまとめていきたい。

# 設定内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449478/bce09f2a-6faa-7b13-53a0-a73f5936bbac.png)
対称/非対称と書くとわかりづらいが、[[アップデート] KMS で非対称キーペア(公開鍵暗号方式)が利用できるようになったのでデジタル署名を試してみました!](https://dev.classmethod.jp/articles/key-management-service-supports-asymmetric-keys/)によると、要するに「公開鍵暗号化方式」と「共通鍵暗号方式」のことらしい。
基本情報を

ソリューションアーキテクト対策_タグ付け篇

## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:

## タグ付けのベストプラクティス
・個人情報(PII)などの機密情報や秘匿性の高い情報をタグに格納しない

・タグには標準化された、大文字と小文字の区別がある形式を使用し、全てのリソースタイプに一貫して適用する

・リソースアクセスコントロールの管理、コスト追跡、オートメーション、整理など、複数の目的に対応したタグガイドラインを考慮する

・自動化されたツールを使用して、リソースタグを管理できる。
AWSリソースグループとリソースグループのタグ付けAPIを使用すると、プログラムによるタグの制御が可能になるため、タグとリソースの自動的な管理・検索・フィルタリングが容易になる

・タグの利用が少なすぎるよりは、多く利用することが好ましい

・ビジネス要件の変化に合わせてタグを変更するのは簡単だが、将来の変更の影響を考慮すること。
たとえば、アクセス制御タグを変更した場合、そのタグを参照してリソースへのアクセスを制御するポリシーも更新する必要がある。

【AWS】Database Speciality不合格になったので反省文を書いてみる

すぎちゃんです。

先日、AWS Certified Database – Specialtyに挑み、無事に爆死したので、悔しさを紛らわせるためにも受験の記録を殴り書きします^^

## ワイのスペック(自己紹介も兼ねて)
– 暗記系科目苦手マン
– AWS実務未経験
– SAA, DVA持ち。

はい。筆者のスペックは上記の通り「実務未経験のAWS童貞」です。

~~UdemyのハンズオンでAWSをちょっぴり触ったことがあるので、保健体育をちょっと齧った頭でっかちの童貞といったところでしょうか?~~

そんな私が9/17に[「AWS Certified Database – Specialty」](https://aws.amazon.com/jp/certification/certified-database-specialty/)という試験を受けてきました。

## そもそも「AWS Certified Database – Specialty」てなんぞ?

> この資格は、組織がクラウドイニシアチブを実装するための重要なスキルを持つ人材を特定して育成するのに役立ちます。AWS

AWS利用金額をメール通知する

# はじめに
AWSの利用金額の監視のため、日々、利用金額をメールに通知する環境をCloudFormationで楽に構築します。
利用するアカウントが増えるたびに構築するのが手間なので、作成しました。

# 説明
:::note info
– 始めにCostExplorerを有効にする必要があります。有効になるまで1日くらいかかります。
[参考リンク](https://docs.aws.amazon.com/ja_jp/cost-management/latest/userguide/ce-enable.html)
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155165/4e5dcf75-afa0-f463-dc72-93a19da1f8d5.png)

– このような構成を自動生成します。
メール通知の宛先は手動で追加するようにしています。
– 月曜日〜金曜日の、午前9時にメール通知します。

# 使い方
## 構築
1. ブラウザで、AWSのアカウントにログイン
2.

【AWS初心者向け】5分でわかるCloudFront

# はじめに
「AWSのサービスを学ぼうと公式サイトを見たけど、よくわからなかった」という人は多いと思う。自分もAWSを本腰入れて勉強するまで、各サービスの特徴や出来ることの理解に時間がかかった。
~~だって[AWSの公式](https://aws.amazon.com/jp/cloudfront/)見ても用語とか意味がわからんのじゃもん!!!~~

最近仕事でCloudFrontを構築し、メリットや出来ることが理解できたため、復習も兼ねて記事を書いてみようと思った。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554133/323ad42e-c7e4-7e47-aa29-08480f2edfab.png)

# CloudFrontとは
CDN(コンテンツ・デリバリ・ネットワーク)です。
そのまま言葉を飲み込めばよくて
– コンテンツ(画像・動画・ファイル など)を
– デリバリ(運んでくれる)
– ネットワーク

って感じです。

じゃあ具体的にどうコンテンツを運んでくれるの?