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

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

【AWS EC2】ルートテーブルが作成されてないためport 22: Operation timed outが起きた

#はじめに
AMIからEC2を作成する勉強をしていた。
設定をして、ssh -i ~/Desktop/hoge.pem ec2-user@該当のIPアドレス
で接続しようとするも、

“`
ssh: connect to host 該当のIPアドレス port 22: Operation timed out
“`
のエラーが出ている。

#解決法(今回の場合)
VPCのダッシュボードを開いてパブリックサブネットの作成内容について確認したところ、問題なさそうだった。
続いてルートテーブルの関係付けを見てみると、下記のイメージのようにlocalにしか向いてなかった。
スクリーンショット 2020-05-15 11.00.23.png

そこで青いボタンのルートテーブルの関連付けの編集をクリックする。
![imag

元記事を表示

AWS RDSのバックアップからデータをサルベージする方法

# はじめに
AWSのRDSを使っている方は、RDSの機能でバックアップを取っている方も多いでしょう。
とても簡単にバックアップが取れて便利ですよね!
今回はそのバックアップからデータが必要になった場合にサルベージする方法を書いていきます!

最新で正確な情報は下記に記載されており、今回はそれを元に作業をした為そちらもご確認ください。
[AWS 公式ドキュメント](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_CommonTasks.BackupRestore.html)

# 検証環境
RDS Mysql: 5.7.22

# サルベージ方法
データをサルベージする方法としては現状2つ方法が存在します。

– [バックアップからDBスナップショットを復元する](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html)
– DBインスタンス自体が新規作成され、そこにDB

元記事を表示

Amazon EC2(概要)

#Amazon EC2とは
一言で言うと「仮想サーバー構築サービス」
まずは「メリット」と「機能の概要」だけ。後ほど個別に詳細を。

#メリット
マネジメントコンソールからボタンを押すだけでできる。(用意されている物を選ぶだけ)
物理マシンを用意するための初期投資を抑えられる。
すぐ作れて、すぐ壊せる。
など

#Amazon EC2の機能

**1, AMI**
Amazon Machine Imageの略。ソフトウェア構成を記録したテンプレート。
Linux,Windowsなどが用意されてる。

**2, インスタンス**
仮想コンピューティング環境。

**3, リージョンとアベイラビリティーゾーン**
データセンターが置いている地域。

**4, インスタンスタイプ**
インスタンス用のCPU、メモリ、ストレージ、ネットワーキングキャパシティの様々な構成。

**5, キーペア**
インスタンスに接続するとき、認証のために使用する鍵。

**6, セキュリティグループ**
ファイアウォール。

**7, Elastic IP アドレス**
固定のIPv4アドレス。

**8,

元記事を表示

既に生成したインスタンスから作ったAMIでインスタンスを作成する

EC2で作ったインスタンスからAMIを作成し、そのAMIを利用してインスタンスを作ります。

#手順
EC2のインスタンス画面から「アクション」の「イメージ-イメージの作成」を選択します。
イメージの作成で、イメージ名と説明を入力し、「イメージの作成」を押下します。
1.png

作成されたら「閉じる」を押下します。
2.png

これAMIが作成できました。
このAMIを使ってインスタンスを立ち上げます。

EC2からAMIの画面を開きます。

元記事を表示

【初心者】Amazon CloudWatch Synthetics を使ってみる

# 目的
– 先日AWS東京リージョンの障害があり、「監視はAWS東京リージョンの外からしたほうがよいかも…」と思っていた時に、CloudWatch Syntheticsの話を聞いたので、どんなものか試してみる。

# Amazon CloudWatch Synthetics とは(自分の理解)
– 外部からWebサーバ等の正常性監視ができるサービス。
– 監視の設定(canary)を作ると、実体としてはLambda Functionが作成される。
– 先人の記事「[Amazon CloudWatch Synthetics を試してみた](https://qiita.com/hoto17296/items/4c8562b51e1fb9d66e6a)」や「[CloudWatch SyntheticsでオンプレミスのProxyサーバーを経由して監視する](https://qiita.com/hayao_k/items/5e65fa0fac3c6360d6b9) 」を読んで、イメージを掴んでから実機で確認する。
– 監視対象のWEBサーバがSrcIP制限をかけているケースを想定して、固定IP

元記事を表示

AWS EC2のメール送信申請で”A statement indicating~”と返信が来たときに返した返事

# Ec2のメール送信申請

沢山の方々が情報を書かれていますが、EC2インスタンスから外部へメール送信するには、AWSへ送信の申請が必要になります。

今回、独自ドメインのメールサーバ(私用)を使うにあたり、申請した際のやり取り(抜粋)を書いておきます。

少々返答に悩み、あまりどこにもよいアドバイスが見つからなかったので、どなたかの参考になれば幸いです。

# EC2メール送信申請
クラスメソッドさんの記事も参考になります。
https://dev.classmethod.jp/articles/ec2-send-email-best-practice/
https://dev.classmethod.jp/articles/ec2-port-25-throttle/

コピペ文言を用意して頂いているところもありました。

AWS EC2のメール送信制限解除申請と逆引きDNS設定申請 コピペ用

**EC2 インスタンスからポート 25 の制限を削除するにはどうすればよいですか?**
https://aws.amazon.com/jp/premiumsupport/knowledge-

元記事を表示

AWS Config カスタムルールを使用してRDSを監視する

# 概要

AWS Config カスタムルールを使用してRDSを監視したい
更に言えば特定のインスタンスタイプ以外は違反としたい

# 前提

## AWS Config有効化

こちらを参考にしました。

[CloudFormationによるAWS Configの有効化 – Qiita](https://qiita.com/akashima/items/2cde33863c923c41ed8f)

# 本題

## lambda関数

blueprintのconfig-rule-change-triggeredをベースに判定部分を修正します。

“`typescript

function evaluateChangeNotificationCompliance(
configurationItem: {
configuration: {
dBInstanceClass: string | null;
readReplicaSourceDBInstanceIdentifier: string | null;
};
resourc

元記事を表示

AWS EC2でcentosのAMIを使用する(python3/ffmpeg/dav2fsインストール)

# はじめに

これまで、AWS EC2をお試しする際、AmazonLinux2ばかりを利用していましたが、極力一般的なパッケージ導入や手順を使いたく、CentOSを導入してみました。

なぜCentOSかというと、仕事ではRedhatLinuxも扱うこともあったり、AmazonLinux2も触ることを考え、OSとして類似のものがよいだろう・・・。という理由です。

# 導入

まずはAMIから素のOSを起動するのですが、CentOSのサイトにも最新のAMI情報がはっきり書いてありません・・・。

先人のお知恵を拝借し、AWS CLIで確認します。

“`
aws ec2 describe-images –owners aws-marketplace \
–filters Name=product-code,Values=aw0evgkw8e5c1q413zgy5pjce \
–query “reverse(sort_by(Images, &CreationDate))[:5].[CreationDate, Description, ImageId]” \
–region a

元記事を表示

【書籍まとめ】AWSアソシエイト直前対策テキスト(用語集)②

EC2
AWS上に仮想サーバーを構築して自由に利用できるのが特徴でEC2では仮想サーバの事を「インスタンス」という単位で扱う。

ステートレス
systemが現在の状態(ステート)のデータを保持せず(レス)、外部から入力された内容によってのみ対応した出力が決まる方式。

ステートフル
前後の状態を保持するのがステートフル。

ELB
Elastic Load Balancing は、アプリケーションへのトラフィックを複数のターゲットに自動的に分散します

ALB
ALBとは「Application Load Balancer」の略称で、高機能を有するロードバランシングサービスのことを指します。
レイヤ7で負荷分散し、対となるサーバー側の接続相手としてコンテナが使われることが多い

ELBのスティッキーセッション
ELBがサーバにリクエスト振り分ける際、特定のCookieを確認することで、特定のクライアントからのリクエストを特定のサーバに紐付けることが出来る機能

ECS(Elastic Container Service)
AWSでコンテナを提供するサービス

Auto Scaling

元記事を表示

Ruby on Rails チーム開発のデプロイで参考になった記事

プログラム勉強中です。自分の備忘録として投稿します。
# チーム開発のデプロイで参考になった記事
– 【rails5.2】master.keyを本番環境(AWS EC2)に設定(追加作成)する方法
https://qiita.com/mylevel/items/4653f625ffabc7318a8a
– 複数人で新規Railsプロジェクトを立ち上げる時の落とし穴
https://qiita.com/marlion7/items/aaf5fb8c86004b32194a
– 【Rails5.2】秘匿情報はsecret.ymlではなくcredentials.yml.encで管理する【初心者】
https://qiita.com/15grmr/items/a687d0ed211ef60e751c

元記事を表示

DockerでPython 3.8用のpsutilをインストールしてみた

# 動機
ことの始まりはとある先輩からのオーダー。。。
「最新のpyhon3系で動かしているlambdaのメモリ容量取得するようなコードかいてよ。」

よっしわかったよ。
クソ野郎やってやろうじゃないかと意気込んでLambdaの最新のpython3系のランタイムをみたら、、、
python3.8…..になってた。えっ、、、いつのまに3.8に。。。。

ということでpyrhon3.8かつamazonlinux2(Lambdaの実行環境がamazonlinuxとのことなので)で
インストールした外部ライブラリが必要になった。。。

# Dockerファイル
さくっとPython外部ライブラリを準備したかったのでDocker使いました。
Docker for Macです。

python3.8をインストールするために作成したDockerファイルは下記の通り

“`Dockerfile
FROM amazonlinux:2

RUN yum -y update
RUN yum -y install gcc openssl-devel bzip2-devel libffi-devel

元記事を表示

AWSのIPレンジが取得方法で異なるんだってさ

# 背景
対象のサービスを運用していて、見れる人を制限したかったので、SecurityGroupを利用していました
そこで、シンセティック監視をRoute 53 health checksを利用しようとしてました
ただ、監視をしつつ見れる人を制限する場合、Route 53 health checksのIPレンジが必要になるので
確認すると、取得方法が2種類あって、それぞれ微妙にIPが違ったのでその共有になります

# 取得方法
Amazon Route 53 health checksのIPレンジを調べてたところ、取り方が下記の2パターンあります

1. json
2. SDK

1つ目のjsonとは、AWSがメンテしてる[こちら](https://ip-ranges.amazonaws.com/ip-ranges.json)のjsonから確認する方法です
2つ目のSDKとは、Route 53のSDKからレンジを確認する方法です。今回はPythonを使います

# 環境
“`bash
$ python –version
Python 3.6.8
$ pip list | grep

元記事を表示

AWS でEC2 のインスタンスを作成した

備忘録がてら。

aws にログインする。自分の場合は「Root user」でログインしてる。

パスワードを入力する。

「AWS Management Console」の「AWS services」に含まれる「EC2」を選択する。
![Screenshot from 2020-05-14 14-11-05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/369980/f554901d-4acb-5460-5895-3474b566562c.png)

画像下部の「Launch instance」をクリックすると、トグルが上方向に広がって出てくる。「Launch instance」を選択すると、インスタンスを生成する画面に移る。
![Screenshot from 2020-05-14 14-13-14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/369980/f30555a4-37fc-fa6f-cbe8-

元記事を表示

JSON データを AWS Lambda Tool の Debug時に使用する形式に変換する

#

変換するアプリを Angular9 を使って作成してみました
https://sasaco.github.io/JsonToAwsLambdaToolsDebug/

ソースコードは
https://github.com/sasaco/JsonToAwsLambdaToolsDebug

## アプリ作成手順

“`bash

PS > ng new json-to-lambda-debug

? Would you like to add Angular routing? No
? Which stylesheet format would you like to use? SCSS [ https://sass-lang.com/documentation/syntax#scss ]
CREATE json-to-lambda-debug/angular.json (3766 bytes)
CREATE json-to-lambda-debug/package.json (1296 bytes)

CREATE json-to-la

元記事を表示

Active Direcroty 統合管理の夢(WorkMail編)

##構成図

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/629414/8ba70fd3-3ada-8064-7f0e-2d29f7ea0d3e.png)

##全体像

WorkMailは東京リージョンで提供されていないので(2020/5)、Active Directory(以下AD)と統合するため、
1. 東京リージョンとバージニア北部リージョンを VPC Peering で接続する。
2. バージニア北部リージョンに東京リージョンの Microsoft AD を参照する AD Connector を起動する。
3. バージニア北部リージョンに作成した AD Connector をディレクトリとして WorkMail を起動する。

##VPC ppering

① VPC peeringを作成する。

東京リージョンでVPC peeringを作成した後、バージニア北部に移動して、承諾すると接続されます。

![image.png](https://qiita-image-stor

元記事を表示

EC2のhost名でSSM経由なSSH接続をしたい

AWS SSMって便利ですよね
SSHのポートを開ける必要無し・踏み台不要でec2に接続できるという神ツールです

_SSMの手順についてはAWSのドキュメント([Session Managerの開始方法](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-getting-started.html))・他の方が書かれているのでそちらを見てください

ですが、個人的に1点不満が・・・
**Instance IDを指定しないといけない!**

“`profile:.ssh/config
Host i-*
ProxyCommand sh -c “aws ssm start-session –target %h –document-name AWS-StartSSHSession –parameters ‘portNumber=%p'”
“`
上の設定だとInstanceIDをawscliで確認して・・・と、かなりメンドクセ

host名で接続できるようにするため

元記事を表示

AWSのEC2(CentOS 7)でTimezoneの変更でミスった・・・

# 事象
CentOS7なEC2のサーバ上のPHPで、TimeZoneにUTCを指定して時刻を取得したのにJSTな時刻が取得された。

なお、OSのタイムゾーンは一応JSTです。

# 原因
タイムゾーンがおかしなことになってました。

“`
$ timedatectl

Local time: Wed 2020-05-13 14:14:59 JST
Universal time: Wed 2020-05-13 05:14:59 UTC
RTC time: Wed 2020-05-13 05:13:52
Time zone: UTC (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
“`
って感じで、TimezoneがUTC (JST, +0900)と不思議な値になってました。

# どうしてこうなった
EC2は初期ではタイムゾーンがUTCになってます。
これをJSTに変更する方法はぐぐ

元記事を表示

作成済みのEC2インスタンスにセキュリティグループを追加する

## はじめに
本記事は「割り当て済みのセキュリティグループにルールを追加」ではなく、「割り当てるセキュリティグループを追加」したい場合のメモです。
複数割り当てることは可能とされていますが、現在コンソールからは1つしか設定できません。
下記注記の通り、ルールはできるだけ絞ることを推奨しているようなので注意してください。

> 複数のセキュリティグループをインスタンスに関連付けると、各セキュリティグループのルールが効率的に集約され、1 つのルールセットが作成されます。このルールセットを使用して、アクセスを許可するかどうかを判断します。
注記
複数のセキュリティグループを 1 つのインスタンスに割り当てることができるため、インスタンスには数百単位のルールを適用できます。結果として、インスタンスにアクセスするときに問題が発生する可能性があります。そのため、ルールは可能な限り要約することをお勧めします。
[Linux インスタンスの Amazon EC2 セキュリティグループ \- Amazon Elastic Compute Cloud](https://docs.aws.amazon.c

元記事を表示

バックアップを取りつつS3バケットのオブジェクトを再度PUTする方法

# 概要
この記事がやることは、AWS-CLIを用いて、指定したパスのファイルを全部DLして再度同じパスにDLしたファイルをアップロードする。

# 実施の経緯
S3バケットの指定したパス配下のオブジェクトを再度PUTしたかった。
再度PUTすることで、PUTイベントで発火するプログラムの動作確認を行いたかった。

# やりかた
## 指定したパス配下をまるっとダウンロード

“`shell
DIR_PATH={your-dir-path}
aws s3 cp –profile {your-profile} –recursive –exclude=”*” –include=”${DIR_PATH}/*” s3://your-bucketname ./ >> ./logs/download_log.txt
“`

## ダウンロードしたファイルをまるっと同じパスにアップロード

“`shell
DIR_PATH={your-dir-path}
aws s3 cp –profile {your-profile} –recursive –exclude=”*” –inc

元記事を表示

[AWS] API GatewayとJSONサーバーで動的htmlレンダリングしてみた。

# API GatewayとJSONサーバーで動的htmlレンダリングしてみた。

AWSのAPI GatewayとDynamoDBとLambdaでサービス構築してみたかった動機があったので、今回はAPI Gatewayを触ってみた。

– 特定URLにWebブラウザでアクセスする
– API GatewayがJSONデータを取得して、htmlにレンダリングして表示する

というシンプルな構造です。

今回はやらないが、API Gatewayは統合リクエストなどの機能を使えばLambdaを挟まなくてもDynamoDBにアクセスできます。なので、 `/1` にアクセスするとDynamoDBのあるテーブルの `id 1` にアクセスして必要なデータをJSON形式で取得して、そのデータをAPIGatewayの統合レスポンスでhtmlにマッピングして返す、みたいな簡単なWEBアプリケーションが作れます。その触りだけ書いて行きます。

## やりかた

REST APIとかで作る。

スクリーンショット 2020-05-14 5.12.04.png

元記事を表示

OTHERカテゴリの最新記事