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

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

AWS KernelLivePatching(プレビュー)を試してみた、けど

AmazonLinux2のカーネルを無停止でパッチを当てられるKernel Live Patching(プレビュー)を試してみました。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/al2-live-patching.html

現在(2020-05-01)新規EC2を作成する場合は、最新のカーネルで起動してしまうのでパッチ当てが試せない状況です。(パッチが出たら試す予定)

## 前提条件

– Amazon Linux 2であること
– x86_64アーキテクチャであること(arm64でないこと)
– カーネルバージョンが4.14.165-131.185を含め以降のバージョンであること
– そうでない場合は先に通常のカーネルバージョンアップが必要

## 設定

“`bash
sudo yum install -y yum-plugin-kernel-livepatch
sudo yum kernel-livepatch enable -y
# rpm -qa | grep kernel-livepatch
su

元記事を表示

SpringBootアプリをGithubActionsで超簡単にAWS ElasticBeanstalkにデプロイしてみた

# はじめに
Githubでなんの追加も必要なく簡単にCI/CDが行える GithubActions が予想以上に手軽で便利でした。
今回は特定のブランチにPushした場合に、自動的にAWSのBeanstalkにデプロイする workflow の作成手順を紹介します。

# 前提
– AWSのアカウント(IAM)があること
– Githubのアカウントがあること

# 開発環境
– macOS Mojave
– OpenJDK 1.8
– IntelliJ IDEA ultimate 2019.3
– SpringBoot 2.2.6
– Gradle 6.3

# 大まかな作業の流れ
– デプロイ用のSpringBootアプリを用意する
– AWSのBeanstalkに手動でデプロイする(初回だけ)
– GithubActionsの workflow をymlで書く
– pushして自動デプロイを確認

# デプロイ用のSpringBootアプリを用意する
まずはBeanstalkで動かすためのデモプロジェクトを用意します。
サクっと [spring initializr で Gra

元記事を表示

Amazon LightsailでRPAの管理サーバー検証環境を作ってみた (Automation Anywhere Enterprise A2019編)

以前、Amazon EC2を利用する以下のような記事を書きましたが、
今回はより低コストに、かつ、ほぼ定額で運用が出来るVPS(Virtual Private Server)サービスの、Amazon Lightsailを使って、Automation Anywhere Enterprise A2019のサーバー(Control Room)を立ててみました。
EC2と比較するとよりシンプルに運用できる分、出来ることも減ってきますので、検証環境や、割と割り切った小規模運用に向いているのではないかと思います。
ただ、定額のサービスなので基本的には立ち上げっぱなしの運用が可能です。
そのために今回はLightsailで立ち上げてみることにしてみました。

(以前書いた記事)
[Automation Anywhere BYOLでAWS上にControl Roomを立ててみる – Qiita](https://qiita.com/zamaezaaa/items/6eac6669dedaa3ab7420)

### 免責事項
AWSの有料サービスを利用します。
インスタンスを複数作成したり、データ転送

元記事を表示

AWS, LPICの資格取得計画

# 取得目的

入社後の研修期間中にクラウド・サーバーエンジニアに必要な知識を高めるため

# 取得予定資格

  • AWSソリューションアーキテクトアソシエイト
  • LPIC1

# 学習方法
### AWS

  • Udemy これだけでOK!AWS認定ソリューションアーキテクト
  • 徹底攻略 AWS認定ソリューションアーキテクトーアソシエイト教科書: 株式会社インプレス 2019

### LPIC1

  • Udemy Linuxコマンド、シェルスクリプト、データベース、ネットワーク 、セキュリティ、LPIC101・102を極める14時間
  • Linux標準教科書: https://linuc.org/textbooks/linux/
  • UNIXコマンドブック: ソフトバンククリエイティブ株式会社 2009
  • Linuxコマンドポケットリファレンス: 技術評論社 2009
元記事を表示

LINEBotをみんなで作ろう〜LINEBot is 何?編〜【GWアドベントカレンダー2日目】

この記事は下記の [#GWアドベントカレンダー](https://gw-advent.9wick.com/calendars/2020/72) の 2日目の記事になります。

楽しそうなのでやってみる ( @inoue2002 ) | GWアドベントカレンダー

# はじめに
こちらの内容は超初心者向けです。
[公式ドキュメント](https://developers.line.biz/ja/docs/messaging-api/overview/#messaging-api%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF)を読める方はこちらをお読みいただく方が正確です。

[昨日の記事](https://qiita.com/drafts/a87df2b520f8b6e37f42/edit)をご覧になってない方はぜひ。
こちらの記事はGWアドベントカレンダーを通してLINEBotをサーバレスで作れるようになろう!ということを目標に書いている記事です。

LINEBotって何なん?って思われる方にまずお読みいただきたいです。
できるだけ専門用語を使わず、噛み砕

元記事を表示

AmazonLinux2でFTPとFTPS兼用させる

**!!! 基本的に全てroot権限の作業になりますのでご注意ください !!!**
## AmazonLinuxの場合
デフォルトの

“`
/etc/vsftpd/vsftpd.conf
“`
でなく

“`
/etc/vsftpd/vsftpd-ftp.conf
/etc/vsftpd/vsftpd-ftps.conf
“`
のようにFTPとFTPS両方に対応した2つの設定ファイル(*.confであること)を用意すれば自動的に兼用出来るようになっています。
(`/etc/init.d/vsftpd` の処理を見れば分かると思います。)

## AmazonLinux2の場合
AmazonLinuxと同様の方法が使えないため別のやり方をする必要があります。
ちなみにCentOS7も同様かと思いますが試していません。

 まずFTP用の設定ファイルとFTPSの設定ファイルのそれぞれでvsftpdを起動するシェルを作ります。

“`/usr/sbin/myvsftpd.sh
#!/bin/bash
/usr/sbin/vsftpd /etc/vsftpd/vsftpd-ft

