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

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

Laravelでもサーバーレス!brefを使ってLaravelアプリケーションを作成してみた

## はじめに
**Laravel初学者の皆さんは、ポートフォリオを作成した時どこにデプロイしていますか?**
AWSまで勉強して`EC2`にデプロイしている方、`Heroku`にデプロイしている方いろいろいるかと思います。

しかし、それぞれ問題点があると思います。

### EC2の問題点
EC2は、インスタンスベースの仮想サーバーなので、常に稼働させなければならないため課金が発生する。(無料利用枠が、1年間毎月750時間分与えられるので十分かもしれませんが)
設定がめんどい。
下記の記事がWordPressを構築する記事ですがやることがとても多いです。
`CloudFormation`ができるようになればもっと短縮できますがハードルが高いですよね・・

https://qiita.com/Ryo9597/items/6d96ab9fdc1f1dca8838

### Herokuの問題点
無料枠のDBの選択肢が`PostgreSQL`になる。
30分何もアクセスがないとサーバーがスリープモードに入ってしまう。

ということで今回お勧めするのがサーバーレスです。

AWSにおけるサ

元記事を表示

terraform plan しなくても自動で文法注意してくれる設定を入れてみた

## これは何
VScodeにて、terraform plan しなくても自動で文法注意してくれる設定を入れてみた、の記録です。
前提として、以下Extensionは入れてます。

“`
https://marketplace.visualstudio.com/items?itemName=mauve.terraform
“`

## やってみた

“`
$ brew install tflint
“`

Pathが通っていれば、すぐ使えると思いますです。

適当にVPC作って、変な文法で書いてみます。

![スクリーンショット 2021-08-03 11.24.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/8dffaf71-4d36-1505-f751-685e6ce76e10.png)

ちゃんと注意されますね。すごい!

## 参考

“`
https://sil.hatenablog.com/entry/terraform-linter-tflint-rele

元記事を表示

業務未経験の僕が3ヵ月でAWS認定アソシエイト資格を3つ取得するまで

## Agenda
1. はじめに
1. AWS認定アソシエイト資格について
1. 勉強法とオススメの教材
1. まとめ

## はじめに
今年度業務内容がwindowsアプリ開発からBIツールによる可視化業務に変わって、aws上に蓄えられているデータを活用する機会もあったので、この機会に**AWS認定アソシエイト3資格取得**を目標に4月ぐらいから勉強を始めました。

とりあえずの目標として**3か月で3種類全取得**を掲げ無事合格できました。
![certificated.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438389/cc3b900c-410a-4582-1a15-a01d313f36d5.png)

– ソリューションアーキテクト
– 2021/4/30 Score:737
– デベロッパー
– 2021/5/22 Score:851
– SysOps
– 2021/6/14 Score:763

今回は簡単なAWS認定アソシエイト資格についての概要と、私の簡

元記事を表示

describe-security-groups の内容を jqで整形

セキュリティグループの設定を

“` bash
# SG_IDには セキュリティグループIDを設定
# リスト指定も可能 (https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html)
SG_ID=sg-1234567

# jqで整形して出力
aws ec2 describe-security-groups –group-ids ${SG_ID} | jq -r ‘.SecurityGroups[] | .IpPermissions[] | .FromPort, ” ” + .IpRanges[].CidrIp’
“`

元記事を表示

【13日目】AWS認定ソリューションアーキテクト合格までの道

# 構成管理サービス

## 構成管理に関する重要用語
### ◉プロビジョニング
複数の**ITリソース(サーバー/ネットワーク/DB/ストレージなど)**をシステムの利用状況や障害発生の状況に応じて、**動的に利用したり割り当てる**

### ◉デプロイ
サーバーに**ファイル(バイナリファイル/ソースコード)**や**アセット(その他ドキュメントをまとめたもの)**を配置して、利用できる状況にすること

:::note info
AWSでは環境構築に関わる作業を自動化するためのサービスが提供されている
:::

## コードによるインフラストラクチャ構成管理
### ◉オンプレ環境構築時の課題
– **作業中にミスが発生**する可能性がある
– 導入後に構成変更があることを考慮して、**インフラストラクチャ管理(設計書やサーバーのパラメータなど)が必要**

### ◉Infrastructure as Code(IaC)
– インフラストラクチャ構築作業を**コードで記述して管理する考え方**
– **定義ファイルをコーディング**して、コードを実行することでリソースのプロビ

元記事を表示

気になるあの上司は何時まで仕事をしているの?調査しよう。 Part III: データ分析編 (AWS CloudWatch/スプレッドシート)

## 注意

この記事は Slack の在籍状況を DB 等に保存し、そこから勤務時間帯を分析するという企画です。
Slack では 1 つのアカウントで複数のワークスペースを管理することができるため、オンライン状態でも趣味のコミュニティにいた、なんてこともあります。
決して **「Slack がオンライン = 仕事している」ということではない** ので、あくまで参考程度にお願いします。

## 目次

– [Part I: データ取得編 (Slack API)](https://qiita.com/noritakaIzumi/items/15baea8bcda572232d37)
– [Part II: データ保存編 (AWS Lambda/CloudWatch)](https://qiita.com/noritakaIzumi/items/9978e35308876d2b259b)
– **Part III: データ分析編 (AWS CloudWatch/スプレッドシート)** <- 今回はここ! ## 概要 今回は API を定期実行により蓄積されたログから、ユーザの勤務時間

元記事を表示

ServerlessFrameworkでS3バケットを作成する。

##概要
表題通り、ServerlessFrameworkでS3バケットを作成する。
例ではkkfactoryという名のBucketを作成します。

##実装

“`yml:serverless.yml
service: s3make
provider:
name: aws
stage: dev
region: ap-northeast-1
functions:

