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

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

zabbixエージェントをインストールしてサーバーとホストで通信する

# zabbix agentをインストール
前回zabbix serverインストールまで終わったので今回はzabbix agentインストールをやっていこうと思います。

前提条件
awsのインスタンスを使っています。
Red Hat Enterprise Linux
RHEL-8.4.0
t2.micro
10G
teratermでssh接続。鍵認証で入っています。
→鍵はインスタンスを作る時に作ってダウンロードしました。

→前回やったこと
zabbixサーバーをインストールしました。

##今回やること
監視対象となるエージェントのサーバーを新しく作る。
→1. インスタンスがもう一個必要。
→2. そこにzabbixエージェントを入れて監視できるように設定。
→3. zabbix_get コマンドでホストとサーバーの通信を確認。

ここで今回やりたいことを図解してみようと思います
![image.png](https://qiita-image-store.s3.ap-nor

元記事を表示

【AWS】AWS Lambda

#はじめに
AWS認定試験取得に向けてAWSの知識を整理するためのまとめです。
今回はAWS Lambdaについてまとめます。

#Lambdaとは
なんらかイベントが発生したときに、ユーザが設定したコードを実行し、
コードを実行する基盤はAWS側で管理するサーバレスコンピューティングなサービスです。
Lambdaで実行するコードは「Lambda 関数」と呼ばれます。

#Lambdaの特徴

EC2と比べると自由度は落ちますが、インフラ周りの構成、管理はAWS側の負担となるので、
その分コードを書くことに注力できます。

## 基本設定
###メモリ
64MBごとに128MB〜10,240MBの間で設定可能です。
容量に応じてCPU能力なども比例します。

###実行時間
900秒(15分)が最大実行時間です。
タイムアウト時間は1秒から15分の間で任意に設定できます。

###スケール
利用者側でスケーリングの設定は必要なく、
リクエスト数に応じて自動的にスケールします。

## サポートされている言語
Python、Node.js、C#、Go、Java,Ruby、PowerShe

元記事を表示

Terraformで仮想ネットワークを構築

##概要
TerraformでAWSの仮想ネットワーク構築手順をまとめました。
Terraformのインストールから簡単なEC2インスタンス構築までは下記の記事でまとめています。
こちら: [Terraformを使ってEC2インスタンス構築](https://qiita.com/ramunauna/items/57bd4235b89c059b296f)

##目次
1. VPCを作成
1. パブリックサブネットを作成
– サブネットを作成
– インターネットゲートウェイを作成
– ルートテーブルを作成
– サブネットへの関連付け
1. プライベートサブネットを作成
– サブネットを作成
– Elastic IPの割り当て / NATゲートウェイを作成
– ルートテーブルを作成
– サブネットへの関連付け

##構成図
今回の構成図はこちら。
![AWS_Network.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1813991/d4b647cd-

元記事を表示

AWS Amplify(Cognito)でAuthエラーが出た(AuthError – Error: Amplify has not been configured correctly. )

# 何が起きたか
AWS Cognitoで作ったユーザープールで認証認可機能を提供するReactアプリで、フロントにおいてAWS Amplifyのパッケージを利用してAuth機能を行なっていました。
実際に作ってるアプリは以下です。
[[個人開発]誰かの人生の1ページを覗けるアプリをGo&Reactでサーバーレスに開発]
(https://qiita.com/tenshinhan_yamucha/items/e2e331515c3a64f34f5f)

(AWS cognito × Reactの実装自体は以下の記事を参考にしました。)

https://zenn.dev/tatsurom/articles/b6e5fc200035a0ef9467

この時、なぜか急に

“`
AuthError –
Error: Amplify has not been configured correctly.
The configuration object is missing required auth properties.

元記事を表示

Amazon GuardDutyを各リージョンで一括 有効/停止/削除

# 一括有効化
“`
for REGION in `aws ec2 describe-regions | jq -r “.Regions[] | .RegionName”`; do
aws –region ${REGION} guardduty create-detector –enable
done
“`

# 一括停止
“`
for REGION in `aws ec2 describe-regions | jq -r “.Regions[] | .RegionName”`; do
DETECTOR=`aws –region ${REGION} guardduty list-detectors | jq -r “.DetectorIds | .[]”`
aws –region ${REGION} guardduty update-detector –detector-id ${DETECTOR} –no-enable
done
“`

# 一括削除
“`
for REGION in `aws ec2 describe-regions | jq -r

元記事を表示

【AWS】amplify CLIの用意

# はじめに

AWSでお仕事?をしていて、amplify というのを用意する必要があったのでメモ。
amplify command line interface (CLI)は、AWS cloud service をアプリケーションで使うためのツールだそうです。何でも、作業しているproject のフォルダで

“`
$ amplify init
“`

とやると、設定が行われ、CUIでいろいろきるようになるのだとか。自分は、これで作業中のproject で “`amplify init“` できたところまでしかできていませんが、メモ。^^*

https://docs.amplify.aws/cli/start/install

このGet started の install の流れです。

– インストール
– “`amplify configure“`

するだけ。

# インストールとアカウント設定

## インストールのための準備

(1) Node.js version 12.0 以上、npm v 6.x 以上とあるが、自分はNode.js が古いことが判明

元記事を表示

LambdaのProvisioned Concurrency とは

## 勉強前イメージ

並列数を上げる?

## 調査

### Provisioned Concurrency とは

2019年に発表された機能で、
初期化処理が完了したlambdaの環境をプロビジョニングしておくことが出来ます。
要するにすぐに使えるようなlambdaの環境を用意しておくことができる、ということです。
lambdaのコールドスタート(HWが初期化された状態の再起動)対策として他にも方法が取られていましたが、
この機能で簡単に対策を行うことが出来ます。

lambdaでリクエストが大量に来たとき、
同時実行数に関わらず、バースト制限までしか最初の段階は増えないのです。
例えば同時実行数が3000で、バースト制限が1000だとしたら
一気にアクセス来た際は1000までしか最初は増えないということです。
その後の同時実行数はすぐには増えず1分間に500ずつ増えていきます。
その際の一定量環境を用意しておくという対策が、Provisioned Concurrencyになります。

### 費用

Provisioned Concurrency には費用がかかり、
東京リー

元記事を表示

AWS認定クラウドプラクティショナー勉強日記

# はじめに

業務でAWSを使うようになり、AWSの基礎を体系的・包括的に理解したいなと思い、AWS認定試験のクラウドプラクティショナーに挑戦しようと思いました。

# AWS認定試験の全体像
* [AWS認定試験の概要](https://qiita.com/kazutxt/items/dce1c5df12d5ab27020a)

# プラクティショナーの試験概要
* 問題数は65問
* 試験時間は90分
* 合格スコアは100-1000のスコアで700以上(≒正解率70%前後)
* 試験料は11,000円
* 試験範囲
* クラウドの概念:28%
* セキュリティ:24%
* テクノロジー:36%
* 請求と料金:12%

# 受験前のステータス

現時点でのスキル・知識を整理

* ICT及びプログラミングのある程度ある
* SIerで10年ぐらいの実務経験
* 情報処理技術者試験で高度試験(ITアーキテクト/NWスペシャリスト/安全確保支援士など)をいくつか保有
* 複数のプログラミング言語(Node/Java/Pytho

元記事を表示

Laravelを常時SSL化する(初心者向け)

PHP・Laravelで作成したアプリをAWSのEC2へデプロイする際に、本番環境では常にHTTPS通信を行うことになると思います。
何も設定しないとHTTP通信になってしまうので、この記事ではLaravelをセキュア(=暗号化)な状態で通信するための設定を記載します。

# 環境の設定

“`PHP:config/app.php
‘env’ => env(‘APP_ENV’, ‘〇〇〇’),
“`
`〇〇〇`の箇所について、開発環境の場合(ローカルで開発する際)は`local`、本番環境の場合(デプロイする際)は`production`にしてください。
ここを設定することで、開発環境か本番環境のどちらか切り替えることができます。

# URLをhttpsにする
AppServiceProvider.phpを下記のように追記してください。

“`PHP:app/Providers/AppServiceProvider.php

元記事を表示

AWS上にサーバーを作る(その04:Amazon EC2インスタンスを起動)

前回の投稿
[AWS上にサーバーを作る(その03-02:Amazon VPCの設定)](https://qiita.com/aa_ha1uhik0/items/8ee966001fdfefd5eeff)

# インスタンスを起動
開始するには、クラウド内の仮想サーバーである Amazon EC2 インスタンスを起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/520646/58e3dea3-9e36-9e9a-8ec7-d0223468a812.png)

## ステップ 1: Amazon マシンイメージ (AMI)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/520646/c40f9145-6d02-82f0-e766-f3c73fd034e3.png)

> AMI は、インスタンスの作成に必要なソフトウェア構成 (OS、アプリケーションサーバー、アプリケーション) を

元記事を表示

AWS CLI でEC2のバケット名を変更した

## はじめに

教材でAWS演習をこなして学習している中、
S3のバケット名を曖昧に決めてしまったことが原因で
Route53でドメイン名を取得できないことに気づく。

「じゃあ、S3を作り直すか…」と思っていたが、
`AWS CLIを使ってバケット名を変更する方法がある`と情報をゲット。
(学習教材にもその場合はググって調べたら何とかなると書いてあった。)

そこで、学習がてらネットで情報収集して
解決できたので対応記録としてまとめる。

`OS:MAC`

## 教材

・ゼロからわかる Amazon Web Services超入門

## そもそもAWS CLIって?

AWSは、マネジメントコンソールからGUI(ボタン操作など)で
EC2やS3などのインスタンス作成したり、VPCのネットワークを構成したりなど
インフラ構成ができる。

それに対して、CLIはターミナル内で
コマンドを入力して、各種インフラ構成をすることと
ざっくり認識しておく。

おそらく、細かく言うとできることも異なると思う…

## 目的

目的は`S3のバケット名を変更すること`

恥ずかしい

元記事を表示

AWS Cognito Reactでサインアップ・サインイン機能を実装してみた

# 初めに

入門中の React を使って Cognito のサインアップ・サインインのサンプルを作ってみました。

リポジトリは以下になります。

https://github.com/quryu-1/cognito-authentication

# パッケージ

Cognito で認証機能を実装するには以下のパッケージが必要です。

“`
npm install –save amazon-cognito-identity-js
npm install –save cross-fetch
“`

“`react
import ‘cross-fetch/polyfill’;
import * as AmazonCognitoIdentity from ‘amazon-cognito-identity-js’;
“`

# 使い方

必要なことは、以下のコードにユーザープール ID とクライアント ID を設定することです。

“`react:App.js
const poolData = {
// setting ids
UserPoolId: ”,
C

元記事を表示

S3について(入門)

AWSについて代表的なストレージサービスのS3の理解を深めるために投稿しました。

#S3とは
S3とは「Amazon Simple Storage Service」という名称でAWSが提供するオンラインストレージサービス。
S3は、2006年からサービスを開始していて、安価で高い耐久性をもっているAWSの代表的なサービスの一つ。
オンラインストレージなので、インターネットが接続できる環境でデータをアップロードしたり、ダウンロードしたりすることが可能。

また、データを保存する場所(リージョン)は自身で選択することができる。
例えば、東京リージョンを選択した場合は、リージョン外に出ることがないので、日本国内にデータが保存されるようになる。

#S3のメリット
S3のメリットは以下のようになる
・ 堅牢
・ いつでも利用できる
・ スケールできる
・ 安全
・ 高速に動く
・ シンプルに利用できる
・ コストがばり安い

###堅牢
S3はデータを3箇所以上に冗長化して保存される。なので、99.999999999%という高い耐久性が実現できている。
###いつでも利用できる
SLAが99

元記事を表示

AWS 認定 データベース – 専門知識に合格したので勉強方法を書いておく

#はじめに
AWS 認定 データベース – 専門知識に合格したので、勉強方法を備忘として書いておきます。参考になれば幸いです。これで8冠、残り3冠・・・・がんばります・・・

職業:現在インフラエンジニア6年目でAWSをメインに設計構築をするようになって、2年くらい。
最近はもっぱらオンプレミスからAWSへの移行などのコンサルをやることが多いです。
AWSをやる前は、VMwareやWindows、Linuxなどいろいろやってましたが、
今では、AWSが得意!と言えるくらいになってます。

他のAWS関連の資格:
 ソリューションアーキテクトアソシエイト(SAA)(2018年取得)
 SysOpsアドミニストレータアソシエイト(SOA)(2019年取得)
 ソリューションアーキテクトプロフェッショナル(SAP)(2020年取得)
 セキュリティ – 専門知識(SCS)(2021年取得)
 デベロッパーアソシエイト(DVA)(2021年取得)
 クラウドプラクティショナー(CLF)(2021年取得)
 DevOpsエンジニアプロフェッショナル(DOP)(2021年取得)

https://

元記事を表示

NLBとAuto Scallingを連携させる

NLBのターゲットにAuto Scallingグループを指定できます。

AWS公式のドキュメントとしては[Auto Scaling グループにロードバランサーのアタッチ](https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/attach-load-balancer-asg.html)にやり方が書いてあります。

今回はこれをTerraformでやる方法を残しておきます。

ざっくりとは普通にNLB、リスナー、ターゲットグループを作成し、Auto Scallingグループをターゲットグループにアタッチしています。

## nlb.tf

“`nlb.tf
resource “aws_lb” “nlb” {
name = “${var.base_name}-nlb”
internal = false
load_balancer_type = “network”
subnets = var.public_subnet_ids

ta

元記事を表示

【AWS・EC2】unicornを起動の際のエラー文master failed to start, check stderr log for detailsの解決法・rails6 master.key周りの解決法も

したいこと

unicornの起動を成功させたい。(エラー文master failed to start, check stderr log for details)

経緯

本番環境としてEC2を使ってポートフォリオをデプロイしようとしています。
rails6で作成したアプリです。
下記記事を参考にしています。

https://qiita.com/Yuki_Nagaoka/items/dbb185feb6d4f051c2f2
https://qiita.com/naoki_mochizuki/items/5a1757d222806cbe0cd1#unicorn%E3%81%AE%E8%A8%AD%E5%AE%9A

出ているエラー

下記コマンドを実行し、

$ bundle exec unicorn_rails -c /var/www/rails/アプリ名/config/unicorn.conf.rb -D -E production

以下の様にエラーが表示される。

master failed to start, check stderr log for det

元記事を表示

【AWS API Gateway】エラー解決方法 〜「blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header 」

##症状
AWS API Gateway で作成した APIに GET通信したら、動かなくなったので、Chromeの検証画面を見ると、こんなエラーが出ていた。

“`
Access to XMLHttpRequest at ‘https://xxxxxxx.execute-api.ap-northeast-1.amazonaws.com/xxxxx/xxxxx’
from origin ‘http://xxxxx.co.jp’
has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header
is present on the requested resource.
“`

##解決方法

AWS API Gateway でCORSを有効にする。

アクション > メソッドの作成
[![Image from Gyazo](https://i.gyazo.com/5b4b4163542d493fffc9d75e7370ec53.png)](https://gyazo.com/5b4b416354

元記事を表示

Terraformを使ってEC2インスタンス構築

##概要
TerraformのインストールからAWSでのEC2インスタンスの作成までの手順をまとめました。

・Terraformをどう始めるか
・AWSリソースをコードからどうやって作成するのか
上記の2点にフォーカスをあてているため、細かい設定等は省きます。
Terraform学習の一歩目として参考にどうぞ。
##環境や前提条件
###OS
・macOSを使用
・homebrewがインストール済みであること
###AWS
・AWSアカウントが作成済みであること
・IAMユーザーを作成しアクセスキー、シークレットキーを取得済みであること

##目次
1. AWS CLIをインストール
1. Terraformをインストール
1. EC2インスタンスの構築
1. EC2インスタンスの更新

##1. AWS CLIのインストール
###AWS CLIとは?
AWS CLI(コマンドラインインターフェース)とは、コマンドラインからAWSのサービスを管理・操作するためのツール。
使用するメリットとしてはマネジメントコンソールでのGUI操作を自動化できることが挙げられる。

###インストー

元記事を表示

autovacuum、autoanalyzeの実行頻度を調整

#背景
PostgreSQLを使用しているのですが、本番環境でパフォーマンス劣化が顕著に現れてきました。
調査の結果、autovacuumとautoanalyzeが動いていなかったので、vacuum周りを調整しました。

#環境
DB:Amazon Aurora for PostgreSQL 10.16

#vacuum・analyzeの状況確認
##SQLで現状の情報を取得する
PostgreSQLの公式ドキュメントより、vacuum・analyze実行有無はpg_stat_all_tablesビューで最終確認時刻が確認出来ます。

[こちら](http://fdays.blogspot.com/2011/06/postgresql-vacuum-analyze-sql.html)のページに良いSQLが記載されていましたので、参考にさせて頂きました。

“`sql
SELECT relname, n_live_tup, n_dead_tup, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze
FROM pg_s

元記事を表示

$0.12 per GB-month of General Purpose SSD (gp2) provisioned storageの解決策

概要

8ドルほどAWSの請求が発生したので原因を調査したところEC2の
$0.12 per GB-month of General Purpose SSD (gp2) provisioned storage
という項目で費用が発生しているとのこと。

解決方法

下記全て実行しました。使っていないEC2インスタンスを削除のみでは
解決しなかったのでご注意下さい。

  • 使っていないEC2インスタンスを削除
  • EC2のサイドバーメニューの「ボリューム」項目で、使っていないボリュームを削除
  • ![EC2の料金請求原因(ボリューム).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/8f07c9e8-b5af-f9b5-1158-fb5fa7389fd8.png)

元記事を表示

OTHERカテゴリの最新記事