AWS関連のことを調べてみた2020年10月11日

AWS関連のことを調べてみた2020年10月11日

AWSにdockerを使用したlaravelをデプロイ①

##概要##
・自分が詰まったポイントと同じポイントで詰まった方向けにAWSにlaravel/dockerをデプロイするまでの過程を書いていきます。


##前提条件##
・Mac基準になります。
・gitにlaravelアプリがpushされている事。
・dockerがインストールされている事。
・AWSにログイン出来る事。


##構築環境##
・php7.4
・mysql8.0
・laravel6

dockerの構築は
@ucan-labさんの記事
[【初心者向け】20分でLaravel開発環境を爆速構築するDockerハンズオン](https://qiita.com/ucan-lab/items/56c9dc3cf2e6762672f4)
を参考に作成しました。


##変更点##

“`
version: “3.3” ←変更
services:
app:
build: ./infra/php
volumes:
– ./backend:/work

web:
image: nginx:1.18-alpine

元記事を表示

express.jsアプリをAWS CloudFormationでデプロイする

CloudFormationを使用してexpressアプリをlambda functionとしてデプロイ、API gatewayを通して公開する

## express.jsでアプリを作る

まず、ふつうにアプリを書く。ファイル名はapp.jsとする

“`js
// app.js
const express = require(‘express’);
const cors = require(‘cors’);
const app = express();
const port = 3000;

app.use(cors());

app.get(‘/’, (req, res) => {
console.log(req.method, req.url);
res.send({ status: true });
});

app.listen(port, () => {
console.log(`listening on http://localhost:${port}`)

元記事を表示

API GatewayとStep Functionsを組み合わせた非同期APIが最強だった話

最強というかカンタン?

サーバーレスの構成として一般的な
API Gateway&Lambdaですが

**API Gatewayは29秒制限**、
**Lambdaは15分制限**があるわけですね

Lambdaの性能を目一杯使いつつ、
そのギャップを埋めるため
**なるべくシンプルな構成で非同期APIにしたい** ってこと
あると思います。

そのときに必要なのは

– LambdaをキックするためのAPI
– キックしたLambdaが完了したか判断し、レスポンスを受け取るためのAPI

だと思いますが、下記Step Functionsにはその**両方が備わっています**

# Step Functions

Step Functionsでは、
マイクロサービスの連携などワークフローを視覚的でイケメンな感じに
構成することができます。

**公式例:**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285581/8d8acfed-7f47-5a2d-589d-feb66a03f

元記事を表示

AWS初心者VPCまでを備忘録として簡単にまとめてみた

AWSについて整理します。

AWS=クラウドサービス
■AWS特徴
1.EC2やRDSなど100以上のサービスが存在
2.リソースが柔軟
3.従量課金制

●インフラとは
ここではサーバーやネットワークの事
●サーバー
クライアントに対してサービスを提供するコンピュータの事
●ネットワーク
クライアントとサーバーの間でデータの送受信を行っている部分
●クラウド
インフラをネットワーク経由で使用管理すること
●オンプレミス
インフラを自前で用意して、自社で所有管理する事

■ユーザー
1.ルートユーザー
2.IAM(アイアム)作業用ユーザーを使用する事
【理由】
ルートユーザーは特権ユーザーで何でもできる為
※基本的に使わないように

■VPCネットワーク
●リージョン
AWSの各サービスが提供されている地域の事=アメリカ、東京リージョン等
→日本で東京リージョン以外を使うと、若干の遅延が発生するのと、為替レートなどの影響で料金が高くなるケース有り

●アベイラビリティーゾーン(サブネット)
独立したデータセンターのようなもの
重要:通常アプリケーションを管理する際に、このサブネットを

元記事を表示

AWSによるクラウド入門 学習まとめ

# What’s this?

以下の講義を学習した際のメモ
https://tomomano.gitlab.io/intro-aws/#_%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB

# 学習メモ

## 3.3. AWSでクラウドを作るときの基本となる部品

### 3.3.1. 計算

– EC2(Elastic Compute Cloud)
– Lambda Function as a Service(FaaS)

### 3.3.2 ストレージ

– EBS(Elastic Block Store)
– S3(Simple Storage Service)

### 3.3.3 データベース

– DynamoDB

### 3.3.4 ネットワーク
VPC(Virtual Private Cloud)

元記事を表示

初心者がAWSを始めてみた(2)

## はじめに
最近、仕事でAWSに触れる機会が増えてきたので、
個人的に勉強がてら始めてみようと思いました。

今回は前回の投稿で触れたアカウント情報を守る設定とIAMユーザーについて書いていこうと思います。

## AWSアカウントを守る設定

前回の投稿ではAWSアカウントの作成をしました。
作成したアカウントは「ルートユーザー」と呼ばれるものであり、
言わば「なんでもできてしまう神様アカウント」です。

しかし、このアカウント情報が何かしらの形で漏れてしまうと、
勝手にログインされてとんでもないことになってしまいます。(勝手にAWSのサービスを使われたり、利用料を請求されたり…)

アカウント情報を守るために、AWSではアカウントに対して多要素認証(MFA)の設定をするよう推奨しています。

## 多要素認証(MFA)とは?

多要素認証とは、ユーザーのIDを複数の信用された情報を要求することにより検証するシステムのことです。
もっと砕いて説明すると、ログインするときにパスワードを入力するだけでなく、さらに信用できる情報(証明書、顔認識、指紋認証などなど…)を合わせて要

元記事を表示

【俺得】SAM CLIでデプロイする迄

#AWS CLIインストール
### pythonとpipのpath追記 ※前段作業
・pythonとpipのPath確認方法
エクスプローラで確認

![pythonのpath確認方法.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/498271/4bcbf082-aac8-2b5b-c184-7dde9d416f98.png)

・pathの追記
コマンドプロンプトから下記を開いていく
システムとセキュリティ→システム→システムの詳細設定→環境変数
システム環境変数の一覧からPathを選択し、編集をクリック

![pythonのpath追加.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/498271/eeedbf40-59ca-d5b4-ee2d-4e2c2dedc08e.png)

pythonとpipのPathがなければ新規にて作成

### AWS CLIインストール

“`
C:\Users\USER>pip

元記事を表示

aws初学者がCIDR表記を調べてみて

##概要
自分は、aws初学者ですが、以下調べていくと知見が深まりました。
調べれば分かる事なので、答えは書いてませんので、悪しからず。
(他 調べるべきキーワードのご指摘があると幸いです:yum:)

##CIDR
CIDR(Classless Inter-Domain Routing)
別名: classless addressing

①IPアドレスとは?
②プライベートIPアドレス、グローバルIPアドレス
③(IPv4)のクラスAクラスBクラスC
④ネットワーク部、ホスト部
⑤なぜ、Classless
⑥プレフィックス
⑦サブネットマスク
⑧CIDR表記とサブネットマスク表記

〜おまけ〜
[香川県、ネット・ゲーム規制条例のパブコメを地元メディアに全件公開 記載IPアドレスに疑問の声も]
(https://www.itmedia.co.jp/news/articles/2004/14/news077.html)

元記事を表示

昨今のエンジニアのインフラ技術を料理で無理矢理例えてみた。

# はじめに
この記事の想定対象者は
– 自分はエンジニア(開発者)ではありません
– でも、エンジニアと関わります。(企画とかマネジメントとか)
– そのため、最低限エンジニアのインフラ知識ないとエンジニアの皆様に『そんなことも知らねーのかよ勉強して出直せ』と怒られます
– でも、少しググったけど何もわからないんです
という人々です

人類どんな人がいようと食べない人はいないだろうということで、無理矢理料理で例える努力をしてみました。

ので、日頃サーバー触っているエンジニアの方々はあまり対象ではありません
もしかしたらプログラミングはできるけどインフラ周り何もわからないっていう人の助けにはなるかもしれません。
ならないかもしれません。

# 具体的な技術について
– クラウド(いわゆるパブリッククラウド。AWS/Azure/GCP…)
– コンテナ(Docker)
– Kubernetes

についてかるーく触れます
雰囲気が伝わることをめざしています。ので超厳密にいうと少し違うかもしれません。
ご了承ください

嘘は書いてないつもりです。ここ違うよ!ってところがあればコメント

元記事を表示

“Beyond the Twelve-Factor App” & “The Twelve-Factor App”から学びAWSで実践する (2)APIファースト

#解説
本ファクターはオリジナルにはなく、Beyondで追加されたものです。最近のアプリケーション開発においてAPIは重要性を増しており、非常に重要なファクターになります。APIファーストの良い点を以下のようにまとめています。

1. **アプリケーションの機能要件はAPIの利用を通じてすべて満たされる。UI部分はWebやモバイルアプリといった様々な形式で自由に提供できる**
あらゆる機能をAPIで実装し、UIはそのAPIを利用して構築するというのはすでに当然の構成です。AndroidやiOSといったモバイル端末、Webブラウザ、PC用のデスクトップアプリケーションと同じアプリケーションを提供するとしても、対象端末ごとに最適なユーザーエクスペリエンスを提供するためには、それぞれに適したUI実装が必要となります。その中で、機能要件は共通なロジックとしてAPIで提供されるのはしかるべき構成になります。
1. **ステークホルダー(内部チーム、顧客、APIを利用する他の組織のチーム)と、APIの仕様をベースに議論することができる**
RESTful APIで設計することは、ド

元記事を表示

`% terraform init` で `* hashicorp/aws: version = “~> 3.10.0″` とエラーが表示される場合

IaCに憧れてTerraformを勉強中の新米エンジニアよしこです。

AWS EC2にVPCを構築するのにTerraformを使用しているときに以下のログに遭遇しました

“`bash

> terraform init

Initializing the backend…

Initializing provider plugins…
– Using previously-installed hashicorp/aws v3.10.0

The following providers do not have any version constraints in configuration,
so the latest version was installed.

To prevent automatic upgrades to new major versions that may contain breaking
changes, we recommend adding version constraints in a required_providers block

元記事を表示

新人エンジニアが AWS Black Belt オンラインセミナー の魅力を語ってみた

# はじめに
約3ヶ月間、それなりにボリュームのある新規開発で AWS周りをガッツリやらせてもらいました。

AWS や新規開発について学ぶことが多かったので何回かに分けてまとめてみたいと思います。
これから AWS をガッツリ使っていこうと思っている方の参考になれば幸いです。

バックナンバーはこちらからどうぞ!

– [新人エンジニアがインフラのコード化(IaC)に3ヶ月取り組んで見えた知見をまとめてみた](https://qiita.com/tasurom/items/32162ae85cb9100b1850)

今回はその第2回、 **AWS Black Belt オンラインセミナー** 編です?

## AWS Black Belt オンラインセミナー とは?
>AWS Black Belt Online Seminar シリーズは、製品・サービス別、ソリューション別、業種別のそれぞれのテーマに分かれて、アマゾン ウェブ サービス ジャパン株式会社が主催するオンラインセミナーシリーズです。

https://aws.amazon.com/jp/about-aws/events

元記事を表示

【らくちんAWS】 LightSailからはじめるAWSエンジニア (前編) 【EC2よりカンタン】

[~~【らくちんAWS】LightSailからはじめるAWSエンジニア (後編)【完全に理解した】~~(作成中)]()

![LightSailロゴ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365927/5582f1f3-ff42-7c81-36ad-17ff44a582e3.png)
#この記事について
この記事は、「AWSは難しくて嫌だ!」と感じる人の苦手意識を克服するために、
とっても簡単に使える[AWS LightSail](https://aws.amazon.com/jp/lightsail-vps/)というサービスを紹介させていただく記事になります。
後編では、LightSail基準で見るAWSの各種サービスの紹介をさせていただきますので、
今までよりも簡単に、AWSの理解を広げていけると思います。

※AWSのデファクトスタンダードである「EC2」を基準に各サービスの理解を広げることができる方は、この記事を読む必要はありません。
※LightSailをWordPress環境と

元記事を表示

AWSでAwstatsのインストール

AWSでAwstatsのインストールをしたので、メモ代わりに投稿します。
Awstatsって、まだ需要あるのかな?
#Awstatsのインストールと設定方法
apacheのログの形式を変更
Awstatsをインストールする前に、先にapacheのログの形式を変更。

“`
$ vi /etc/httpd/conf/httpd.conf
“`
以下の様に、変更。

“`
CustomLog logs/access_log common

CustomLog logs/access_log combined
“`
次はAWstatsのダウンロード。
最新版は7.8。

“`
$ wget http://prdownloads.sourceforge.net/awstats/awstats-7.8.tar.gz
“`
ダウンロードしたファイルを解凍。

“`
$ tar zxvf awstats-7.8.tar.gz
“`
解凍したディレクトリのcgi-binディレクトリに移動。

“`
$ cd awstats-7.8/wwwroot/cgi-bin
“`
このディレ

元記事を表示

AWSでSlackへのPOST先を限定する仕組みを構築する話(失敗ルート)

# 0. はじめに

今年の7月にAWSアソシをギリで取得した初心者が、AWSでそれっぽいことをする奮闘記である。
言いたいことは、**AWS初心者でも調べる&触るを繰り返せば、それっぽいこと出来ちゃうよ、やってみよう!**ってこと。

ちなみに、これはうまくいかなかった失敗ルートです。
失敗ルートを歩んだけど、HPが0になってゲームオーバーになったわけじゃないから、そこで得た経験値はありがたく自分のものになったので、セーブしとこう。

# 1. やりたいこと

情報流出を防ぐために、みんなで作るLambdaのPOST先をSlackだけに**システム的に絞りたい**。
ただし、いくつかの条件がある。(この条件も調べてから知った)
### 条件
– SlackのIPアドレスの範囲は非公開のため、L4レイヤによるIPアドレスのフィルタリングでは難しい。
– 現在、AWSサービスでWebフィルタリングする機能はない。(出口側)

# 2. 絵にする

いきなりこれが出来たわけではないけど、こんな構成図を考えました。

![Sla

元記事を表示

AWS Certified Security – Specialtyに合格したよ!

# AWS Certified Security – Specialty合格したよ!
※記載内容に間違いあったらすいません

## 前提
私はこれが六つ目のAWS認定で、これを受ける前にアソシエイトとプロフェッショナルの資格を全て保持していました。
今回受験した理由として、AWSでシステムアーキテクチャを考える上でセキュリティの観点で1から勉強したく取得に踏み切りました。

本記事では私がAWS 認定セキュリティを受験するに当たって勉強した内容、教材と受けた感想を共有させて頂き、少しでもこれから受験する人の役に立てばと良いなと思ってます!

## 試験内容

AWS 認定セキュリティ – 専門知識は、最低 2 年間の AWS のワークロードの保護に関する実務経験を持つセキュリティ担当者である個人を対象としています。

**認定によって検証される能力**

– 専門的なデータ分類と AWS におけるデータ保護メカニズムについての理解
– データ暗号化メソッドと、AWS におけるその実装メカニズムについての理解
– 安全なインターネットプロトコルと、AWS におけるその実装メカニズムにつ

元記事を表示

Amazon Timestreamの結果をグラフにしてみた

Timestreamの検索をSDKを使ってやってみました。

クエリーをする最小のコードはこんな感じ。

“`python
import boto3
from botocore.config import Config

query = “””
SELECT fleet, truck_id, fuel_capacity, model, load_capacity, make, measure_name, CREATE_TIME_SERIES(time, measure_value::double) as measure
FROM “IoT-sample”.”IoT”
WHERE measure_value::double IS NOT NULL
AND measure_name = ‘speed’
GROUP BY fleet, truck_id, fuel_capacity, model, load_capacity, make, measure_name
ORDER BY fleet, truck_id, fuel_capacit

元記事を表示

ECSからLambdaを実行するときに必要なIAMロール

# やりたいこと
ECS TaskからLambdaを呼び出したい。

ECSとそれに付与するIAMロールはCloudFormationで定義しているが、IAMロールが正しいところに対して設定できていないとエラーが発生する。

#### エラーの例
`message:Unable to locate credentials`

# 環境
– 起動タイプ
– Fargate
– OS
– linux(alpine)

# 書き方
詳細については後述

“`sample.yml
AWSTemplateFormatVersion: 2010-09-09

Resources:
TaskRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
– Effect: Allow
Principal:
Service:

元記事を表示

sam deployの新しいオプション(–config-env,–config-file)を動作検証する

#0.前置き
少し前にsam deployの仕様が整理され、samconfig.tomlを参照してデプロイするようになりました。
https://dev.classmethod.jp/articles/aws-sam-simplifies-deployment/

つい3週間ほど前に–config-envと–config-fileというオプションが追加されたようです。
https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html#rules
https://github.com/aws/aws-sam-cli/pull/2176

動作検証します。

#A.結論

下記です。

|オプション|仮説|
|:-:|:-:|
|–config-env [environment]|samconfig.tomlに記述した環境別の設定を読み込む|
|–config-file [filename]|[filename]を設定ファイルとし

元記事を表示

Amazon Lightsailでサーバー構築

## Amazon Lightsailとは?
AWSのサービスの一つであり、レンタルサーバーのようなものです。
類似サービスにEC2がありますが、相違点としては使用料が月額3.5$からの固定であることや、アプリケーションやフレームワークのインストールが非常に容易であることが挙げられます。

## 使ってみよう
AWSのサービス検索フォームでlightsailを検索しましょう。
![スクリーンショット 2020-10-09 18.04.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/429077/cb990b36-eaf2-c103-719b-60a6c5802e4e.png)

遷移先の画面でインスタンスを作成します。
![スクリーンショット 2020-10-09 18.05.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/429077/37198a60-1ae7-f687-28fb-65256938e41b.p

元記事を表示

OTHERカテゴリの最新記事