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

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

AWS でサーバーレスアプリケーションのあるべき姿について考えてみた

この記事は、[AWS LambdaとServerless Advent Calendar 2020](https://qiita.com/advent-calendar/2020/lambda) の5日目の記事です。

## 自己紹介

バックエンドのエンジニアとしてそろそろ8年になります。
今年度の初めからサーバーレスを用いた API 開発に従事しています。
元々 C#, Java, PHPなどでサーバーアプリケーションの構築に関わっていましたが、
サーバーレスなアプリケーションの構築は初めてで、学んだことをこの場で共有していけばと思っています。

## サーバーレスだからこそ実現できること

よく、サーバーインフラにまつわる設定が必要ないからサーバーレスは楽だよ、という話を聞きます。
実際、マネージドサービスのAWS Lamdbaで業務ロジックを動作させることによって、
サーバー冗長化、プロセス監視、サーバー複数台で構成されている時の様々な面倒くささ(セッション管理・デプロイなど)はなくなります。

しかし、それだとサーバーレスアプリケーションで作るべき理由をあまり感じないです。

元記事を表示

EKS:Fargateから始めるハニポ生活

こちらは[AWS Containers Advent Calendar 2020](https://qiita.com/advent-calendar/2020/aws-containers)の5日目の記事です。

ハニーポットとは、あえて外部から攻撃を受けることで最近の攻撃のトレンドや手法を見てみよう!という目的で構築されるサーバのことです。このハニーポット、運用をするにはハニポサーバそのものの整備だけではなくサーバで受けたログを収集し解析を行う解析基盤の整備です。

今回はハニーポットをAWS/EKS上に構築することで運用コストを抑えてみようというお話しです。
しかしせっかくのre:Inventの直後アドベントカレンダーですので、最近話題になっているAWS Fargateと先日のre:Inventで話題に上がったFargate上のログをfluentbitで収集する機構を用いてログの集約を行う環境を整えていこうと思います。

## 構成
今回のハニポは下記のような構成で構築しました。(fluentdではなくfluentbitの間違いですorz)
OSレイヤ以下のメン

元記事を表示

AWS EC2 macOSインスタンス

![EC2macOS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605817/5587a154-a121-4918-e101-89379e434dab.png)
#はじめに
Amazon EC2でのmacOSインスタンスが発表されて
やってみた!、つながったよ!との記事がポツポツとで始めてきたので
Mac好きとしては「ここは一つ試してみないと」
ということでやってみました 笑
でも、やってみたの記事はClassMethodさんの記事など多くありますので、
実際のインスタンス作成やVNCサーバーの起動、
クライアントからの接続はそちらを見ていただくとして、
自分なりにやってみて感じたこと困ったことなどつらつらと。
※2020年12月4日時点の話です
※自分のメモ書きでもあるので画像なしでスミマセン
※間違っていたらゴメンナサイ 教えてください〜

#前準備1
macOSは普通のインスタンスを立ち上げるのとは違って
専有ホスト(Dedicated Host)が必須。
で、専有ホストを管理コンソールのEC

元記事を表示

既存の Amplify App をモノレポに対応させる

この記事は[AWS Amplify Advent Calendar 2020](https://qiita.com/advent-calendar/2020/amplify) 4 日目の記事となります。

## はじめに

今年はじめより、[Amplify Console がモノレポに対応](https://aws.amazon.com/jp/about-aws/whats-new/2020/06/amplify-console-supports-deploying-and-hosting-web-apps-managed-in-monorepos/)しました。
モノレポ対応について公式のドキュメントはありませんが、[こちらのブログ記事](https://aws.amazon.com/jp/blogs/mobile/set-up-continuous-deployment-and-hosting-for-a-monorepo-with-aws-amplify-console/)に作成方法について記述があります。

ただ、このブログ記事には、既存の`Amplify App`をモノレポ化す

元記事を表示

AWS認定ソリューションアーキテクト–アソシエイト(SAA-C02)に合格した体験記

#本記事の概要
AWS認定ソリューションアーキテクト–アソシエイト(SAA-C02) を受験し取得したので勉強方法を備忘録として投稿します。
AWS-SAAを受けようと思っている方や、現在勉強している方がこの記事を参考の一つにしていただけたら幸いです。

#使用した教材
AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得
[Udemy] (https://www.udemy.com/course/aws-and-infra/)

これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)
[Udemy] (https://www.udemy.com/course/aws-associate/)

【SAA-C02版】AWS 認定ソリューションアーキテクト アソシエイト模擬試験問題集(6回分390問)
[Udemy] (https://www.udemy.com/course/aws-knan/)

AWS Certified Solutions Architect Associa

元記事を表示

AWSのARMチップが激速だった^^;

早くも今日二個目の投稿となりました。
Hiro_Matsunoです。
AWSアドベンドカレンダー4日目の投稿です。
[PHPer&HTML5が好きな自分がなぜC#に惚れたのか](https://qiita.com/hiro_matsuno2/items/28bb553d2cac22f5d27b?fbclid=IwAR161efQtRFtCsOXha-P2chqYRv32kHYqSnUUxHyc1B9-w-WsutCqIU1ETE “PHPer&HTML5が好きな自分がなぜC#に惚れたのか”)を書いてました。
こちらの方も読んでやってください。

いま巷で大騒ぎのApple初のARMアーキテクチャチップM1が大騒ぎになってますが。
こっちも負けてはいません。
AWSで初めてARM64でWebサーバを組んだときの顛末記です。
#ARMアーキテクチャーを使ってるのはAppleだけじゃないぞ。
本当はこれを声を大にして言いたかったです。
3年前から実はAWSはARMアーキテクチャーのチップを使っているので有名です。
実は二の足を踏んでいて今回M1騒ぎに乗じて使ってみることにしたのが実の真相です

元記事を表示

[AWS] — Architecture Supporter[2] — Setting Local Development Environment

# At first.
This content is written by AWS Beginner.
So this content is a possibility that isn’t Best Practice.
Please read this content as reference information.

#Work on this article.
* Install “Docker” on Windows.
* Install “Visual Studio Code”.
* Setup Docker.
* Setup Visual Studio Code.
* Try connecting from Visual Studio Code to Docker.

# 1.Install “Docker” on Windows
(1) Open the page of 「[“Download for Docker Installer”](https://docs.docker.com/get-docker/)」.
(2) Click 「Docker Desktop

元記事を表示

Serverless Framework で SNS + Lambda の Slack 通知を簡単に作る

任意のメッセージを Slack の特定のチャネルに通知する仕組みを AWS SNS + Lambda で作ります。

– アプリケーションから任意のメッセージを通知したい
– 複数の通知先がある(Slackとメーリングリストなど)
– しかし、通知先の設定などはなるべくアプリケーションで管理したくない

こういうときに役に立つと思います

# Slack APP の登録とチャネルの Webhook URL の生成(手動)

https://api.slack.com/apps?new_app=1 にアクセスして、 Workspace に Slack APP を作成します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62103/751eb35a-813f-4f67-ec23-05580b893431.png)

`Incoming Webhooks` を選択します

![image.png](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

AWS Amplify Admin UIは使いやすいのか

POLアドベントカレンダー4日目担当、[ゲバラ](https://twitter.com/POL53297840)です。
先日発表されたAWS Amplify Admin UIを触ってみます。
そもそもAWS Amplifyって何?という方は[こちらからどうぞ](https://note.com/guevara01/n/n2660e232ca8d)

#AWS Amplify Admin UIとは
Amplifyのバックエンド環境をUI上で設定できる管理画面です。先日の[re:Invent](https://aws.amazon.com/jp/blogs/aws/aws-amplify-admin-ui-helps-you-develop-app-backends-no-cloud-experience-required/) にて発表されました。AWSアカウントを作成しなくても管理画面専用のユーザアカウントを発行することができ、管理ハードルかなり下がりました。最初にアプリを作る場合でもデータモデリングとローカルでテストまでならAWSアカウントが必要ないそうです。AWS上にデプロイすると

元記事を表示

AWS Lambda LayerのTerraform化でハマったこと

# この記事の目的
AWS Lambda LayerをTerraform化しました。
一部手間取ったので、自分と同僚用にメモを残します。

# まず結論
最終的に出来上がったTerraformはこちらです。

## Terraform version
“`
$ terraform version
Terraform v0.12.24
“`

## Layerを使用するLambda側
“`
resource “aws_lambda_function” “main_lambda” {
filename = “../../lambda_function/test_lambda/test_lambda.zip”
function_name = “test_lambda”
role = aws_iam_role.lambda_iam_role.arn
handler = “lambda_function.lambda_handler”
timeout = 30
runtime = “python3.8”

元記事を表示

S3,SNS,SQS,Lambdaを利用したファンアウト構成

#ファンアウト構成とは
一つの入力に対して複数の出力がある構成

Cloudformaionを使用したSNS,SQSの構築は、
検索しても少なかったので書きました。
(需要自体なさそう)

##Amazon SQS(Simple Queue Service)とは
メッセージキューイングサービスです。

送信側はキュー(データを先入れ先出しの構造で保持するもの)にメッセージを送り、
受信側はキューにポーリングしてメッセージを受け取ります。

###標準とFIFO
SQSではタイプとして、標準とFIFO配信を選択できます。

標準タイプでは、メッセージの順番を必ず保証はできません(ベストエフォート)。

FIFOタイプではメッセージの順番を守ります。
SNS、S3などのの連携をサポートしていません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878032/c4c6b2d6-0b10-b443-a5ba-75c5a5252b1c.png)

##Amazon SNS(Simple Noti

元記事を表示

AWSの基礎知識

##はじめに

本日はAWS(Amazon Web Services)の基礎中の基礎について投稿していきたいと思います。

これまで、herokuでのデプロイ経験しかありませんでしたが、皆様の記事と書籍を参考にしながら、AWSの知識を蓄えていきたいと思います。

##そもそもAWSとは?

私たちが普段利用しているAmazon様が提供しているクラウドコンピューティングサービス。
(クラウドコンピューティングサービス:サーバーやネットワークなどをインターネット経由で貸してくれること)

昔から、サーバーを貸してくれる会社はあったそうですが、AWSの特徴は、いろんな会社からそれぞれに借りなければいけなかった、ウェブサービスを提供するために必要なインフラたちを、まとめてAWSで調達できること!

##AWSのサービスについて

実に160種類以上ものサービスを提供しているみたいですが、その中でも代表的?なものについて取り上げてみたいと思います。

**Amazon EC2**
サーバー、OS、ソフトウェアなどを一式用意できるもの

**Amazon S3**
インターネット上に画像などの

元記事を表示

AWSを始めたい人向け

# AWSを始めたい人向け
こんちわっす。ラクスのakiponです。自分がアドベントカレンダーを書くようになって3年目になります。
時間がたつのって早いですねぇ~
いつもは誕生日に ~~書かされる~~ 書くのですが、今年はパイセンに奪われたため誕生日イブに投稿することになりました。

### 初めに

最近IaaS型のパブリッククラウドめっちゃ流行ってますね。
AWS,GCP,Azure,Alibabaなどなどいろいろありますね。
シェアでいうと↓のような感じになっているようです。

||2019年|2018年|
|—|—|—|
|Amazon (AWS)| 45.0%|47.9%|
|Microsoft (Azure)| 17.9% |15.6%|
|Alibaba| 9.1% |7.7%|
|Google (GCP)| 5.3% |4.1%|
|Other| 22.7% |24.8%|

[参考:IaaS型クラウドにおけるシェア](https://www.publickey1.jp/blog/20/iaasaws45azure182320208.html)

元記事を表示

【re:Invent】AWS Lambda コンテナ試して見た

AWS Lambda Container Support が発表されました。最大 **10GB** のサイズのコンテナイメージがデポロイできます。現時点サポートされている、全てのランタイム(Python、Node.js、Java、.NET、Go、Ruby)のベースイメージを提供します。

## 全体像
従来は Lambda コンソールからソース編集かアップロードできますが、コンテナイメージ使う場合、一旦 `Amazon ECR` に保存し、Lambda コンソールからデポロイを行います。

![Lambda (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160072/b00ae1fa-23e7-64a6-1ade-24442fb673be.png)

## コンテナイメージ

### Amazon ECR (Amazon Elastic Container Registry)
コンテナイメージを AWS に保管しますので、まず `ECR` 作ります。

“`sh
aws ecr create-

元記事を表示

EC2上のCakephp4でRDSを使う

# 前提
EC2(Amazon Linux 2 AMI)にCakePHP4をインストールしてあることを前提としています。
今回、PHPのversionは7.4とします。
基本的に[前回の投稿](https://qiita.com/Aurum64/items/96ede43b1e5cdedfaa2f)の続きです。

# RDSの立ち上げ
RDSの立ち上げは[公式サイト](https://aws.amazon.com/jp/getting-started/hands-on/create-mysql-db/)にもありますのでここでは省略します。
初心者の方は[こちら](https://n2p.co.jp/blog/tech/serverside/rds/)がおすすめです。

# MySQLとPHP拡張モジュールのインストール
MySQLとそれに繋ぐためのPHP拡張モジュールをインストールします。

“`
$ sudo yum install -y mysql
$ sudo yum install -y mysql57-server php74-mysqlnd
“`
以下のコマンドで先ほど

元記事を表示

マルチリージョン・マルチアカウントで発生するAWSイベントをChatBotでまるっと通知する

はじめまして。ZOZOテクノロジーズ CTO室 兼 SRE部 のkotatsu360です。
ウィスキーと葉巻とAWSが好きです∠( ゚д゚)/

# この記事は
[ZOZOテクノロジーズ #4 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/zozo_tech4) 4日目です。

昨日は[tajimaTheMemer](https://qiita.com/tajimaTheMemer)さんの[Cloud Pub/Subから別のGCPプロジェクトのCloud Runをトークン認証付きで呼び出す](https://qiita.com/tajimaTheMemer/items/1deab1a01918d6d88c6e)でした。

# マルチリージョン・マルチアカウントで発生するAWSイベントをChatBotでまるっと通知する
## 前説

先日、こんな発表をしました。
[AWS Configを用いたマルチアカウント・マルチリージョンでのリソース把握とコンプライアンス維持への取り組みについて – Speaker Deck

元記事を表示

AWS CloudWatch Logs でWindowsサーバー上に出力されたログファイルを取得する。

#作業の流れ
1.IAMロールを作成する。(「AmazonEC2RoleforSSM」と「CloudWatchAgentAdminPolicy」)
2.サーバーにCloudWatchエージェントをインストールする。
「Systems Manager」>「Run Command」>「コマンドの実行」から、「AWS-ConfigureAWSPackage」を実行する。
※コマンドのパラメータ の Name に AmazonCloudWatchAgent と入力します。

3.CloudWatchエージェントの初期設定
Windowsサーバーにログインし、「C:\Program Files\Amazon\AmazonCloudWatchAgent¥amazon-cloudwatch-agent-config-wizard.exe」を実行する。
色々と設定値を指定する。
以下、設定ウィザードのサンプルです。

“`
=============================================================
= Welcome to the AWS CloudW

元記事を表示

CloudMapper を daemon にする

# CloudMapper とは

awsのネットワーク構成図を作成してくれるツールです。
python3で動きます。

https://github.com/duo-labs/cloudmapper

インストール手順

[CloudMapperを使ってAWS環境を可視化する。](https://qiita.com/kooohei/items/58b6d8654a89c911a2e9)

# daemon にする

“`properties:/etc/systemd/system/cloudmapper.service

[Unit]
Description=cloudmapper
After=network.target

[Service]
Type=simple
WorkingDirectory=/var/www/github.com/duo-labs/cloudmapper/
ExecStart=/usr/local/pyenv/shims/python -u cloudmapper.py webserver
Restart=always
StandardOutput=j

元記事を表示

MYSQLWorkbenchからawsのRDSに作ったDBインスタンスに接続できなくなった問題と解決法

・事象
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/84b74a5a-fce9-8e56-69ea-aaa5814200eb.png)

・解決法
別のwifiに接続を切り替える。おそらくパブリックIPアドレスが変わってしまうのでDBインスタンス作成の際のwifiに合わせないといけない?

元記事を表示

AWS SAM CLIによるサーバレス環境構築

#はじめに#
前回([エキサイトの開発現場でAWSサーバレス導入事例](https://qiita.com/h-sakamoto/items/9db438ff875f84e3be9b))を紹介しました。今回は、SAM CLIで構築手順を紹介したいと思います。

#前提#
今回はOSX環境で直接にコマンドを叩いて試しますが、次回はDocker化します。

まず、Pythonがインストールされている確認

“`
$ python –version
Python 3.8.3
“`

Python 3.8.3が入った

#準備#
###AWS SAM CLIインストール###
以下のコマンドでインストールします

“`
$ pip3 install aws-sam-cli
“`
sam cliが入っていること確認

“`
$ sam –version
SAM CLI, version 1.7.0
“`
SAM CLIがインストールされました。

###AWS認証の準備###
– AMIユーザーを作成
[AWSの公式ドキュメント](https://docs.aws.amazon.

元記事を表示

OTHERカテゴリの最新記事