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

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

composer installで発生したエラーの解決法

AWSを学習中の者です。
以下の記事を参考にAWSを触ってみたところエラーが発生しましたので自分用メモとして残します。
[AWSでウェブアプリケーション環境構築:②RDSでDBを作成し、Laravelサンプルアプリを動かす最小構成を構築
](https://qiita.com/minato-naka/items/03f9dbd09eb3919a501f)

###【エラー発生箇所1】
PHP拡張モジュールインストール時にトランザクションエラーが発生
###【エラー文】
Transaction check error:
file /usr/lib64/php-zts/modules/zip.so from install of php-pecl-zip-1.15.2-3.amzn2.0.1.x86_64 conflicts with file from package php-common-7.2.29-1.amzn2.x86_64

file /usr/lib64/php/modules/zip.so from install of php-pecl-zip-1.15.2-3

元記事を表示

ECRスキャンをCDKから作成したらスキャンの裏側も見れたよ

# 初めに
ECRのスキャン機能使ったこと無かったので、CDKで作りました

# 作り方
下記のように、Repositoryの引数にimage_scan_on_pushを追加するだけで自動スキャン機能が使えます
CDK便利ー

“`python
from aws_cdk import (
aws_ecr as ecr,
core,
)

repository = ecr.Repository(self, “Repo”,
image_scan_on_push=True
)
“`

上記を実行すると、ECRとECRImageScanOnPushが出来ました

“`bash
$ cdk diff repo

Resources
[+] AWS::ECR::Repository Repo Repo02AC86CF
[+] Custom::ECRImageScanOnPush Repo/ImageScanOnPush/Resource RepoImageScanOnPush94CFD98F
[+] AWS::IAM::Role AWS679f53fac00

元記事を表示

『Amazon Web Services 基礎からのネットワーク&サーバー構築』(1)

#はじめに
本記事はインフラ超初心者の方におすすめです。
本書を購入しようと思ったきっかけは、色々なサイトを参考にしてAWSにWordPress環境を構築しようとしたもののうまくいかず、そもそもVPSやLinuxコマンドなど基本的な事に関しても理解できてなかったからです。
本記事では、自分が知らなかったことを中心にメモしていきます。
![EK-0824332.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549104/dc84d126-c921-c424-0bd2-b7ad68d2f70a.jpeg)
Amazonから購入したい方はこちら

#本書の目的
インフラにあまり詳しくない人でも、自分でネットワークやサーバーを構築できるようになること。

#システム構築をインフラから始めるメリット
ほとんどの開発現場では以下の2つの役割で分かれている。
・「

元記事を表示

ACM証明書を自動更新してチャットボット経由で通知を受け取る

思い出したようにサーバー証明書の更新通知が来たので、復習を兼ねて設定方法をメモ。

ちなみに証明書はVue.jsのサンプルサイトやCloudFront+S3など、主にWebサイト系の素振り(たまに本番運用)をする際に使っている。
ドメインはRoute 53で構成。

## やりたいこと
– AWS Certificate Managerで運用している証明書の、1年ごとの更新を自動で行えるようにする
– 更新時にチャットボットを介して通知を受け取る

## 使ったサービス
– AWS Certificate Manager(ACM)
– 2K証明書を無料で払い出し、更新するためにACMを使う。
– AWS Chatbot(Chatbot)
– 証明書自動更新の通知をチャットツールに送るためのチャットボットを作るのに使用。
– Amazon Chime(Chime)
– 普段使いしているチャットツール。ここでChabotから通知を受け取る。
– AWS Personal Health Dashboard(PHD)
– 自動更新の通知をマネジメントコンソール上

元記事を表示

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

EBS
Amazon Elastic Block Store (EBS) は、Amazon Elastic Compute Cloud (EC2) と共に使用するために設計された、スループットとトランザクションの両方が集中するどんな規模のワークロードにも対応できる、使いやすい高性能なブロックストレージサービス

ElastiCache
クラウド内の人気のオープンソース互換のインメモリデータストアをシームレスにセットアップ、実行、およびスケーリングできます。高スループットかつ低レイテンシーなインメモリデータストアからデータを取得して、大量のデータを扱うアプリケーションを構築したり、既存のアプリケーションのパフォーマンスを改善したりすることが可能

Lambda
Lambdaはサーバレスを実現するためのサービス
「AWS Lambdaを使用すれば、サーバのプロビジョニングや管理なしでコードを実行できます。課金は実際に使用したコンピューティング時間に対してのみ発生し、コードが実行されていないときには料金も発生しません。」

Route53
可用性と拡張性に優れたドメインネームシステム(DNS

元記事を表示

[Tips] AWS Amplify で既存のUserPoolを指定してAuthモジュールを使う

# 背景
すでに作ってある Cognito UserPool に OAuthによる認証機能を提供したいという要望があって、App Client と Hosted UIを追加した。

動作を確認するために、AWS Amplify のチュートリアルで Webアプリを作った。
https://docs.amplify.aws/lib/auth/social/q/platform/js#full-react-sample
Amplify が 使う 設定ファイル **aws-exports.js** を作る必要があるので、
`amplify add auth` コマンドで 一旦 aws-exports.js を作り、すでにある UserPool と IdentityPool の情報で書き換えた。

実行してみると、[Auth](https://aws-amplify.github.io/amplify-js/api/classes/authclass.html) モジュールの中でつくられるはずのセッションが作られてない。
調査してみると、http://cognito-identity.us-e

元記事を表示

EC2の機能まとめ(EBS AMI Snapshot)

# 目次
1. [EC2の概要](#anchor1)
1. [AMI](#anchor2)
1. [EBS](#anchor3)
1. [Snapshot](#anchor4)

1. EC2の概要
 EC2はサーバの性能やOSを自分でカスタマイズして簡単に仮想サーバを構築することが出来るサービスのことです。オンプレであれば何日もかかるようなサーバ構築が数分で構築することが出来ます。AWSで構築した個々のサーバはEC2インスタンスと呼ばれています。
 さらに複数のAZ、リージョンにサーバを建てることが出来るので高い可用性を兼ね備えていて非常に安心です。また安全性を考慮してAWSのデータセンターの場所は非公開です。
 以下ではそんな便利なEC2を支える主要な三つのキーワードについて解説していきます。

2. AMI
 AMI(Amazon Machine Image)とは一度作ったEC2インスタンスのOSやソフトウェアがインストールされている、ディスクイメージのことです。AMIを一度作ってしまえば同じ機能を持

元記事を表示

Amazon Linux 2 における sendmail の設定で詰まったこと

Amazon Linux 2 でウェブアプリを作っていて、パスワード再設定機能を実装する際、メールサーバーが必要になりました。
ただ、そこまでしっかりしたサービスではないので、別に迷惑メールに入れられてもいいから無料でやりたいってことで、Amazon Linux 2 にデフォルトで入っている sendmail を使ってみることに。

参考にしたのはこちらの記事↓

【CentOS7】sendmail 基本設定

この記事をしっかり読めばできると思いますが、自分が詰まった点について書いていきます。

1. /etc/mail/sendmail.mc の設定

>Dwホスト名
Dmドメイン名
define(`confDOMAIN_NAME’,`$w.$m’)dnl

を加筆するのですが、ここは好きに設定して良いようです。メールサーバーに関する知識が薄い自分としてはあらかじめ決めた何かが必要なのかと思いました。
自分は
Dw : mail
Dm : xxx.work (自分でと

元記事を表示

SSM PortForwardでのWindows RDPもhost名でつなぎたい

[前回](https://qiita.com/naoaki-yzrh/items/54f364f23bfbab271821)の続きです

SSM PortForwardによるRDP接続もInstanceIDが必要・コマンドが長ったらしいのでスクリプト化してみました
通常なら下のような感じで実行し、RDPの接続先として `localhost:13389` を指定することになります

“`
aws ssm start-session –target i-xxxxxxxxxxxxxxxx –document-name AWS-StartPortForwardingSession –parameters “portNumber=3389,localPortNumber=13389” –profile yuzuriha
“`

コードはたいして変わってませんw
awscliのところぐらいです

“`python:rdp_proxy.py
#!/usr/bin/python

import sys
import os
import subprocess
import argparse

元記事を表示

ALBのデフォルトセキュリティグループをCDKからいじりたいんだって

# 概要
CDKでALB with Fargateを作るとSecurityGroupがフル開放されちゃいます
開発環境だったり、内部のサービスであれば、セキュリティを考えてIPを絞りたいと思うのですが、CDKだと追加は簡単だけど削除が難しかったので、その方法の共有です

# 手順
## フルオープンSG作成
まずは変更対象のSecurityGroupを作成します

“`python
alb_sg=ec2.SecurityGroup(self, “alb-sg”,
vpc=ivpc,
description=”alb sg”
)
“`

次にそのSecurityGroupを利用したALBを作成します

“`python
ecs_alb=elasticloadbalancingv2.ApplicationLoadBalancer(self, “alb”,
security_group=alb_sg,
vpc=ivpc,
internet_facing=True,
load_balancer_name=”ecs-alb”
)
“`

元記事を表示

AWS初心者が在宅勤務中にAWSの資格を取る記録 part4

##■5/11(Mon)
・Udemyで座学&ハンズオン(セクション7~9)
 →S3、Well Architected Framework、信頼性の設計

###感想
今までオンプレミス環境のシステム設計や構築やテストなど行ってきたが、クラウドでも基本的な考え方は同じ。
しかし、キャパシティやリソースを考慮しない考え方は今までとは正反対のアプローチなので、非常に興味深い。

##■5/12(Tue)
・Udemyで座学&ハンズオン(セクション10~11)
 →Route53
  →ホストゾーン設定、ルーティング、フェイルオーバーの実装
   →以下のルーティングについて、3つのリージョンにEC2インスタンスを作成して動作確認
    ・シンプルルーティング
    ・加重ルーティング
    ・レイテンシールーティング
    ・位置情報ルーティング
    ・マルチバリュールーティング
 →データベース
  →データベースの基礎、概要について

###感想
内容について、少しだけ詳細に書くことにした。

お名前.comでドメインを取得(1円/1年のやつ)し、ハンズオンを進めた。
R

元記事を表示

ACM + CloudFrontでLightsailをHTTPS化するまでの備忘録

# はじめに
– 以前、[AWSのLightsailでWordPressを導入](https://qiita.com/Toyoizumi-Hiroyuki/items/dc72b467dc8052c99976)して、Webサイトを構築しました。
– 前回、構築したWebサイト用に取得した[ドメインをRoute53に追加](https://qiita.com/Toyoizumi-Hiroyuki/items/cf6fff3332e8e6802d68)しました。
– 今回は、`AWS Certificate Manager(ACM)`と`CloudFront`を利用して、`HTTPS`通信可能にしました。
– その時の手順を備忘録としてまとめました。

# 動作環境
– macOS Catalina 10.15.4

# 1. ACMでの作業
– ACMでSSL認証書を作成します。ただしこの証明書は、外部で使用することはできませんが、無料かつ自動更新なので管理が非常に容易です。
– [AWSコンソール](https://aws.amazon.com/jp/)へアクセスし、サインインします

元記事を表示

AWS SAMのテンプレートではリソースごとに!Refと!GetAttの戻り値が違う

# はじめに
この記事では、AWS SAMテンプレートでAWS Lambda、AmazonAPI Gateway、AmazonSNSを使用したサーバレスアプリケーションを作ろうとしたときに躓いたポイントを紹介します。
# AWS SAM テンプレートとは
AWS SAMのテンプレートはAWS CloudFormation テンプレートの拡張で基本的にはCloudFormationのテンプレートの書き方と同じですがSAM特有の便利なコンポーネントも追加されています。
もっと詳しく知りたい方はこちらを参考にしてみてください。
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html
#CloudFormationの組み込み関数
CloudFormationにはスタックの管理に便利な組み込み関数があります。ここではそれらの関数のうち2つを紹介します。便利な使い方としては、実行するまでわからない値(SAMテンプレートで作成したLambda関数のAmazonリソースネーム (ARN

元記事を表示

【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

元記事を表示

NLB に VPCFlowLogs を設定する

# 背景
AWS上にTCPリスナーのNLBを構築した時に、
全て正しく設定されているように見えるのに、なぜかログが出力されない事象に遭遇しました。

ALBと同じようにアクセスログを出力してくれるものだと思っていたのですが、
TCPリスナーの場合はアクスエスログを出力しない仕様でした。

VPCフローログは設定できそう、という情報をもらい

– 存在は認識していたが、触ったことがなかった
– なんらかの方法でトラフィックを確認できるものがあれば、、と思っていた

ので、ドキュメントを読みつつ設定を試してみることにしました。

# 目的
AWSのドキュメントを読んだり、実際に設定してみてせっかくなのでわかったことをまとめておきます。

# [VPCフローログ](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs.html)とは

VPC内のネットワークインターフェースを行き来するトラフィックのをキャプチャするもので
主に以下のような情報が含まれます。
※詳しくは[こちら](https://docs.aws.a

元記事を表示

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-

元記事を表示

OTHERカテゴリの最新記事