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

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

続・Provisioned Concurrency for Lambda Functions ちょっと試してみた。

AWSの一番好きなサービスはAWS Lambda な人です(再掲)

[Provisioned Concurrency for Lambda Functions ちょっと試してみた。](https://qiita.com/keni_w/items/f284a1bac64830a826dd)
の続きです。

Apache Bench使って、負荷かけてみたので、その辺まとめます。

あと、12/20にAWS Loft Tokyoで[AWS re:Invent 2019 サーバーレス re:Cap](https://awsreinvent2019recap.splashthat.com/) (以下サーバーレスre:Cap)があり、そこで聞いた話を織り交ぜます。

あと、クラスメソッドさんのブログでも検証されていますので、こちらも。

[LambdaのProvisioned Concurrencyを使って、コールドスタート対策をしてみた #reinvent](https://dev.classmethod.jp/cloud/aws/lambda-provisioned-concurr

元記事を表示

AWS で EKS の Cluster を作成する

自分の勉強用のメモです。

### AWSのEC2上でEKSのクラスタを作成する

1.SSHで EC2のインスタンスにログインして AWS CLI をセットアップします。

一旦、EC2上のBastion用のサーバーとかにSSHでログインします。
EC2にログイン後、以下のコマンドを実行してCLIをセットアップします。

“`terminal
aws configure
“`

公式ドキュメント
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-configure.html

2.認証情報の表示

以下のコマンドでAWSのAccount、UserID、Arnが取得できます。

“`terminal
aws sts get-caller-identity
“`
参考にさせていただいたQiitaの記事
https://qiita.com/kooohei/items/2a8a09e5f36bac614879

3.クラスタの作成

“`terminal
eksctl create cluster

元記事を表示

Docker初心者がPythonで作った妄想マイクロサービスをFargateにデプロイするまで

## 概要
マイクロサービスっぽいアプリをPython, MySQL, Dockerで作ってみて、Fargateにデプロイしてみる記事です。

AWSでいま最もアツいと(一部で)言われるFargateを使ってみたかったのと、マイクロサービスアーキテクチャへの興味でやってみました。とはいえ、マイクロサービスをちゃんと扱ったことも無いので、「こんな感じなんだろうな〜」という妄想のアーキテクチャです。もし誤りなどありましたら、ご意見いただけると嬉しいです。

なお、AWSならRDSもありますが、そもそもコンテナも初心者なので、勉強も兼ねてMySQLコンテナを使ってます。

## アプリのイメージ図
![arch03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/451175/c4d69ae4-aea0-7018-183d-435b11450e46.png)

– マイクロサービスは、AplとBackEndの2つを用意します。
– サービス間の通信はHTTP
– クライアントからAplサービスのAPIにアクセ

元記事を表示

YAMAHAルーター経由でOracle CloudとAWSをIPSec VPNで接続してみてみた

#■目的
YAMAHAルーターとOCI接続を数多くやってきましたが、YAMAHAルーター経由したOCIとAWSのIPSec複数拠点接続設定の問い合わせもよくくる、、
ということで、今回はGIUかんたん接続でYAMAHAルーターとAWS接続をやってみてみます。

#■構成図
構成図.png

YAMAHAルーターは、イプシムのSIMを入れたNVR700wを使用します。
AWS側は、事前にVPC,EC2インスタンスを作成しておきます。今回は、仮想プライベートゲートウェイの作成から行います。
OCI側は、事前に以前の記事を参考に接続設定をします

#■AWSとYAMAHAルータ IPSec接続設定

##●仮想プライベートゲートウェイの作成

###① 仮想プライベートゲートウェイ画面
VPCダッシュボードから、「

元記事を表示

AWS codedeploy 流れ

https://dev.classmethod.jp/cloud/aws/cm-advent-calendar-2015-aws-re-entering-codedeploy/#service-overview1

元記事を表示

SQSとSNSによるPub/SubをCloudFormationで構築

## はじめに

クラウドコンピューティングやマイクロサービスなどが盛り上がる中、スケールアウトや並列化との相性の良さなどからシステム間の通信方式としてPub/Subモデルが注目されています。Pub/Subモデルの特徴などは様々な記事にて語られていますのでここでは省略します。

– [Pub/Sub とは | Google Cloud](https://cloud.google.com/pubsub/docs/overview)
– [Amazon SQSを使ったPub/Subモデルにより、システム間の依存関係を逆転させる | Qiita](https://qiita.com/unasaka/items/626d832e7281ed6965ae)

本記事では [Amazon SNS](https://aws.amazon.com/jp/sns/) と [Amazon SQS](https://aws.amazon.com/sqs/) によりPub/Subモデルを実現する方法を紹介します。SQSのみでも実現可能ですがSNSを用いることでより柔軟なシステムを構築可能です。SNSを用いるメ

元記事を表示

サーバーレスな郵便番号検索APIを作成してみた

## 概要

AWSでサーバーレスな郵便番号検索をつくってみたの手順書です。
ファイルを置いて、プログラムを少し書くだけ簡単にできます。

## 必要なもの

AWSアカウント

## 利用するサービス

・ S3 : 郵便番号のCSVを格納

・ S3 Select : S3のデータをSQLライクに抽出する

・ Lambda : S3のCSVからレスポンスを返すメソッド

・ API GetWay : Lambdaの内容をAPI化する

### Step1:郵便局のCSVダウンロード

日本郵政のページから以下CSVをダウンロード。
文字コードがShiftJISなので、UTF8に変換しておく。

https://www.post.japanpost.jp/zipcode/download.html

またSQLをわかりやすくかけるように、以下のヘッダーを付与する。

“`text
JISCode,OldPostCode,PostCode,PrefecturesNameKana,CityNameKana,TownNameKana,PrefecturesName,CityName,T

元記事を表示

Capistranoでの自動デプロイでエラーが起きた際の対処方法

## この記事について
 この記事では、自身がRailsで開発しているアプリをCapistranoでデプロイをしようとした時にエラーが発生し、解決するまでに試した作業を書いています。
 同様のエラーが起きた際に自分が読み返すために書いていますが、他の方の参考にもなれば嬉しいです。

### エラーが起こった時の状況
 Capistranoでデプロイの流れを自動化しており、ある日デプロイをしようとしたところ、`deploy:migrating`実行時にエラーが発生し、デプロイができませんでした。
 ローカル環境では動作に問題がなかったため、サーバー環境に問題があると考えました。

### エラー解決までに行った作業

– AWSサービスの再起動
– unicornの再起動
– nginxの再起動
– MySQLの再起動

 こうして書いてみると、ひたすら再起動しているだけのような気がしてきました。

### 1.AWSサービスの再起動

 amazonコンソールからサインインし、EC2インスタンスの管理画面を開きます。
 該当するアプリが選択された状態で、「アクション→インスタンスの状態

元記事を表示

AWS Lambdaのログをtailする

# はじめに

AWSマネジメントコンソールでAWS Lambdaのログを確認するのは面倒だ。
そう思ってググったんだが、当時、それっぽいことをやってる事例を見つけられなかった。

さて、AWS LambdaのログはCloudWatchログに記録され、次のような構造をしてる。

CloudWatchログでは、個々の記録をイベントと呼んでるようだ。
一連のイベントをひとまとまりにしたものを、ログストリームと呼んでるようだ。
ログストリームは関数ごとにまとめられており、それをロググループと呼んでるようだ。

これを踏まえると、tailは次のような流れになる。

tailしたいロググループを特定する
while True:
tailしたいロググループから最も新しいログストリームを見つける
if 見つけたログストリームの最初の取得だったら:
ログストリーム内のイベントを最初から取得する
else:
ログストリーム内の続きのイベントを取得する

元記事を表示

Route53を使用してEC2にドメイン名を紐づける

# 概要

Route53を使用して取得しているドメイン名をEC2に紐づけます。またEC2にapacheをインストールし、インターネット上からHTMLが表示できるようにします。

## 0. 前提条件

– AWSのアカウントを取得していること。
– AWSのセキュリティ対策として、IAMや多要素認証をしていること。
– お名前.comなどでドメインを取得していること。
– 本書ではWindows10 Proを使用します。

## 1. Route53に取得したドメインを紐づける

1. AWSマネジメントコンソールにログインし、「サービス」→「Route53」をクリックする。
![route53_001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307261/978d7c99-582c-5f33-adf8-7a7cdc0a7fc3.jpeg)

2. 「DNS管理」→「今すぐ始める」をクリックする。
![route53_002.JPG](https://qiita-image-store.

元記事を表示

AWS+NodeJSでサーバレスな環境構築①

# はじめに
サーバレスは完全に未経験ですが、勉強がてら備忘録として残しておこうと思います。
表現等が正しく無い場合はご指摘いただければ、幸いです。

# サーバレスってなぁに?
簡単に行ってしまうと、ユーザーがサーバー領域を意識せず、直接利用出来るサービスを活用した構成のことです。
「Lambda」は設定されているプログラムを起動させる実行環境となります。起動条件が整った際に、プログラムをLambda環境に呼び出し、実行されます。この為、Lambdaでは、実行した時間とその回数のみの課金となります。

**向いているサービス**
・待機時間の長いシステム
・CPUの負荷が時間帯によって差のあるシステム

**不向きなサービス**
・常にシステムの動いている必要のあるサービス
・高負荷な状態が長時間続くシステム

もう少し詳しいことを知りたい場合はこちらのサイトをご覧ください。
[サーバーレス アーキテクチャ](https://www.skyarch.net/iot/serverless.html)

# Lambda関数の作成
・AWS Lambdaページ>関数の作成>一から作成

元記事を表示

【AWS】サービス一覧をまとめてみた

●初めに
SAA受験でAWSのサービスを学習したので、備忘としてまとめたいと思います。

●EC2

●Lambda
△what
インフラを一切気にすることなく、アプリケーションコードを実行できるコンピュータサービス
 -実行基盤はAWSが管理
 -AWSサービスと連携可能
 -コード実行時間に対しての従量課金

△why
ビジネスロジックのみに集中できる
→インフラを考慮しなくて良い為

オートスケール可能
→イベントの発生頻度に合わせて自動でスケール

△how
コード
→JavaScript(Node.js),JAVA

メモリ
→Node.jsは128MB,JAVAは512MB

タイムアウト
→Node.jsは3秒,JAVAは15秒
→最大60秒

実行環境
→それぞれが隔離されたコンテナで実行

元記事を表示

Transit Gatewayを導入するときに気をつけたいポイント4選

### 0.はじめに

以下のような構成でVPC-AとVPC-Bを接続するためにTransit Gatewayを導入することを検討していました。検討時に気をつけたことやはまったことを共有します。

![TransitGWを使うときに気をつけるポイント-全体像.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89391/e9ccae9e-c417-a137-86c2-4759c7a29a31.png)

### 1.Transit Gatewayのデフォルトのルートテーブルを使うかどうか

Transit Gatewayにはデフォルトのルートテーブルが備わっています。これを用いることでTransit Gatewayにアタッチ/アソシエート/プロパゲートした任意のVPCの組み合わせで通信できます。一方、デフォルトのルートテーブルを使わない場合は、通信させたいVPCの組み合わせをTransit Gatewayのルートテーブルに設定していくことになります。

Transit Gatewayを経由するVPC間の通信

元記事を表示

【AWS IoT】モノにアタッチされていない証明書を削除する

# 目的
AWS IoTにおいて、モノにアタッチされていない証明書を削除する。
不要な証明書を大量に作成してしまった場合用。

# クラス

“`Python
import boto3

class CertKiller():

def __init__(self):
# AWS IoTを操作するクラスをインスタンス化
self.client = boto3.client(‘iot’)

return

def delete_not_attached_cert_all(self):
”’
モノにアタッチされていない証明書を削除
”’
# 証明書情報のリストを取得
list_cert = self.get_list_cert()

# モノにアタッチされていない証明書を削除
for cert in list_cert:
self.__delete_not_a

元記事を表示

Webシステム構築(超基礎)④:Webシステムの構築

#目的
[Webシステム構築(超基礎)②:APサーバ構築と基本動作](https://qiita.com/MARTOON/items/f685b4ea7cbfe4033839)と[Webシステム構築(超基礎)③:DBサーバ構築と基本動作](https://qiita.com/MARTOON/items/b037ba8161790c874e94)で構築したWeb/APサーバとDBサーバを用い、Webシステムを構築する。

#環境条件
– APサーバ
– EC2:t2.micro
– OS:Red Hat Enterprise Linux 8 (HVM), SSD Volume Type
– Disk:汎用SSD(GP2) 10GB
– Tomcat:Apache Tomcat 9
– Java:JDK 1.8
– DBサーバ
– EC2:t2.micro
– OS:Red Hat Enterprise Linux 8 (HVM), SSD Volume Type
– Disk:汎用SSD(GP2) 10GB
– My

元記事を表示

【初心者向け】AssumeRole利用時のEKSクラスター作成について

この記事は [Amazon EKS Advent Calendar 2019](https://qiita.com/advent-calendar/2019/amazon-eks) の16日目の記事です。
公開が遅くなってしまい申し訳ありません

AWSの利用が進むにつれ、複数のAWSアカウントを利用することが多くなります。
開発、STG、本番と環境を分けるために利用したり、「課金管理を行いたい」、「プロジェクトが違う」など理由は様々ですが、複数のAWSアカウントごとにIAMユーザを発行するとアカウント管理が煩雑になってしまうため、1つのAWSアカウントからAssume Roleを利用して各AWSアカウントにアクセスする方法を採用されている方も多くいるかと思います。

今回は、このような環境で、Assume Roleを利用しながら、EKSクラスタを作成し、そこにアクセスするまでを整理したいと思います。
Kubernetesは使い慣れているが、AWSは不慣れ、という方や、 複数のAWSアカウント利用に慣れていない方の助けになれば幸いです。

なお、今回は例として下記のようなアカウント構成

元記事を表示

個人開発向けAWSアカウント作成RTA(2019ver)

# これ何
– お正月にGolangやらで遊ぼうとしたら、個人用AWSアカウントを解約してたの忘れてて、新たに作り直す必要が発生した。
– Tips自体は色々落ちてるが、以下の気持ちになり自分用の手順をまとめたくなった。
– 個人の責任の範囲内で、要点は抑えつつミニマムな設定で始めたい。
– 網羅感がないTips群≒都度ググる必要あり
– **逆に網羅性のある記事はテキスト量が多く読むのがつらい。**
– 基本的には利用経験、アカウント開設経験ありの人向けの覚書とする。
– 全然RTAじゃないけど許して

## 0.アカウント開設~rootアカウントでのログイン
略。
公式UIがよく変わる都合上、作る度に地味にハマるのはご愛敬。

## 1.rootアカウントでやること
### 1-1. rootアカウントのMFA設定
– [x] IAM画面から、MFA設定を行う
– 最悪これはやらないと怖くて眠れない

### 1-2. Admin権限のIAMユーザ作成
– [x] 自分用IAMユーザ(Admin)の作成
– **Administrator Access**を直接

元記事を表示

awsのセキュリティグループでipアドレスやポートの設定を一括で行う方法

awsの操作をUIだけで進めようとすると、情報の入力に時間がかかってしまうときがありますよね!

最近では、セキュリティグループを作成しようとした時、「めんどくさい!」って思っちゃいました。
そこで、コマンド駆使して、ミス無く登録が行えたので、ここにメモして置こうと思います

具体的に使ったコマンドの解説
—–

下記が具体的に使ったコマンドです。

このコマンドを実行する前に、下記の準備をする必要があります。

1. ルールが空のセキュリティグループ
2. 作ったセキュリティグループのID

このグループIDを元に、セキュリティグループを作っていきます。

使うこまんコマンドは下記のようになります。

“`
$ aws ec2 authorize-security-group-ingress –group-id sg-xxxxxxxf9c46a8686 –protocol tcp –port 3306 –cidr 104.154.0.0/15
“`

もし、複数回実行されても、すでに登録されているものも旨が表示されるので安心です。

使ったコマンド一覧

元記事を表示

AWS Workspacesにまつわる話

## 概要
Workspaces 固定IP(Elastic IP) 割り当て
Workspaces 自動バックアップ

## 利用技術
– AWS Workspaces

元記事を表示

AWS上に導入したOpenShiftを削除する

#はじめに
[こちら](https://qiita.com/rjegg/items/ec164cedd53a5e0ad72a)で構築し、[こちら](https://qiita.com/rjegg/items/24857b8c0529bb77b7bb)でノードを拡張したAWS上のOpenShiftを削除した際の情報です。

#削除実行
OpenShiftのインストーラーのdestloyオプションをつけた`openshift-install destroy cluster`を実行し、OpenShiftクラスターを削除します。(おまけで、dateコマンドで実行時間を測ってみました)
参考:[1.5. AWS でのクラスターのアンインストール](https://access.redhat.com/documentation/ja-jp/openshift_container_platform/4.2/html/installing/uninstalling-cluster-aws)

“`
$ date; ./openshift-install destroy cluster; date
F

元記事を表示

OTHERカテゴリの最新記事