resources:
Resources:
kkfactory:
Type: AWS::S3::Bucket
Properties:
BucketName: kkfactory
“`
“`shell:S3作成
~/develop/study/S3 $ serverless deploy
Serverless: Packaging service…
Serverless: Creating Stack…
Serverless: Checking Stack create progress…
……..
Serverless: Stack

元記事を表示

AWS-IAM概要メモ

#はじめに
この記事では AWS の IAM の勉強メモを書きます。

#IAM 基本的な機能

1. ユーザー認証の提供
1. アクセス権限の付与

#ルートユーザーと IAMユーザー
IAMユーザーというユーザーを作成することができる。

強すぎる権限を持つルートユーザーは基本的に使用せず、
権限が制限されているIAMユーザーを使用する。

ルートユーザーでは IAMユーザーには許可されていない一部の操作も行うことができる。

IAMユーザーはIAMグループ単位で管理することができる。

#IAMポリシー
AWS での操作の許可・拒否を設定できる。
IAMユーザー、IAMユーザーグループ、IAMロール、リソースにアタッチすることで操作権限を設定できる。
※アタッチ可能なリソースは限られる

IAMポリシーは json形式で記述される。

#IAMロール
AWSアカウントやその他のユーザー、アプリケーションやサービスにアクセス権を付与する仕組み。

#参考サイト
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access

元記事を表示

【Amazon WorkMail】他のメーラーで送受信する方法【Becky】

##きっかけ
* awsで独自ドメインでアドレス作る際に、流れでAmazon WorkMailで作っちゃった(コスト掛かるの知らず)
* ↑のアドレスを今使ってるメーラーで送受信したい!

きっかけは単純、気軽にできると思っていた。。
設定に手こずったのでログ的に残します。

##Amazon WorkMailとは?
私的にはこんな感じで捉えてます↓

