AWS関連のことを調べてみた2023年07月29日

AWS関連のことを調べてみた2023年07月29日
目次

非インフラエンジニアがAWS SAA-C03に合格した方法

皆さん初めまして。
私は、普段はSierとしてローコード開発をメインに業務しております。
ローコードではありますが、Sierとして働く中で、SaaSパッケージの基盤になるのがAWSで、度々見かけることが多くなったため、せっかくだし私もAWSを学んでみよう!
と思ったのが今回受験するに至るきっかけです。

そんな私が、インフラの知識0の状態でAWS SAAを約3か月勉強して合格できたので、
**・どうやって勉強したのか?**
**・使った本、参考書は?**
**・試験勉強で意識したポイントは?**

など、私の所感ですが記事を残したいと思います。

以下の記事はこんな方向けです。
・AWS使ったことないけど知りたい、知るためにいい方法を見つけたい
・AWS SAAの資格試験の参考書が多すぎて何を選べばいいかわからない
・AWS SAAで実際にどういう問題がでるのか、雰囲気をつかみたい

:::note warn
合格体験記として、あくまで「試験に合格するための勉強法」として記載しています。実際のサービスの使い方などについてはすっ飛ばしているため、ご承知おきを。
:::

エビデンス

元記事を表示

AWS CLF合格したのでメモ✏️

## 資格取得のモチベーション
– プロジェクトが変わるので心機一転でスキルアップのために受験
– 性格上、資格試験は向いていないのですが一番簡単な位置付けなのでちょっと頑張ってみようと思い

## 勉強したこと
– 通称、緑本
– 1年前くらいに買っていて積読していた
– 各章の章末問題に使った
– Udemy
– 評判が良いのでセールの時に購入していて放置していた
– 基本と応用に分かれていて、応用は本番より難易度が高いとのこと
– 基本は9割くらい
– 応用は7割くらいの正答率を目指しつつ間違えたところを見直した
– 公式のトレーニング
– 無料だし、公式しか勝たん。ということでやった
– ちょっと古い情報もある
– 例えば、AWS Well-Architected は、`持続可能性`が書かれていなかったりした
– 公式の模擬試験
– 無料
– ただし、20問
– 試験3日前にやって85%だったので安心して試験に向かった

## 感想
– 書籍とUdemyの基本問題の出題範囲を

元記事を表示

給与明細WEBアプリ開発インフラ編

挨拶:このWEBアプリの開発は私がエンジンニアになって初めて携わった開発です。まだまだ勉強不足なところがありますので気になったところがあればお気軽にご指摘頂けたら幸いです。

アーキテクチャ図:
![screenshot .png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3321327/2cb18989-a111-f846-1fd3-dbb73c82b6a2.png)

アーキテクチャの説明:
今回はシンプルで必要最小限の構成で設計しました。

ポイント
1.フロントサーバーとバックエンドサーバーをプライベートサブネットに置き
ALBを通して外部と通信できるようにしてます。
サーバーを直接インターネットに公開せず保護することができます。
パブリックサブネットにメンテナンスサーバーを一つ設置して
必要な場合はこちらのメンテナンスサーバーからアプリケーションのサーバーに接続して
サーバーの中身を操作します。

2.将来アクセスの増加によりサーバーがマルチAZに構成を変更する可能性もあり
ALBを経由することで

元記事を表示

東京リージョンにやってきた MySQL HeatWave on AWS を試す (4) サンプルデータを使って他のクエリを流してみる編

こちらの記事の続きです。