元記事を表示

CloudFormationに日本語コメントを含めるとエラーになる場合の解決方法

# 前提条件
– Windowsで*.ymlに日本語コメントを含めてAWS CLIを叩いた場合のみ起こる
– マネコンから*.ymlをアップロードした場合は不明
– AWS CLIをインストーラからインストールしている場合のみ起こる
– 結論から言うと、インストーラからインストールしているAWS CLIをアンインストールしてpipでgithubからインストールすればいい

# テンプレートに日本語コメントを含めるとエラーになる
“`yaml
# これは日本語だ
AWSTemplateFormatVersion: ‘2010-09-09’
Parameters:
Parameter:
Type: Number

Resources:
# 日本語だ、これは
Lambda:
Type: ‘AWS::Lambda::Function’
“`

こういうテンプレートファイルを`aws cloudformation create-stack –template-body file://hoge.yml –stack-name foo`と実行すると

元記事を表示

勉強用にminikubeをEC2上で実行する

O’REILLYの「Kubernetesで実践するクラウドネイティブDevOps」をタイトルの全部入り感にひかれて買ったのですが、手持ちのローカル環境が貧弱なのでEC2上にminikube(学習用のローカルkubernetes環境)をインストールしました。

単純にググるとAWS vCPUは仮想化オプションがないので、インストールできなそうに思えたのですが、ちゃんと調べると導入可能だったので、まとめてみました。
(とはいえほとんど参考資料ママです)

## 環境
– EC2 t3.micro / Ubuntu Server 18.04 LTS ※無料枠じゃないので注意(t2.microだとCPU数が足りない。最低2vCPU必要)
– kubectl v1.18.2
– minikube v1.9.2
– docker
– conntrack(インストール中にないと怒られた。コネクショントラッキングツール)

## インストール
まず、dockerとconntrackをインストール

$ sudo apt-get update
$ sudo apt-get instal

元記事を表示

