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

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

Exastro IT Automation の Setting samples(AWS版)を動かしてみた

##関連リンク
Qiita記事
・[Exastro IT Automation の Setting samples(AWS版)を導入してみた]
(https://qiita.com/ojima-nobuya/private/d6e247f1e04853ce1729)
・[Exastro IT Automation クイックスタート (ver1.7.2)]
(https://qiita.com/y-masaya3210/items/a6d59b3aca0031128ab7)
・[Exastro IT Automation の Setting samples(ServiceNow連携版)を使ってみた]
(https://qiita.com/inumayuge/items/bcbeabc876b45100e62c)

ITAコミュニティサイト
・[Exastro IT Automation コミュニティサイト](https://exastro-suite.github.io/it-automation-docs/setting-samples_ja.html#cloudSystem)
・[C

元記事を表示

Exastro IT Automation の Setting samples(AWS版)を導入してみた

#関連リンク
Qiita記事
・[Exastro IT Automationをインストールしてみた(v1.7.2)](https://qiita.com/standsetx/items/54ff0786db151d980026)
・[Exastro IT Automation の Setting samples(AWS版)を動かしてみた]
(https://qiita.com/ojima-nobuya/private/0d2e94f4f6f71fd6c635)
・[Exastro IT Automation の Setting samples(ServiceNow連携版)を使ってみた]
(https://qiita.com/inumayuge/items/bcbeabc876b45100e62c)

ITAコミュニティサイト
・[Exastro IT Automation コミュニティサイト](https://exastro-suite.github.io/it-automation-docs/setting-samples_ja.html#cloudSystem)
・[CSテンプレー

元記事を表示

AWS ES2にデプロイしたPHPファイルを表示させる

#AWS ES2にデプロイしたPHPファイルを表示させる
AWS ES2にデプロイしたPHPファイルをブラウザ上で表示する方法についてまとめます。こちらは備忘録のため完璧に整理された記事とは言い難いです。(少しずつ精査していきます)

##手順
*Amazon Linux 2 に LAMP ウェブサーバーをインストールする
*PHPファイル内のデータベースアクセスのPDOをDBサーバのプライベートIPv4アドレスに修正する
*ドキュメントルートをデプロイしたPHPファイルのディレクトリに設定する
*データベースに接続する
“`mysql -h (プライベートサブネットにあるサーバのIPアドレス) -u (ユーザ名) -P 3306“`

##参考
*[Amazon Linux 2 に LAMP ウェブサーバーをインストールする](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-lamp-amazon-linux-2.html
)
*[[AWS] ドキュメントルートを変更する – Qiita](https:/

元記事を表示

AWS DVA資格取得に役立つハンズオン

#はじめに
AWS初心者向けハンズオン「[AWS Hands-on for Beginners](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/)」の中から、AWS DVA(デベロッパー – アソシエイト)取得に役立つハンズオンを紹介します。

DVAは、SAA(ソリューションアーキテクト – アソシエイト)と比較して、①狭く深い知識が問われ、②具体的なコマンドが出てくる問題が多いです。したがって、ハンズオンは有効なDVA試験対策になると思います。

#[AWS Hands-on for Beginners](https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/)とは

– 初めてAWSサービスを利用する方向け
– 解説動画を見ながら、実際にAWSサービスを操作する
– 各ハンズオンは合計1~2時間の動画構成

#ハンズオン① AWS環境のコード管理AWS CloudFormationでWebシステムを構築

元記事を表示

IAMをゼロから設定し、Code Buildのビルドプロジェクトを作成・ビルド実行までやってみた(Management Console版)

## はじめに
GitHub Actions、CircleCiを使ったCIは構築した事があったが、Code BuildでのCIはやった事がなかったのでやってみた
その際の備忘録を残す

※前提条件として既にCode Commitにbuild対象のソースコードがある状態からスタートした
※ビルドするものはGoのLambda関数

buildspec.ymlや、GitHub Actionsでのビルドは以下のリポジトリを参照

https://github.com/yuta-katayama-23/Go

## Code Buildのビルドプロジェクトを作成する
### Management Consoleからビルドプロジェクトを作成する
以下の画像のように設定できる

| 1 | 2 | 3 | 4 |
|:-:|:-:|:-:|:-:|
| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372684/93f0af98-6363-6d0d-68f9-17d44940727c.png) |

元記事を表示

亀の歩み?初心者のAWS CLI復習◆ユーザーグループにIAMポリシーを割り当てる

#ユーザーグループにIAMポリシーを割り当てよう

##1.今回の目的:
AWS CLIで、「Administrators」というユーザーグループに、「Billing」というAWS管理のIAMポリシーを割り当てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/9e0985eb-7317-2fb0-2375-87b6cff4c0b0.png)

私のアカウントでAWSマネジメントコンソールにログインし、IAMコンソールからユーザーグループ「Administrators」を見ると、今はカスタマー管理のポリシーが1つだけ割当たっている状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/176c47be-667d-049c-8940-fd1cd382f3bb.png)

IAMコンソールの左ウィンドウ「ポリシー」メニューから、IAMポリシー「Billin

元記事を表示

AthenaでWAFログからHTTP headerを取得しJWTの内容も取得する

## 前提

#### WAF のログを Kinesis Data Firehose 経由で S3 に記録していること

https://aws.amazon.com/jp/premiumsupport/knowledge-center/waf-configure-comprehensive-logging/

#### Athena に WAF ログのテーブルを作成ずみであること

https://docs.aws.amazon.com/ja_jp/athena/latest/ug/waf-logs.html

まとめると、大体ここらへん

https://dev.classmethod.jp/articles/waf-athena-excel/

## HTTP headerの内容を取得したい

Stack Overflowの記事の様に、`UNNEST`と`MAP_AGG`で、`header[‘name’] = value`で扱える様にする。

https://stackoverflow.com/questions/68455939/searching-athena-aws-waf

元記事を表示

ローカルPCからAWS EC2にファイルをデプロイ

#ローカルからAWSのEC2にファイルをデプロイする

ローカルのPC上からAWSのEC2にファイル、フォルダーをデプロイする方法についてまとめます。こちらは備忘録のため完璧に整理された記事とは言い難いです。(少しずつ精査していきます)

##大まかな手順
*パブリックサブネットにEC2を配置する
*「git」をインストールする
*Tera Termなどでssh接続を行う
*githubのアカウント登録をし、空のリポジトリを作成する
*githubのリポジトリにローカルのファイルをpushする
(ローカルのファイルをコピーしてネット上に配備する)
*EC2にsshで入り、git clone コマンド で対象のリポジトリをダウンロードする

#参考
+[AWS EC2 AmazonLinux2 Gitをインストールする – Qiita](https://qiita.com/miriwo/items/8d5b35950232c1126d36#%E8%A9%B3%E7%B4%B0)

+“`git clone xxxx“` 
githubリポジトリの画面右のCodeを押して、“`htt

元記事を表示

【Django】Djangoで静的ファイルをS3に保存する一番簡単な方法【AWS S3】

# Djangoで静的ファイルをS3に保存する一番簡単な方法

調べたらカスタムストレージクラスを作る方法がいろいろ出てきたけど意味不明だったので自分用に。
多分これが一番簡単だと思います。

**【参考】**
– [Django mediaファイルとAWS S3](https://qiita.com/sand/items/b897aa47c304b7fbdcb5)
– [django-storages](https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html)

## pyをいじっていく

### 1. models.py , forms.py

一般的な方法でPhotoモデル,Photoformモデルを作成する
自分はDjnagoBrosというサイトで紹介されている写真投稿サイトを作って、それを改造する形で実装しました。

### 2. project_name/urls.py

本番環境想定の設定にしてみる

“`py
if settings.DEBUG:
urlpatterns

元記事を表示

AWS CodeCommit のGitクライアントからの使い方

リモートリポジトリとしてCodeCommitをGitクライアントから利用する場合のアクセス方法について記載させて頂きます。

# 1.CodeCommitへのアクセス方法の種類
– CodeCommitのユーザアカウントは、IAMユーザと紐づいているため、AWSの他の機能を利用しない(マネジメントコンソールへのログインが不要な)場合もIAMユーザの発行が必要となります。
– CodeCommitと通信するプロトコルは以下の3種類から選択する必要があります。
– HTTPS/SSHはGithubを使用する場合と同じような感じですが、GRC(Git-Remote-Codecommit)はCodeCommit独自の方法です。

|プロトコル|説明|
| ——– | —|
|HTTPS|GitHubと同様の通常のHTTPSによるアクセス。IAMユーザから専用のID/PASSを発行して認証する。|
|SSH|クライアント側で秘密鍵と公開鍵を作成し、IAMユーザ側に公開鍵を登録することで、公開鍵認証を行う。|
|HTTPS(GRC)|CodeCommit用のクライアントツール。

元記事を表示

LambdaのIPアドレスを固定化する

## はじめに

LambdaとAPIサーバを組み合わせたサービスを開発する際、Lambdaのアクセス制御をしたいケースがあるかと思います。
その際、IPアドレスでアクセス制御を行うことが多いと思うのですが、LambdaのIPアドレスは基本的には固定化されていません。
さらに、Lambdaが使うIPアドレス範囲も結構広く、ちょくちょく変わるため、IPアドレスを固定化しないと制御が難しい。

上記について、LambdaのIPアドレスを固定化させる方法を紹介します。

## 前提
VPC,Lambdaが作成されていること。
LambdaがVPCに紐づいていること。

## 手順
1. インターネットゲートウェイの作成
1. パブリックサブネットの作成
1. インターネットゲートウェイの割り当て
1. プライベートサブネットの作成
1. NATゲートウェイの作成
1. プライベートサブネットとNATゲートウェイを紐づける

最終的な構成としては、下記のようになります。
![LambdaToEC2.png](https://qiita-image-store.s3.ap-northeas

元記事を表示

Amazon Linux 2 に nmon をインストール

Amazon Linux 2 に「nmon」をインストールする記事がなかったので、記載しておきます。

## インスタンスの前提
・OS(AMI):Amazon Linux 2 AMI (HVM), SSD Volume Type 64 ビット (x86)
・インスタンス:t2.micro
 ※arm版以外のインスタンスであれば問題ないと思います。

## nmonのダウンロード
以下のURLからダウンロードしてください。この記事では、投稿時点で最新の「nmon16m_helpsystems.tar.gz」をダウンロードしています。
http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

##nmonのインストール
・まずはTeraterm等SSHでインスタンスに接続してください。

・インスタンスに接続後、rootでログインしてください。

“`
sudo su –
“`

・ダウンロードしたnmonをWinSCP等で「/tmp」直下にアップロードしてください。

・「/usr/local/src」直下にファイルをコピーしま

元記事を表示

【Python】S3上の複数JSONファイルを結合する

# awswranglerを使用してS3上の複数JSONファイルを結合し、S3に出力する
## 概要
[AWS Data Wrangler](https://github.com/awslabs/aws-data-wrangler)を使用する。
読み込みには以下のJSONLファイルを圧縮した[sample1.json.gz][sample2.json.gz]を使用する。

“`json:sample1.jsonl
{“id”:1,”father”:”Mark”,”mother”:”Charlotte”,”children”:[“Tom”]}
{“id”:2,”father”:”John”,”mother”:”Ann”,”children”:[“Jessika”,”Antony”,”Jack”]}
“`

“`json:sample2.jsonl
{“id”:3,”father”:”Bob”,”mother”:”Monika”,”children”:[“Jerry”,”Karol”]}
“`

## 事前準備
事前にawswranglerをインストールする

“`
$ pip

元記事を表示

Railsポートフォリオ【Tamari-Ba】についてまとめてみた

## 制作背景
友人とバイクでツーリングに行く際に、目的地までの道が重要なのだが道を紹介するサイトが少ない(もしくはバイク乗りなら誰でも知っているような内容しかなかった)という課題から、道やスポットを紹介し、道やスポットについて交流するWEBアプリを作ろうと考えました。

## アプリ名
– アプリ名: Tamari-Ba

「たまりば」と読みます。バイク乗り達が自分のバイク、好きな道、きつかった道、楽しかった道の駅等を語り合う「たまり場」をイメージして作成。
いつも行くあのカフェ、あの道の駅等の集まってダベれる「たまり場」のように好きなスポットについて語り合えるようなアプリに仕上げました。

## ER図
![ポートフォリオER図](https://user-images.githubusercontent.com/69702983/130440332-86dde1df-99c4-4bcb-8550-358d5d629be6.png)

## インフラ構成図
![Tamari-Baインフラ構成図_Qiita用.png](https://qiita-image-store.s3.a

元記事を表示

CIDRの [172.16.0.0/12] スラッシュ以降(/◯◯)は何を表しているのか

AWSのネットワーク構成を学ぶ上で、IPアドレスについて学習しました。
その中で、CIDRという用語が出てきてなんとなく理解はできたものの、
IPアドレスの範囲を定義するって、、、、
CIDRって、、、
と、つまづいたので調べてみたら、良い記事に出会い、”/◯○”について無事理解することができました。

参考:[CIDR (サイダー)とは | 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典](https://wa3.i-3-i.info/word11989.html)

まだ曖昧な部分も多いのでIPアドレスについて調べていく必要がありそうです。

元記事を表示

Lambdaで値を返す方法まとめ

# 結論

handlerをasyncにして普通にreturnで99.9%くらいOK

## async + return

最も普通な方法です.

“`js
exports.handler = async (event) => {
const response = {
statusCode: 200,
body: JSON.stringify(‘Hello from Lambda!’),
};
return response;
};
“`

### async + returnでsetTimeoutする

“`js
exports.handler = async (event) => {
const response = {
statusCode: 200,
body: JSON.stringify(‘Hello from Lambda!’),
};

setTimeout(() => {
console.log(“1000ms後”);

元記事を表示

EC2で最新バージョンのredashを立ち上げる方法

##前提
redashは公式からamiが提供されており、それをもとにEC2インスタンスを立ち上げることで簡単にredashを体験することができる。

しかし、amiのredashバージョンは、おそらくその時点での安定版が採用されており、最新のベータ版でのみ提供されている機能を使うにはバージョンアップを行う必要がある。

この記事では、redashのEC2インスタンスの立ち上げ方法に加えて、redashのバージョンを上げる方法についても紹介する。

##手順
###1. amiからredashのEC2インスタンスを立ち上げる
EC2でのredashの起動方法を紹介した記事は既に多数あるため、ここでは要点だけ抑えて箇条書きにする。

・EC2インスタンス起動ウィザードを開き、redash公式から提供されているamiを指定
 ※リージョンに注意

https://redash.io/help/open-source/setup#do

・インスタンスのスペックを指定
 ※お試し程度であればt2.smallでも十分らしいが、自分の場合はバージョンアップしたせいかスペック不足で動作が不安定にな

元記事を表示

【AWS】アカウント作成方法(スクショ画像あり)

# はじめに
今回はAWSのアカウント作成方法についてまとめさせていただきます。
そもそもAWSとは何か?とクリアになっていない方は、
先日まとめさせていただいたこちらの記事をぜひご覧いただければと思います。

https://qiita.com/kenta-nishimoto-1111/items/86ba0156c71b91dbc999

# アカウント作成前に準備するもの
①メールアドレス
メールアドレスはrootアカウントのログイン時に使用したり、請求情報の確認やメールなどが来ます。

②クレジットカード情報
支払い方法は、基本的にクレジットカード決済を使用します。
私はデビットカードでも行けましたが、三井住友などのデビットは使用不可でした。
理由としてはアカウント登録時に「そのカードが本当に使えるのか?」を確認するために1円ほど引き落とされるようですが、
三井住友は最低引き落とし金額?が決まっており1円を引き落とすことができないみたいです。
ネット銀行のデビットでいけました!
(結構前のお話なので、今は三井住友も問題がない可能性はあります!)

③電話番号
電話番号は本人確認

元記事を表示

goofysでは、EC2インスタンスメタデータ(IMDSv2)を参照できない件

# 起きたこと

Security Hubで指摘される、Instance Metadata Service Version 2 (IMDSv2) の改善要求
を対策したら、goofysでのS3マウントが失敗するようになった

goofysからS3の認証は、インスタンスプロファイルで行っていました

“`/var/log/messages.
Aug 30 14:38:08 xxxxxxxxx /usr/local/bin/goofys[1784]: s3.ERROR code=NoCredentialProviders msg=no valid providers in chain. Deprecated.#012#011For verbose messaging see aws.Config.CredentialsChainVerboseErrors, err=
Aug 30 14:38:08 xxxxxxxxx /usr/local/bin/goofys[1784]: fuse.ERROR *fuseops.ReadDirOp error: NoCredentialPro

元記事を表示

redashでCloudWatchをデータソースとした場合のクエリの書き方

##前提
redashでは対応しているデータソースに合わせてクエリを書く必要がある。
CloudWatchをデータソースとした場合、どのようにクエリを書けばよいのか分からなかったため、備忘録として記事を残しておく。

##結論
CloudWatchをデータソースとした場合のクエリを書くといっても、実態としてはCloudWatchのメトリクス取得APIを叩いているだけなので、そのAPIへのリクエストパラメータを書くのと同じ。

公式リファレンスからリクエストの例を一部抜粋して改変したものを次に示す。

“`json:リクエストの例
{
# どれだけの期間のデータを取得するか
“StartTime”: 1518867432,
“EndTime”: 1518868032,

# 取得したいメトリクス群の記述
# この例では、2つのEC2インスタンスのCPU使用率を取得している
“MetricDataQueries”: [

# 1つ目のEC2インスタンスの指定
{
“Id”: “m1”,
“Label”: “CPUUtiliz

元記事を表示

OTHERカテゴリの最新記事