* 独自ドメイン使える(この流れでメアド作っちゃった)
* awsのメールサーバー
* 1アドレス50GBストレージで4ドル/月(お金掛かるの知らなかった:joy:
* 他のメーラーで送受信可能
* IMAPプロトコルのみ対応(POP3じゃないよ)
* リージョンは3つ(バージニア北部、オレゴン、アイルランド)
* 全部英語!

↓awsのこの辺にいます(2021/8/2現在)
![スクリーンショット 2021-08-02 223038.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/777576/6719960e-104b-aadc-2fd2-5630

元記事を表示

AWSのEC2にDockerをインストールする方法

# はじめに
昨日はローカルの開発環境(Windows)でDockerを使う記事を書いたので、本日はクラウド上(EC2)にDockerを導入する方法について記事にしたいと思います。

https://qiita.com/nagareboshi/items/2042755619f978394efd

# Amazon Linux2へのDockerのインストール

“`bash
# yumを最新にする
sudo yum update -y

# dockerのインストールする
sudo yum install -y docker
docker -v
sudo systemctl start docker
sudo usermod -aG docker ec2-user

# 自動起動を有効化する
sudo systemctl enable docker

# 自動起動の設定確認する
sudo systemctl is-enabled docker

# インストールが終わったらEC2を再起動するために終了する
exit
“`

# UbuntuへのDockerEngineのインストール

元記事を表示

CDKでThe expected type comes from property ‘timeout’ which is declared here on type ‘FunctionProps’が出た

## 問題

CDKでAPIを作成しておりLambdaにtimeoutの設定をしたら下記のようなエラーが表示されビルドできない

“`

The expected type comes from property ‘timeout’ which is declared here on type ‘FunctionProps’

“`

またリファレンスを幾ら見ても使い方に誤りは見受けられなかった。

https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionOptions.html

## 解決策

どうやらライブラリごとのバージョンが微妙に異なっていた模様。
package.jsonのライブラリの @aws-cdk/〇〇 で定義されているもののバージョンをちゃんとstableでリリースされているものに整理して、下記コマンドを実行したところ解決した。

“`sh

//古い node modules を削除
rm -rf node_modules

//新しい node modules

元記事を表示

CDKでthis CDK CLI is not compatible with the CDK library used by your application. Please upgrade the CLI to the latest version. (Cloud assembly schema version mismatch: Maximum schema version supported is 7.0.0, but found 13.0.0)

## 問題

CDKでデプロイしようとしたところ下記のようなエラーが表示された

“`

his CDK CLI is not compatible with the CDK library used by your application. Please upgrade the CLI to the latest version.
(Cloud assembly schema version mismatch: Maximum schema version supported is 7.0.0, but found 13.0.0)

“`

## 解決策

とりあえずaws-cdkのバージョンアップを行うことで解決
グローバルでaws-cdkを扱うのはあまり良くないが急ぎなのでまあしょうがない。

“`sh

yarn global upgrade aws-cdk@latest

“`

元記事を表示

40 代おっさん 冗長性のあるブログサービスを構築してみた

## 本記事について

本記事は AWS 初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## 最終作成図

![RDSEC2冗長性.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/97ae5dbd-5c07-57be-91be-4a68a0d529d2.png)

## RDSのスナップショットからRDSを復元

こちらの記事

にて以前RDS構成を作っていました。今はRDSを削除してしまったので復元します。
またVPCなどの構成も、この記事では省いていますので上を確認してみてください。

AWSマネジメントコンソールからRDSを選択
左ペインよりスナップショットを選択

![RDS復元.PNG](https://qiita-image-store.s3.ap-n

元記事を表示

CodeBuild でテストツール使ってみた

## 初めに

過去にデプロイしたが動かなかった経験があるため、デプロイ前のビルドでテストを行えるようにした。

## BuildSpec

YAML形式で、コードサンプルは以下の通り。
注意点としては、ソースコードのトップに置かないと認識しない。
また、Testツール(以下のpytest)は結構ややこしいので、詳細は後ほど記載する。

“`yaml
version: 0.2
phases:
install:
runtime-versions:
python: 3.8
commands:
– pip install pipenv
pre_build:
commands:
– pipenv install –dev flake8 pytest urllib3
– export VENV_HOME_DIR=$(pipenv –venv)
– . $VENV_HOME_DIR/bin/activate
– flake8 xxx.py
– python -m pytest

元記事を表示

【AWS】Dockerイメージを使用したLambda + APIGatewayでREST APIを構築

2020年12月から、LambdaはDcokerイメージを使用して作成できるようになりました。
そこで、DcokerイメージからLambdaを作成します。
また、作成したLambdaをもとにAPIGatewayをトリガーとしたREST APIの構築方法を説明します。

![docker_lambda_apigateway_qiita.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1166959/312689bb-ed6a-6934-bfcb-f93ccc01ad50.png)

# ターゲット

– AWSのコンテナ関連サービスについて学びたい
– サーバーレスでAPIを構築したい
– Docker,Lambda,APIGatewayについて学びたい

# 前提条件

– Dcokerを利用する環境がある(Docker Desktopがインストールされている)
– AWSマネジメントコンソール、AWS CLIの両方が利用できる環境がある

# ECRリポジトリの作成

Lambdaを作成するコンテナイメ

元記事を表示

AWS実務ほぼなしでAWS資格のプロフェッショナル(SAP)を受けて※落ちた話※

#きっかけ
__※注意 落ちた話です__
一昨年AWS Solutions Architect Professional (SAP-C01)を受けてあまり勉強できず落ちました。
2カ月前くらいにAWSのネットワーク専門知識に合格して
この勢いとネットワークの問題は答えられるからアドバンテージあるなと思って受けたら2回目も落ちました。。
ショックでお酒を飲みまくって、後日二日酔いで嗚咽を吐く悲しきモンスター(私)を生まれないためにも
内容をまとめたいと思います。。

#言いたいこと
__問題と答えを覚えて内容を理解したつもりで受かる気になっていないか?__
これに尽きます。
問題の正答率がよくてもこれに当てはまる場合は受けないことをお勧めします。
私は評価期間もあり、ダメ元で受けましたが余裕を持って受けたほうがよいです。
※とはいえモチベ上がらないとかありますが外的要因を作って無理やり上げましょう。

#絶望したこと
当日試験を受けた際に開始10分で知ってる問題が出てこなく、絶望し、心が折れました。。
6-7割初見でほぼ「これかな?」で答えを選ぶ感じになりました。
落ちたと思って気持ち

元記事を表示

Amazon EC2を利用した仮想サーバー構築方法③(Apacheのインストールとファイアウォールの設定)

AWS初学者です。

前回はSSH接続を行いました。
前回記事はこちら: Amazon EC2を利用した仮想サーバー構築方法②(SSH接続)

今回はApacheのインストールとファイアウォールの設定方法についてアウトプットしていきたいと思います。
(また、私はMacを使用した上でこの記事を書いています。Windowsをご使用の方はご注意ください)

# Apacheのインストール

今回は、前回までに作ったサーバーを「Webサーバー」として機能させるために、Apache(Apache HTTP Server)というWebサーバーソフトを用います。

[手順1] 作成したEC2インスタンスにSSHでログインする。
以下のコマンドをターミナルで実行して、SSHでインスタンスにログインします。

“`none:ターミナル
ssh -i ダウンロードしたキーペアファイル ec2-user@起動しているEC2インスタンスの

元記事を表示

CodeDeployを使ってみた

## 初めに

Lambdaのデプロイが上手くいかないのでQiitaに書きながら頑張ることにした

## 用語

### Blue/Green Deploy

> Blue/Greenデプロイとは?
> 現在稼働している環境と別にもう1つ稼働環境を作成し、ロードバランサー等のルーティングを新環境に向けるデプロイ方法です。
> 常にリクエストを受けている稼働中のサーバを置き換えるよりも安全にデプロイ可能なのがメリットになります。

https://qiita.com/keitakn/items/6abe6c971e4dec3b69ef

### アプリケーション

### デプロイグループ

デプロイのメイン設定となるもの。

### サービスロール

CodeDeployで利用するロールのこと。

### デプロイ設定

色々あるけど、単に利用するだけなら何でも良い気がする。

### リビジョン

デプロイするファイルがある場所だと思う。
S3においていたら、S3のARNを記載する。

### appspec.yml

CodeBuildのBuildspec.ymlのように、Code

元記事を表示

ECS + Fargate構成でECS Execを使おうとしたらハマったポイント

# ECS Execとは
今までFargateで動いているコンテナの中に入りたい場合、AWS System managerを使ってアクティベートコードを取得して、Dockerfileに書いてなどをする必要があった。ちょっとめんどくさい。
https://qiita.com/pocari/items/3f3d77c80893f9f1e132

それを簡単に出来るようになったのがECS Execということみたい。
docker execコマンドみたいな感じ。つまりコンテナの中に入れる。
https://aws.amazon.com/jp/blogs/news/new-using-amazon-ecs-exec-access-your-containers-fargate-ec2/

# ECS Execを使うには
[こちら](https://tech.smartcamp.co.jp/entry/try-amazon-ecs-exec)が参考になりました!ありがとうございます。
ざっくりまとめると、
– ECSタスクロールの作成
– enableExecuteCommandを有効化(タスク起

元記事を表示

[小ネタ]AmazonLinux2 PHP8にphpredisを入れる

#PHP8 on AmazonLinux2 一発でphp-redisが入らない(2021/08/1現在)ので調べてみた。

##前提として
amazon-linux-extrasでPHP8をインストール済み
Nginx + PHP-FPM + Laravel

*peclでインストールするらしいので、Pearをインストール*
`sudo yum install php-pear`

peclでインストール
`sudo pecl install redis`

*ビルドエラーが起きるので、php-develとgccをインストール*
`sudo yum install gcc`
`sudo yum install php-devel`

*php.iniに追加*
`echo “extension=redis.so” > /etc/php.d/redis.ini`

*php-fpmを再起動*
`systemctl restart php-fpm`

*Laravelの場合*
.envに追加

`SESSION_DRIVER=redis`
`SESSION_LIFETIME=120`
`ME

元記事を表示

OTHERカテゴリの最新記事