AWS Lambdaのメモリを増やすと処理が遅くなる事がある

# 背景

Lambdaで作成した関数のメモリー割当量を検証をしていた際にメモリー割当量を増やしたのにも関わらずレスポンスが遅くなることがありました。
そこで実際にCPU性能を調べてメモリ割り当て量によるレスポンスタイムの違いを調べてみたいと思います。

# 検証

## 検証方法
極力ネットワークの影響やファイルIOなど外部の影響を受けないようにするために今回は `console.log` を大量に行いCPUに負荷をかける。
Lambdaの画面よりテストボタンで下記のスクリプトを6回実行を行い、選択できる全メモリ量を記録して所要時間の中央値を比較するものとする。
ランタイムは `Nodejs 12.x` を使用する。

“`js
exports.handler = async (event) => {
for (var i=0; i<100000; i++) { console.log(i); } }; ``` ## 検証結果 各実行時間の中央値をグラフにしました。 グラフから分かる通り、特定容量の割当ての際にレスポンスが遅くなっていることが

元記事を表示

AWS WorkSpaceの作成と、ログインしたらメール通知するよう設定

在宅で使っているPCが会社のOA用のPCであり、ツールをインストールするのに制限が多く面倒。(また、個人のPCが、ネットブック並みの性能なので)AWSのWorkSpaceを使ってみることにしました。

解決したら非常に単純なことでしたが、しばらくはまりました。

なにかというと、はじめはクライアントツールをインストールせず、Webアクセス(ブラウザのみでの接続)を実施したかったのですが、果たせず。AD側で許可してるのになぜ。。とか何度もworkspaceを再作成したりしていたのですが、話は単純で、
**「AmazonLinuxのバンドルはWebアクセスに対応していない」** という事でした。。。(2020/4/27現在)
ちゃんと公式マニュアルに書いてあって何度も読んだのに。思い込みは怖いわ。。

## AWS WorkSpaceとは
単純にクラウドVDI(仮想デスクトップ)です。
Windows10かAmazonLinux(centosベース)のデスクトトップ環境が使えます。
今回はAmazonLinuxにしました。

今はコロナの為のテレワークを後押しするために、無料枠が拡張さ

元記事を表示

WINDOWS OSでAWS LAMBDAにGOをデプロイ

#目的
現在、WINDWOS10 OSでGOを用いてWEBサービスを開発しており、
AWS LAMBDAを活用する場面がありましたが、
実際にデプロイを行う際に、無駄にはまったところがあったので、
この度は、実際にデプロイしてみてはまったことや感想を共有したいと思います。

#AWS LAMBDAにGOをデプロイする方法
基本的でデプロイする方法はAWSの公式ドキュメントに記載されてあります。
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/golang-package.html
特に`デプロイパッケージ`、`Handler`がデプロイとは密接に関係があるので、
この辺はしっかりと読みましょう。

僕は、しっかり読まずいくつが見逃してしまい、苦労しましたね、、、:joy_cat:

#僕がはまったところ
##①ソースコードをLINUX用しなかったこと
###問題

僕は以前、LAMBDAにPYTHON3をデプロイした経験があります。その際は、OSを気にせずデプロイしてもうまく動いてくれたので、
この度、GOをデプロイ

元記事を表示

Amazon Inspectorを実際に使ってみた(とりあえず動かしてみた版)