– **[東京リージョンにやってきた MySQL HeatWave on AWS を試す (3) バックアップをリストアしてサイズを変えてみる編](https://qiita.com/hmatsu47/items/4c61ce90adcdbbea74e9)**

https://qiita.com/hmatsu47/items/4c61ce90adcdbbea74e9

「on AWS」固有の内容ではないのですが、(2) でロードしたサンプルデータを使い、別のクエリを流して HeatWave の効果を確認してみます。

:::note warn
2023/7/29 時点の情報です。
今後、結果などが変わる可能性があります。
:::

## 試すクエリの内容

サンプルデータには複数のテーブルがありますが、そのうち

– `part`
– `partsupp`

の 2 つを使った集計クエリ(`GROUP BY`して`SUM()`)、および

– `supplier`

を加えた 3 つのテーブルの単純な結合、の 2 種類のクエリを試します。

:::note

元記事を表示

使ってないDockerリソースはこまめに削除しないとエラーが発生する

## 事象

Amazon ECRにイメージをプッシュするために、Dockerコンテナをビルドしようとしたところ、以下のエラーが発生しました!
**ENOSPC: no space left on device**

“`
docker build –build-arg AWS_ENV_PATH=<パラメータストアのパス> -t <タグ名> -f
“`

## 対処法

この問題の原因はディスクスペースの不足でした!使っていないDockerリソースを削除することで、問題を解決しました!具体的には、以下のコマンドを使用しました!

“`
docker system prune -a
“`

これにより、未使用のDockerイメージ、コンテナ、ボリューム、ネットワークが削除され、ディスクスペースが解放されました!今後は、使っていないDockerリソースをこまめに削除するようにします!

自らの備忘録のために投稿してますが、なにかお役に立てましたら幸いです!:clap:
また、なにか間違ってましたらご指摘いただけますと幸い

元記事を表示

【個人開発】無料でクラウド環境のセキュリティ診断サービス「Cloud Security」をリリース

先日、「**Cloud Security**」という無料で使えるクラウド環境のセキュリティ診断サービスを公開しました。

Cloud Security
https://app.cloudsecurity.jp/

本記事はそのサービスの使い方の説明です。

## 使い方

### アカウント作成

 最初はアカウントの登録を行います。

1. サイト( https://app.cloudsecurity.jp/ )にアクセスします。
 ログイン画面が表示されますので、「新規登録」画面へアクセスします。

2. アカウント情報を入力し「新規登録」ボタンを押下します。
AWS上でWindows Serverのあれこれ試してみる ~Active Directory環境の構築~

# はじめに
AWS上でActive Directoryのドメインコントローラーを作成したのであれこれ備忘録として残していきます。

# 目次
Active Directoryって?
AWS構成図
AWSネットワーク構築
AWSサーバーインスタンス構築
Elastic IP 設定
OSの初期設定
ADのインストール
動作確認
さいごに

# Active Directoryって?

Active Directory(アクティブディレクトリ)は、Microsoftが提供するネットワークサービスおよびディレクトリサービスです。主にWindowsベースのネットワーク環境で利用されます。今回はActive DirectoryをADと略していきます。
主な機能は以下の通りです。
– ADは、ユーザーアカウント、コンピュータ、プリンタ、ファイル、グループなどのリソースをオブジェクトとして階層的なデータベースで管理。ユーザアカウントの作成、更新、削除が可能。
– ADは、ネットワーク全体を1つ以上の「ドメイン」と呼ばれる論理的な区分に分割。各ドメインは独自のセキュリティルールで管理可能。

元記事を表示

Next.jsを使ってAWS Cognitoユーザープールにサインアップ・サインインリクエストしてみる【その①】

# はじめに
普段のお仕事ではフロントエンドを担当していて、主にNext.js × TypeScriptを使用しています
AWS資格の勉強をしているものの、AWSに触れる機会がなく
気になっていたAWS Cognitoを使って遊んでみました

2回に分けて記事を書いていきます!

## AWS Cognitoとは?
AWSが提供する、Webアプリとモバイルアプリ用のユーザー認証サービスです
Cognitoには主に2つの機能があります

**ユーザープール**
– ユーザーのサインアップやサインインができる
**アイデンティティプール**
– ユーザにアクセス許可を割り当てたり、外部サービスと連携してサインインできる

今回はサインアップ(ユーザーの作成)が行いたいので、ユーザープールを使用します

## Cognito側の準備
早速ユーザープールを作成していきます

### ①サインインエクスペリエンスを設定
どの要素でユーザーがサインインできるかを決めます
今回は**ユーザー名**、**Eメール**両方からサインイン

元記事を表示

[AWS Q&A 365][AppSync]AWSのよくある問題の毎日5選 #100

# 1. AWS AppSyncは、顧客データのセキュリティを確保するためにどのような対策を講じていますか?
回答: AWS AppSyncは、データの静止時および転送時の暗号化、AWS Identity and Access Management (IAM) および Amazon Cognitoを利用した細かなアクセス制御、AWS Shieldを用いた一般的なWeb攻撃からの保護など、多数のセキュリティ機能を提供しています。

# 2. AWS AppSyncは、顧客が自身のデータへのアクセスを制御できますか?
回答: はい、AWS AppSyncは、IAMおよびAmazon Cognitoを通じた細かなアクセス制御で、顧客が自身のデータへのアクセスを制御できます。顧客は、カスタム認証および承認メカニズムも使用できます。

# 3. 顧客は自分の暗号化キーをAWS AppSyncと共に使用できますか?
回答: はい、顧客は自分の暗号化キーをAWS AppSyncと共に使用できます。AWS AppSyncは、静止時の暗号化のためにAWS Key Management Service (

元記事を表示

[AWS Q&A 365][AppSync]Daily Five Common Questions #100

# 1. What measures does AWS AppSync have in place to ensure the security of customer data?
Answer: AWS AppSync provides multiple security features such as encryption at rest and in transit, fine-grained access control with AWS Identity and Access Management (IAM) and Amazon Cognito, and protection against common web attacks with AWS Shield.

# 2. Does AWS AppSync allow customers to control access to their data?
Answer: Yes, AWS AppSync allows customers to control access to their data with fin

元記事を表示

初めて利用するAWSサービスからCloudFormationテンプレート作成まで

## 背景
 AWS BackupサービスのCloudFormationテンプレート作成に取り組みましたが、AWS Backupを利用するのは初めてで、どこから学習を始めてどのようにテンプレートを作成すればいいのか分からず、開発に苦労しました。ネット上の情報でも、初心者向けのCloudFormationテンプレートの作成ステップが見つからなかったので、私が経験した学習から作成までの最短ルートを5つのステップで共有したいと思います。
 今回は私が取り組んでいたAWS Backupを例に挙げて説明しますが、このステップを他のAWSサービスに適応させて進めれば、基本的なCloudFormationテンプレートが作成できると思います。

## 5ステップ

1. [作成するAWSサービスの仕様について学習する](#step1)
2. [マネジメントコンソールからサービスを利用する](#step2)
3. [AWS CloudFormationのUser Guideから該当サービスのResourceとPropertyを確認](#step3)
4. [AWS CloudFormationテンプレー

元記事を表示

(仮説)Amplifyのプラットフォーム更新とアクセスコントロールの注意点

Amplifyのプラットフォーム値を`WEB_DYNAMIC`から`WEB_COMPUTE`に更新したらBasic認証が正常に働かない(正しい値を入力しても弾かれる)状態になりました。
いくつか検証して解消したようなので、得た仮説を備忘録としてまとめます。
もし同じような状況で困っている人がいたら、少しでもヒントになれば幸いです。

:::note warn
注意
あくまで**仮説**なのでご了承ください。
正しい情報知ってるよという方、教えてくださるとうれしいです!
:::

## 結論(※仮説です)
Amplifyのプラットフォームの値を更新する際、**アクセスコントロールの設定**によってはBasic認証に影響が出る場合がありそうです。

### 注意したい設定
「グローバルパスワードの適用」が**オン**の状態でプラットフォーム値を更新すると、**Basic認証が正常に働かない**ことがある。

### おそらく大丈夫そうな設定
「グローバルパスワードの適用」は**オフ**(Basic認証をかけるために各ブランチに個別にユーザーネーム/パスワードを設定している状態)でプラットフ

元記事を表示

BizRobo!の環境をAWSで簡単に構築してみた

## はじめに
弊社のチームではBizRobo!の検証をするための環境構築を依頼されることが度々あります。
そのたびにインスタンスを新規作成しているのですが、依頼される頻度が多くなってきたので効率化したいなと思いAWSのCloudFormationを使って構築してみました。
タグ管理も統一できるようになるので効率的な運用ができそうです。
どのように実現したのかまとめてみました。

## 構築イメージ
### インフラ構成図
ゴールとするインフラ構成図は以下のようになります。
![AWS環境構築(社内依頼確認用) – Qiita用CloudFormation構成図.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3124412/2ee0a7f7-ed84-4dd5-4b03-dd2edf081257.jpeg)

### 事前準備
CloudFormationを構築する前に準備しておく事
* BizRobo!の環境構築済みのAMI
* VPC
* IGWの設定
* サブネット
* ルートテー

元記事を表示

Lambdaで特定のサブネットのインスタンスを自動停止する方法

## はじめに
当チームではテスト環境等の社内利用用途を目的としたEC2インスタンスは業務時間内しか利用しないことが多いため、深夜帯や休日に稼働し続け無駄なコストがかかってしまうことがあります。
そういった不要なコストを抑えるためにテスト環境専用のサブネットを用意し、定時でサブネット内のすべてのインスタンスを停止する機能があると便利だなと思っていました。
件数が少ない時期はAmazon EventBridgeでルールを作成し個別で自動停止の設定をしていましたが、件数が増えるにつれ一括の設定が必要になり構築することにしました。

今回はLambdaを使って構築をしましたので設定方法を記述します。

## 構築イメージ
AWSサービス全体の構築イメージは以下の図の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3124412/a8870731-8076-9f68-664c-ea007861c001.png)
今回設定方法を記述するのは以下の工程です。
* AWS EventBrid

元記事を表示

CodeBuildとSAMを組み合わせてLambdaを自動デプロイする

## 背景
複数のLambdaで構成されているサーバレスアプリにて、Lambdaのデプロイをコンソールから行なっていました。
時間がかかるのとオペミスのリスクがあったのでCodeCommitにpushするとAWS SAMで自動デプロイが行われるデプロイパイプラインを構築しました。

[SAMの初歩的なこと](https://qiita.com/lyd-ryotaro/items/6ae7f8813d4769dbf184)はこちら
上記のSAM操作をCodeBuildにて行う、というイメージです。

## 全体図
CodeCommit→CodePipeline→CodeBuildでSAMを起動してデプロイという流れ
CodeBuildが肝になってきます
[![Image from Gyazo](https://i.gyazo.com/438c293928c1f1710819c3a1d6008da1.png)](https://gyazo.com/438c293928c1f1710819c3a1d6008da1)

## CodePipelineとCodeBuildの準備

### Cod

元記事を表示

Security HubとGuardDutyを使った発見的統制 – 通知編

先日、第一子の保育園が内定しました。
保育園が決まったことに一安心しつつ、成長のスピードに少し物悲しくもなっています。

# はじめに
この記事は[前回の記事](https://qiita.com/ksaga9/items/9e3cdc2ee2dede710bee)の続きです。

前回の記事にも書きましたが、発見的統制は、発見したセキュリティリスクを利用者に通知する仕組みが必須です。
通知をしなければ、セキュリティ担当者は気づけないですし、毎日AWSコンソールを開いて異常が発生しているか確認することになります。

Security HubとGuardDutyの運用をスムーズにするための通知の仕組みと、この仕組みに至った背景について紹介します。

# アーキテクチャ
先に、現在のSecurity Hub・GuardDutyの通知のアーキテクチャ図をご紹介します。
![securityhub_qiita_202307271654.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3328969/f25b95df

元記事を表示

SFTPのログ出力設定【Amazon Linux2】

# ■概要
Amazon Linux2にて行った設定です。
ご参考になれば!

# ■手順
#### 1.syslogに出力された内容をファイルへ出力するようにsyslogのコンフィグに追記する

“`
# vi /etc/rsyslog.conf

# This rule to save the log output of sftp
local5.* /var/log/sftp.log
“`

#### 2.出力先ファイルを予め作成しておく

“`
touch /var/log/sftp.log
“`

#### 3.rsyslog.confを反映させるためrsyslogのデーモンを再起動する

“`
systemctl restart rsyslog
“`

#### 4.opensshの設定ファイルを変更してsftpの操作ログをsyslogに出力するように編集する

“`
Subsystem sftp /usr/libexec/openssh/sftp-server
“`

という行があるので、 -f LOCAL5 -l VERBOSE、を後ろに追記して、

元記事を表示

Athena で S3 Glacier で復元されたデータのクエリを実行する

# 内容

https://aws.amazon.com/jp/about-aws/whats-new/2023/06/amazon-athena-querying-restored-data-s3-glacier/

– Athena を使用して Glacier Flexible Retrieval ストレージクラスと Deep Archive ストレージクラスで復元されたデータを直接クエリできるようになった。

– 今までは、標準ストレージクラスにデータをコピーする必要があった。

– S3 スタンダード に保存されている最新のログと S3 Glacier Flexible Retrieval に復元された古いログを組み合わせると、1 つのクエリでストレージクラス全体のログ分析を実行することも可能。

# やってみる

## サンプルデータの準備 

S3 にサンプルデータをアップロードしておき、Glueクローラでテーブルを準備しておきます。
![スクリーンショット 2023-07-25 19.38.16.png](https://qiita-image-store.s3.ap-n

元記事を表示

[AWS Q&A 365][AppSync]AWSのよくある問題の毎日5選 #99

# 1. AWS AppSyncのリアルタイムデータとは何ですか?
答え:AWS AppSyncのリアルタイムデータとは、バックエンドのデータソースでデータが変更されるたびにリアルタイムで更新を受け取る能力のことを指します。

# 2. AWS AppSyncでリアルタイムデータをどのように有効にできますか?
答え:AWS AppSyncでリアルタイムデータを有効にするには、データが変更されるたびにクライアントがリアルタイムで更新を受け取ることを可能にするAWS AppSyncのサブスクリプションを使用します。

# 3. AWS AppSyncでリアルタイムデータを有効にするためにどのデータソースを使用できますか?
答え:リアルタイムデータは、Amazon DynamoDB、AWS Lambda、HTTP APIなどのデータソースと共に、AWS AppSyncで有効にすることができます。

# 4. AWS AppSyncのリアルタイムデータへのアクセスをどのように制御できますか?
答え:AWS AppSyncのリアルタイムデータへのアクセスは、Amazon Cognitoユーザープ

元記事を表示

[AWS Q&A 365][AppSync]Daily Five Common Questions #99

# 1. What is Real-time data in AWS AppSync?
Answer: Real-time data in AWS AppSync is the ability to receive real-time updates as data changes in the back-end data sources connected to the GraphQL API.

# 2. How can I enable real-time data in AWS AppSync?
Answer: Real-time data can be enabled in AWS AppSync by using AWS AppSync subscriptions, which allow clients to receive real-time updates as data changes.

# 3. What data sources can I use to enable real-time data in AWS AppSync?
Answer: Re

元記事を表示

OTHERカテゴリの最新記事