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

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

【日次レポート機能実装編】開発未経験がクラウドを企業に導入するプロジェクトごっこをしてみた~その7~

# はじめに
22年度文系学部卒のたいきです。この記事では、システムの開発経験もないのに、見よう見まねで「プロジェクトごっこ」をしていきます。
・保有資格 : 応用情報技術者・AWS-SAP
・プログラミング言語:軽くPython
本記事を最初から読んでいただける方は「[開発未経験がクラウドを企業に導入するプロジェクトごっこをしてみた~その1~](https://qiita.com/Ishii_Taiki/items/e3035c12b31385f8156b)」から読んでいただけると嬉しいです。
# 本記事について
今回は、DynamoDBに格納されたきのこの山とたけのこの里の記録を、日ごとにクエリしCSVファイルに格納していきます。全体のアーキテクチャの「Batch Processing」の部分を実装していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2608302/1a155ccb-096a-1f7d-8520-c098157af818.png)

# 前回のコードのちょ

元記事を表示

オンプレのプライベート IP 足りない問題を PrivateLink で解決する(後編)

オンプレのプライベート IP 足りない問題についてと、PrivateLink の基本的な特徴については、[こちらの前編](https://qiita.com/hiroki_okuhata_int/items/1887a715f42438e6846b) を参照してください。

# なぜプライベート IP 足りない問題への対策になるのか?

– オンプレ環境からは、AWS 上の新システムと通信する際に、ルーティング上、直接通信するのが各図の真ん中にある、ブリッジ VPC のみになるためです。
– オンプレ環境からは、PrivateLink の向こうにある、新システム用の VPC に割り当てたプライベート IP レンジについては不可視になります。
– PrivateLink は主に NLB を使用するため、基本的に各 AZ ごとの ENI に 1IP ずつしか使いません。
– さらに、PrivateLink では、インターフェースエンドポイントのポートごとに NAPT 通信先になるシステムを設定できるため、1 本の PrivateLink で多数の連携先システムに対応できます。
– このた

元記事を表示

phpMyAdminのSQLインジェクション/インポート/エクスポートで403Forbidden

### 事象・問題の発生 (´ε`;) 
PhpMyAdminのSQLインジェクション/インポート/エクスポートしようとして、403Forbiddenに。
SQLインジェクション、インポート、エクスポートができない状態

### 原因
AWSで環境を構築していたため、WAF(Web Application Firewall)によるブロックが原因でした。

### 対応・解決
AWSのWAFでURIに特定の文字列が含まれるリクエストを許可する設定を追加
追加方法については、下記サイトを参考にしました。

– AWS WAFで特定IPのリクエストからアクセス許可しよう https://www.sunnycloud.jp/column/20210601-01/
– AWS WAFでURIに特定の文字列が含まれるリクエストをブロックする https://www.wafcharm.com/blog/block-specific-string-in-uri-jp/
– AWS WAFの運用方法 https://www.cloudsolution.tokai-com.co.jp/white-pape

元記事を表示

オンプレのプライベート IP 足りない問題を PrivateLink で解決する(前編)

# オンプレのプライベート IP 足りない問題とは?

– AWS 上に新しいシステムを構築するとします。
– この時、あなたは AWS 上に構築する新システムの設計者だとします。
– ただし、新しいシステムは、オンプレにあるいくつかのシステムと DirectConnect などを介して通信する必要があるとします。
– この時、通常ですと、ルーティング上、オンプレにあるシステムと通信可能なプライベート IP レンジを AWS 側の新規システム側に払い出して割り当てる必要があります。
– このため、あなたはオンプレ側のネットワーク担当者、またはそれに相当する方と、AWS 上の新システムに払い出すプライベート IP レンジについて協議している状況だとしましょう。

この状況で、あなたは衝撃の事実を告げられます。

“`
オンプレのネットワーク担当者:
「AWS 側の新システムに払い出すプライベート IP レンジって、/26 を1個で足りる?」

あなた:「えっ!?」

  ( ええっと、/26 のサブネットマスクって、IP たったの64個分、ってこと?!
    大きいシステ

元記事を表示

vbaでWinSCP経由でs3.amazonaws.comにアクセスしアップロード等するには

諸々割愛

1、vba のshellでバッチファイルを実行する。

2、そのバッチファイルは
s3.amazonaws.comのシークレットキーをパイプで前に置いておき
winscp.comを起動してこWinSCPでのコマンドが入ったテキストファイルを読みに行く動作。

3、WinSCPでのコマンド群はtxtファイルで用意しておく。
アクセスキーとs3.amazonaws.comを開くコマンドなどを入れておく。

で操作が可能でした。

WinSCPは全ユーザ用としてProgram Files (x86)\WinSCPに
インストール済みとしてソースを見ながら再度説明していきます
“`vba:control_winscp.vb
sub control_winscp()
Shell (“C:\Program Files (x86)\WinSCP\execute_upload.bat”)
end sub
“`
これで execute_uoload.bat というバッチを実行。多分場所はどこでも大丈夫なはず

“`bat:execute_upload.bat
@REM
@

元記事を表示

AWS公式資料で挑むSCS認定(32)-こんな時どうする(全分野その9)

##### [前回] [AWS公式資料で挑むSCS認定(31)-こんな時どうする(全分野その8)](https://qiita.com/mingchun_zhao/items/37b0166d6b16aded665c)

## はじめに

今回も引き続き、「こんな時どうする」集の作成です。

## 分野1: インシデント対応

– ウェブサイトの特定ページに大量リクエスト発生、アクセス制限したい
– AWS WAFのレートベースのルールを使用し、ウェブサイト特定ページへのアクセスを制限
– レートベースのルールに文字列一致条件を追加し、ログインページへのリクエストを制限する例
– リクエストを「URI」を用いてフィルターリング
– 一致の種類は「で始まる」
– 一致する値は「/login」(リクエストURI部分のログインページを識別するもの)
– レート制限を5分あたりxxx回リクエストと指定
– レートベースのルールをウェブACLに追加し、残りのサイトに影響することなく、IPアドレスごとに

元記事を表示

[ポートフォリオの技術選定について] Laravel Docker AWS GitHubActions

## はじめに
今回ポートフォリオとして、自宅の食品や日用品を管理できるような在庫管理アプリを作りました。
以下の技術を使って作成しました。
この記事では各技術の選定理由についてまとめていこうと思います。

## 使用技術
フロントエンド:HTML5、CSS、Tailwindcss2.2.15、Livewire
バックエンド:PHP7.4.15、Laravel8.34.0、Jetstream1.0
インフラ:Docker20.10.2、nginx1.18、MySQL8.0.23/phpMyAdmin、AWS EC2 ALB S3 RDS
デプロイ:GitHubActions(CI/CD) Deployer

## 技術選定理由
### フロントエンド
フロントエンドは主にTailwindcss(テイルウィンドシーエスエス)を使って実装しました。
TailwindcssはCSSのフレームワークです。

以下のような理由から技術選定。
・`ユーティリティファースト`
→CSSは使わずに`TailwindCSSが提供しているクラスのみを使用して実装`する考え方で、`クラスを追加するだけで定義

元記事を表示

CloudTrailのConsoleLoginイベントが見えないので調べた

学習メモ。

# CloudTrail とは
[AWS CloudTrail とは、](https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)
– AWS上でおこなわれるAPIアクションがすべて記録される。
– 監査に利用できる。
– アカウント作成時にデフォルトで有効になり、イベント履歴は90日間有効。
– 90日以上記録を保持する場合は「証跡の作成」が必要。
– 必要に応じてCloudTrail Insightsを有効化して、異常なアクティビティを特定することも可能。

# AWS CloudTrail のイベント履歴を見てみる

[AWS CloudTrail の開始方法のチュートリアル](https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-tutorial.html)の「ステップ 1: イベント履歴で AWS アカウントのアクティビティを確認する」を参

元記事を表示

CloudFrontでリダイレクトするメモ

## CloudFront Functionsを使う

CloudFront Functionsを使うと、ビューワー(クライアント)に送信する前にHTTPレスポンスを変更することができる。
CloudFront Functionsの利用例にも下記の記述がある。

> URL リダイレクトまたは書き換え: リクエスト内の情報に基づいてビューワーを他のページにリダイレクトしたり、すべてのリクエストをあるパスから別のパスに書き換えたりできます。
> https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/cloudfront-functions.html

## CloudFront Functionを作成する

CloudFrontのマネジメントコンソールから関数を作成し、下記のような関数コードを書いて発行する。

“`handler.js
function handler(event) {
var response = {
statusCode: 302,

元記事を表示

AWS初心者がクラウドプラクティショナーを勉強して感じたメリット

# はじめに

つい先日、AWSクラウドプラクティショナーに合格して少し日が経過しました。

↓合格記事↓

https://qiita.com/draw_5050/items/47d13466daeb6863c8b2

筆者は去年(2021年初頭)まではAWSほぼ何も知らないひよっこで、
かろうじてS3が何なのか知っている程度で他のサービスはほぼ何もわからんみたいな状態でした。

そこから1年間、少しずつ業務でAWSに触れ始めはしましたが、まだまだ勉強不足を感じ
2022年に入り思い切って受験を決意した次第です。

この記事では、**AWS初心者の筆者がクラウドプラクティショナーを勉強した際に感じたメリット**、
そして「**そもそもクラウドプラクティショナーって取るべきなの?**」という疑問に対して
自分なりの回答を書きたいと思います。

# この記事の対象者

– AWSクラウドプラクティショナーを受験しようか迷っている方
– AWS初心者で勉強したいと思っている方

# 結論

最初に結論を書きます。

AWSクラウドプラクティショナーはAWSを勉強したい方は**是非取得すべき

元記事を表示

Amazon FSx for NetApp ONTAPをAmazon EKSのPersistentVolumeのバックエンドストレージとして使ってみた(準備編)

# はじめに
– [前回の記事](https://qiita.com/seijitanabe/items/f16af0425d2f2f00af24)でAmazon EKSで使えるPersistentVolumeについて調べてみたので、今回は実践編の準備編。
– Amazon FSx for NetApp ONTAP(以下、FSx for ONTAP)をPersistentVolumeのバックエンドストレージとして使ってみる。

# 環境準備(Amazon EKSクラスター以外)
– Amazon EKSクラスター以外のリソースはCloudFormationでサクっと作成した。
– テンプレートは[こちら](https://github.com/seijitanabe/my-cfn-templates/blob/main/deploy-fsxn-sandbox/deploy-fsxn-sandbox.yml)。個人的に検証等で使うAWS環境のCloudFormationテンプレートを整備しはじめており、その一部として作ったものである。
– 個人の検証用ということで、認証情

元記事を表示

AWS未経験者がAWS資格を取得するまでに行なったこと

## 背景
簡単に私の経歴を紹介。
1. プログラマーとして学生時代に2年ほどインターンに参加
1. 現在の会社(SIer)に入社後も主にアプリケーションの開発に携わる
1. AWS含むパブリッククラウドには触れたこともない

こんな私でもAWSの初級資格「AWSクラウドプラクティショナー」を取得できたので、資格取得までの流れをまとめる。

## 実施内容
1. AWS提供のEラーニングを試聴
⇨AWS提供のEラーニングを2週間かけて試聴(結構ダラダラ観てた)。いい意味で日本のEラーニングっぽくなくて最後まで楽しんで観れた。
1. Udemyの模擬試験問題集(7回分)を解く
⇨[Udemyの模擬試験](https://www.udemy.com/course/aws-4260/)を2週間かけて解いてみた。基礎2問、応用3問、発展2問あったが、基礎2問と応用2問しか解いてない。

以上の内容で試験を受験。結果は約750点とかなりギリギリだったが無事合格できた。応用まではしっかり解いておいた方が余裕を持って合格できるかも。
次回はソリューションアーキテクトアソシエイトを受験する予定。

元記事を表示

【保存版】ASP.​NETアプリのモダナイゼーション戦略のクラウド3社比較

オンプレで動かしている ASP.NET アプリケーションをどうやってモダナイズ進めて行くか。これは Windows Server のライフサイクルを考える上で必ず出てくる問題です。最近ではオンプレからオンプレへの更改事例はかなり少なく、クラウドに乗せることで自分達で管理する IT 資産を減らし運用コストを最適化していこうというのが基本的な方針になっています。しかしクラウドサービスも数多く、モダナイゼーションの手法もたくさんあるので、どうやってクラウド化を進めていったら良いか検討するのが結構めんどうだったりします。

そこで、どうやってモダナイズ先を選択するか超簡単な Decision Tree をつくってみました。
この記事ではクラウド配備モデル、.NET のライフサイクル、代表クラウド3社のそれぞれのサービス概要をみていくことで、いま持っている ASP.NET アプリのモダナイズ先にはどんな選択肢があるのかを整理したいと思います。
![スクリーンショット 2022-04-07 17.31.54.png](https://qiita-image-store.s3.ap-northeas

元記事を表示

AWS 認定セキュリティ – 専門知識試験の合格記録

久しぶりにAWSの試験を受けてきました。
前回、受けた時に比べると、試験関連の本が多く出版されていたり、公式のトレーニングや問題集などが充実していて、勉強しやすくなっていると感じました。

## 学習内容

### 1. 公式サイトで確認
https://aws.amazon.com/jp/certification/certified-security-specialty/

こちらに、試験範囲やトレーニング動画、サンプル問題、模擬試験など一式そろってるので、まずはこちらを確認しました。

### 2. 書籍で学習

今までは、試験を受ける時点で、それに対応した本が出版されていなかったので使わなかったのですが、今回はあったので買って読んでみました。
他の方も書かれていますが、大変わかりやすく勉強になりました。

### 3. 問題を解く
https://www.udemy.com/course/amazon-aws-security-specialty-practice-exams-2021/

の問題

元記事を表示

複数のAWSアカウントを扱う際に工夫しているChromeの設定

突然ですが問題です。
下の二つの画像の違いは何でしょうか?

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/7f1f6fc9-c955-5871-745a-6ac37961a445.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/707f6e03-ab4a-72cf-856e-1ff40737f2eb.png)

正解は、上が**本番環境**、下が**開発環境**でした。
右上のアカウントIDが違います。

2環境だと、まだアカウントIDが覚えられるかもしれませんが、今後10プロジェクト担当して全部が2環境ずつあるとしたらどうでしょう。覚えられますか?

事故りそうですよね?

事故らないように私がしている対策を紹介します。

# 対策

対策は以下の2つです。

1. 環境ごとにChromeのプロファイルを用意する
2. ブックマークバーを表示し、マ

元記事を表示

VPCのCIDR拡張を実際にやってみた(10.0.0.0/16)

VPCのCIDRは作成後に拡張可能です。
しかし以下の制限があることが知られています

追加可能なCIDRのサイズは、/28から/16の間です。
すでに割り当てているCIDRと重複する範囲で割り当てはできません。
ピアリング接続があるVPCの場合、ピアリングしたVPCと重複するCIDRは割り当てできません。(未実施
プライマリCIDRの範囲によって、割り当て可能なセカンダリCIDRの範囲は制限されます。
例えば、プライマリCIDRの範囲が10.0.0.0/8の場合、
172.16.0.0/12および192.168.0.0/16の範囲は割り当てできません。(他のRFC 1918の範囲は追加不可)
プライマリCIDRが10.0.0.0/15の範囲内にある場合、10.0.0.0/16の範囲のCIDRブロックは追加できません。
198.19.0.0/16の範囲のCIDRブロックは追加できません。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-resize
https://dev.classm

元記事を表示

【AWS】SAP合格体験記 – 2021年10月2日 –

# AWS SAPについて
SAPはAWSの資格だと上位のレベルの資格になります。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2512673/b92e754d-59fa-cea7-4e9f-099d5f64d2f2.png)

2021年10月2日に受験し、1回目で合格(756点)でした。

# 勉強方法①
Amazonにて下記テキストを購入、少し時間をあけつつ3周やりました。
特に模擬試験は有用なので、3回目は時間を計測しながら本番を見据えて勉強しました。
[AWS認定ソリューションアーキテクト-プロフェッショナル~試験特性から導き出した演習問題と詳細解説~](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E3%82%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%88%EF

元記事を表示

AWSでElasticSearch Kibanaを使う

# 可視化してみたい
毎日の移動距離やお金、天気などの超実用的なことから自宅トラフィックやgitログとかも可視化してみたい。

# 環境
– AWS, Amazon OpenSearch Service

Elastic searchにログを格納してkibanaで見れれば良いのでlinuxでも十分だと思うが
AWS上で簡単に出来そう + AWSを触る機械がなく(かなり)危機感を覚えているのでAWSの勉強も兼ねてやってみる

# 手順
マネージメントコンソールから作っていく。
サービスは **Amazon OpenSearch Service** になるが、2021年9月までは Amazon Elasticsearch Service というサービス名だったらしいので、後者の方が情報はたくさん出てくる。

## 1. ドメイン作成

無料利用枠で作っていく
– t2.small.search か t3.small.search
– 月 750 時間まで
– オプションで Amazon Elastic Block Store (Amazon EBS) を月 10 GB 利用可能

![スク

元記事を表示

AWS Lake Formationの権限制御をPythonプログラムから使う方法

# AWS Lake Formationとは?

Lake FormationはAWS上でのデータレイク構築を容易にするサービスです。
複数の機能を持っていますが、特にセキュリティ面でIAMポリシーを補強するセキュリティコントロールを実現できます。

## AWS Lake Formationのセキュリティコントロール

AWSでデータレイクを構築するときの標準的な構成は、実データをS3に配置し、それらのデータのカタログ情報をGlue Data Catalogとして管理する構成になります。
Lake Formationがない場合はS3のバケットポリシーやGlue Data Catalogのポリシーなどの複数のIAMポリシーでセキュリティコントロールを行う必要があり非常に面倒でした。
Lake Formationはデータレイクに含まれるデータベースやテーブルなどの単位でユーザごとにSELECT, INSERTなどの権限制御を行うことができるようになります。従来のRDBで行うような権限制御を行うことができるようになります。

詳しくは[Black Beltの資料](https://d1.a

元記事を表示

Cognito の ID Pools から Credentials を持ってくる(Curlで)

特に認証をしない匿名ユーザ向けの手順です

# TL; DR
– https://qiita.com/k_hoso/items/7f2763421dd37a5e2cd4

# 手順

IdentityPoolId から IdentityId を取得
“`
curl -X POST \
https://cognito-identity.ap-northeast-1.amazonaws.com \
-H ‘Content-Type: application/x-amz-json-1.1’ \
-H ‘x-amz-target: AWSCognitoIdentityService.GetId’ \
-d ‘{ “IdentityPoolId”: “ap-northeast-1:12341234-4321-4321-4321-123412341234” }’
“`

↑で取得した IdentityId から Credentials(AccessKeyId, SecretKey, SessionToken, Expiration) を取得
“`
curl –

元記事を表示

OTHERカテゴリの最新記事