気がつけば、[前の投稿](https://qiita.com/tsaito0814/items/fa8d7f2d2fd7f93736ad)から半年…恐ろしいものです。

おかげさまで[AWS 認定セキュリティ – 専門知識](https://aws.amazon.com/jp/certification/certified-security-specialty/)に無事合格しました。残念ながら一発合格とはいきませんでしたが…。しかし取得がゴールではないので、これからも日々精進します。引き続きよろしくお願いします。

というわけで、今回から実際にAWSのセキュリティ関連サービス(セキュリティ、ID、およびコンプライアンス)を試してみたいと思います。まずはAmazon Inspectorです。

# Amazon Inspectorとは?
Amazon Inspectorとは、AWSのセキュリティ脆弱性診断サービスです。ネットワーク診断とアプリケーション診断の両方が可能であるということです。具体的にどこまでの診断が可能か、早速試してみましょう。

公式ドキュメントは[こちら](https:

元記事を表示

初心者がWordPressでタイピングのリアルタイム対戦ゲームを作ってみました

#はじめに
この記事は、WordPressでしかホームページを作れないプログラミング初心者が、無理やりWordPressを使って、タイピングのリアルタイム対戦ゲームを作ってみた記事です。
![alt](https://typingerz.com/wp-content/uploads/2020/04/taobattle.jpg)
タイピング初心者用に、70近くあるステージをクリアしていくモードもあります。

IT系の集まりで、「WordPressでこのサイト作ったよ」って言ったらどよめきが起こり、「Qiitaに書いてみれば?」と言われたので書いてみます。

ちなみに、[タイピンガーZ](https://typingerz.com)というサイトです。

このサイトをWordPressでどうやって作ったのかを、ざっくり書いていこうと思います。

#テーマのテンプレート
はるか昔に購入した有料テンプレートを使ってみましたが、改造しすぎて原型をとどめていないので、なんでも良かったと思います。

#記事投稿と固定ページテンプレート
タイピンガーZは、対人対戦を除いて、ステージをクリアしていく仕組

元記事を表示

AWS LambdaのJavaは遅い?

AWS Lambdaで動作するJavaは初回が遅いですが、速くする方法がないか調べました。
末尾にある参考サイトの内容にたどり着いて、実際に試してみたのでその記録です。

レイテンシ情報はX-Rayにて取得しました。

# テスト対象

S3にファイルをPUTするだけのものです

“`java
S3Client s3 = S3Client.builder().region(Region.AP_NORTHEAST_1).build();
PutObjectResponse result = s3.putObject(
PutObjectRequest.builder().bucket(ENV_BUCKET).key(“filename.txt”).build(),
RequestBody.fromString(“contents”));
“`

# 検証1 普通に実行

まずは普通に試してみます。

ソース全体

“`java
package helloworld;

import c

元記事を表示

[入門者向け] AWS Solution Architect Associate 合格までの道

初心者エンジニアの合格体験記です。
一度不合格で再受験したため、失敗経験も併せて
合格までのポイントを伝えられたらと思います:money_mouth:

#前提
###経験・能力について
・文系出身SE
・プログラミング経験なし(入社してからJavaの研修を7日ほど・・・)
・当然インフラ知識もなし
・入社するまでIT知識無し
・SIer勤務でPJ管理メイン・・・(書類作成に追われ業務ではほぼIT知識がつかない)

###AWS受験のきっかけ
配属した時に学習を推奨されていたため。
6月くらいに存在を初めて知り、なんとなく面白そうだし将来の武器になりそうだと思った

#学習期間
2019/12/9 ~ 2020/4/29
1回目の受験は3/7 スコア680 →不合格
2回目の受験は4/30 スコア820 →合格!!!
※1月、2月は業務が忙しい+サボりグセでおそらく合わせて10時間も勉強していないですが・・

学習に5ケ月かかっているので、とても優秀とは言えないですね:thumbsdown::thumbsdown:

#1回目の受験
###学習内容
・[AWS認定資格試験

元記事を表示

AWS ubuntu18.04で IAM RoleによるCode Commit からのgit cloneには awscliが必要

# AWS ubuntu18.04で IAM RoleによるCode Commit からのgit cloneには awscliが必要
##環境
ubuntu18.04 on AWS EC2
## Amazon linuxでは起きない?!
他のプロジェクトではamazon linuxを使っていて、ubuntuでやったのは初めてで気付かなかったので、メモ。※知っている人から見たら低次元の話です。すみません。

## まずはgit-configで設定
“`
git config –global credential.helper ‘!aws –region us-east-1 codecommit credential-helper $@’
git config –global credential.UseHttpPath true
“`
※リージョンはご自身の使用内容に修正して下さい。

## これでhttpsでgit cloneしてもエラーになる!AWS Cliインストールを
“`
curl “https://bootstrap.pypa.io/get-pip.py” -o

元記事を表示

AWSのEC2にPHP、Nodejs、MySQL、Nginxをインストールする方法

自分用のメモとして、それぞれのインストール方法をまとめてみた。
#はじめに

“`
// ssh接続後、yumのバージョンを更新しておく
$ sudo yum update -y
“`

#PHP
“`
// epel-releaseパッケージをインストール出来るようにする
$ sudo amazon-linux-extras install epel

$ sudo yum install epel-release

// remiリポジトリを使えるようにする
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-
release-7.rpm
$ sudo yum install -y php74 php74-php php74-php-fpm
$ sudo ln -s /usr/bin/php74 /usr/bin/php
$ php -v
“`

#Node.js

“`
$ curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash –

元記事を表示

コロナ休みで増えた家事を分担!LINEBotでスッキリ解決する

この記事は下記の [#GWアドベントカレンダー](https://gw-advent.9wick.com/calendars/2020/87) の 2日目の記事になります。

すごくなりたいがくせいぐるーぷ( @inoue2002 ) | GWアドベントカレンダー

# はじめに
記事をご覧のみなさんStayHomeお疲れ様です。
一刻も早い収束を願い、みなさんで協力していきましょう!

さて、学校が休校になり、毎日お昼ご飯を作ったり、その他家事をしたりとそろそろ疲れてきたところではないでしょうか?
そんな皆さんのために、(僕はお母さんの為に)家族で各仕事の役割と分担をして発表してくれるLINEBotを作成したのでご紹介します。

#完成品

元記事を表示

タグを指定するだけでRDSを自動起動・停止する

# はじめに

「[タグを指定するだけでEC2インスタンスを自動起動・停止する](https://qiita.com/uzresk/items/504d52bf1042c1067dde)」のRDS版です。

案件で必要になったためメモを残しておきます。

# やりたいこと

RDSタグにStartTime:8am、StopTime:9pmを設定すると朝8時に自動起動、夜9時に自動停止させます。

手順は前回と全く同じなのでドキュメントのコンテンツだけの記事です。

# 注意点

タグに対応するDB識別子が取得できない場合、SSMAutomationは失敗します。
つまりCloudWatchRulesに7amに起動するルールを設定したとしてもRDSにStartTime:7amに対応するルールがないと失敗してしまうのでその点だけご注意ください。

# RDSの自動起動

“`yaml
description: StartRdsInstances Using Tags:StartTime
schemaVersion: “0.3”
assumeRole: “{{ AutomationAssu

元記事を表示

スクレイピングしてくる不届きものを、AWS WAFを使ってブロックする話

# 概要
Webの集客をGAで監視していたところ、異様なトラフィックの増加が見られたので、スクレイピングされてるのでは…?と、対策することになったお話です。

Headless Chromeだけ弾く、とかいろいろ考えましたが、調べると現実的ではなさそうで、まずは、WAFで止めましょうという流れになりました。

# 結果
いくつかスクレイピングしてるだろう不届き者のIPを発見し、ブロックしてさしあげました。

やった処理は以下の通りです。

1. 一定時間のアクセスが多すぎるIPを一時的に弾く
2. BlackリストにいれたIPを弾く
3. Whiteリストに入れたIPはBlackリストに引っかからないようにする

以下の図は、PV数を時間毎に表示したものですが、対策後の山が僅かに小さくなっていること、気づけますでしょうか?
(分母がそれなりに大きいので差分が分かりづらいですが)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/270964/8f085ec4-642d-0ff2-02d2-

元記事を表示

OTHERカテゴリの最新記事