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

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

aws-serverless-java-containerのSpring Boot2チュートリアルをやってみただけ(メモ)

# はじめに

aws-serverless-java-containerを使用して、LambdaでSpring Boot2のアプリケーションを動かしてみます。

– [Quick start Spring Boot2](https://github.com/awslabs/aws-serverless-java-container/wiki/Quick-start—Spring-Boot2)

以下はWindowsにインストール済みとします。

– JDK
– Maven
– AWS CLI
– Node.js
– Serverless Framework

# プロジェクト作成

MavenのArchetype Pluginを使ってJava projectを作成します。

“`
mvn archetype:generate -DgroupId=my.service -DartifactId=my-service -Dversion=1.0-SNAPSHOT -DarchetypeGroupId=com.amazonaws.serverless.archetypes -Dar

元記事を表示

AWS Client VPNをLinuxでも使いたい

AWS Client VPNはWindowsとmacOS向けにはクライアントが用意されているのですが、Linuxにはなく、UbuntuとかDebianとかopenSUSEを使いたい私はちょっと悲しかったのですが、プロファイル見たらOpenVPNのプロファイルだったのでオッと思ったのでした。

# tl;dr

プロファイルを作ったらOpenVPNを使って接続しよう。

# 前提

* AWS VPCが構築去れていること
* AWS Client VPNの用意ができていること

# How

CentOSやopenSUSEなどでもできると思うけれど、手元に構築してあったUbuntuで話します。
バージョンは 18.04LTS。

1. OpenVPNをインストール `apt install openvpn`
2. OpenVPNサービスを有効にする `systemctl enable openvpn`
3. OpenVPNサービスを起動する `systemctl start openvpn` (不要かもしれない)
4. opvnファイルを用意する。
* ここでファイル名は `fil

元記事を表示

AWS S3 アクセスログの集約化

# 前提
AWSの[S3](https://aws.amazon.com/jp/s3/)のアクセスログは1回のアクセスにつき、指定したバケットに1個のアクセスログファイルを作成するとします。
感覚的には1回につき1個のファイルではなく、同時間に発行されたログを1つのファイルにまとめて吐いているようです。細かいことは[Amazon S3 サーバーアクセスのログ記録](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/ServerLogs.html)を見て下さい。
つまり「1時間毎に1回、1日で計24回のアクセスがあったとすると作成されるログファイルの数は24個」としてこの記事を読んで下さい。

# 何がしたいか
前提で述べたように1回のアクセスで1個のログファイルが作成されるので、1000回アクセスされると1000個のログファイルが作成されてしまいます。「1日に発行されたログを全てまとめて見たい」という時に全てのログファイルをローカルにダウンロードするなんて事はしたくありません。[S3](https://aws.amazo

元記事を表示

AWSを使ったWordPress環境構築(単一構成)

### 事前準備
EC2インスタンスを作成

### SSH接続

~~~bash
$ssh -i .ssh/key.pem ec2-user@public_ip
~~~

※key.pemはssh_key

※public_ipはインスタンスのpublic_ip

### Apacheのインストール

* Apachのインストール・起動

~~~bash
$ sudo yum install -y httpd
$ sudo systemctl start httpd
~~~

## MySQL5.7のインストール

MySQL Yum RepositoryからMySQL5.7をインストールする。

* Yumリポジトリの情報のインストール

~~~bash
$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
~~~

* MySQL8.0リポジトリを無効にし、MySQL5.7リポジトリを有効にする

~~~bash
$ sudo yum-c

元記事を表示

aws sts get-session-tokenの結果をexportするためのワンライナー

AWSやっているとよく出てくるこちらのSession TokenのExport。 `aws sts get-session-token` で取得すれば良いのですが毎度微妙に面倒でした。

“`sh
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_SESSION_TOKEN=AQoDYXdzEJr1K…o5OytwEXAMPLE=
“`

Shellとかで実装されているのも見つけましたが、自分の好みでワンライナーにしました。

Qiitaの機能でコピーボタン押して使うと便利です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116068/b8e77d2b-f350-0863-5008-d753b5674ea6.png)

出力して、別のターミナルに貼り付けたい時は、出力して

元記事を表示

【AWS SAA】スケールアウトとスケールアップの違い

#はじめに
AWS SAAの試験の中で高可用なアーキテクチャはどれか選ぶ問題がある。サーバの処理能力を向上させるアプローチとして、主に「スケールアウト」と「スケールアップ」があるが、その違いが曖昧であった為、本稿を通じて簡単にその違いについて整理したい。

##スケールアウト
スケールアウトは水平スケールとも呼ばれ、Auto Scalingのように数の増減でスケーリングすることだ。
例:EC2を1つ→3つに変更
![新人 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449478/48cdc6f3-96ec-12f3-4fd4-ef20ca923752.png)

##スケールアップ
垂直スケーリングとも呼ばれ、インスタンスそのものの性能を変更してスケーリングすること。(サーバそのものを増強すること。)
例:EC2インスタンスタイプをt2.micro→t2.largeに変更
![新人 (1).png](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

AWSのVPC周りをCloudFormationで作成

## はじめに

以前[この記事](https://qiita.com/nnagashima/items/e4e425a6287ebb0caf70)でAWS CLIを操ってVPC周りの作成を行いましたけど、
そもそもCloudFormationあるんだから、そっち使えるようになること必須だと思うので並行してCLIでやったことを、
CloudFormationでも実現するようにしていきたいと思います

## CloudFormationってそもそも何?

AWSのシステム構成をJSONないしはYAMLで記述してテンプレート化し、構成の管理、修正、再利用を簡単にするサービスです。
構成情報がテンプレート化されるので、変更箇所などが後からログで追跡することができるので変更管理も容易です。
書き方などはJSON/YAMLともにAWSにてサンプルでの記載方法があるので、プログラム言語など少ししか齧ったことしかない人でもすぐに書けると思います。

[AWSサイト](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuid

元記事を表示

Athenaとは

### Athenaとは
Athena(アテナ)とはAWSのデータ分析サービスであり、S3に格納されたデータに対して、集計やソートなどの分析を実行することができます。分析する際に使用する言語はSQLになり、実行したクエリに対してのみ料金がかかる。
サーバーレスであるため、インフラの管理は不要。S3にはデータだけが置かれているようなものです。そのため、S3に直接Athenaがクエリを行ってもデータの構造が分からないためうまくいきません。そのテーブル構造(メタデータ)を定義するのがGlueカタログです。一つのテーブルにつき一つのGlueカタログを作成します。AthenaはこのGlueカタログを参照しながらクエリを行うといった感じになります。このGlueカタログを作成するサービスの一つとしてGlueクローラーというものがあります。GlueクローラーはS3等においてあるデータ構造を推測して、データカタログに表構造を登録するサービスです。そのためAthenaがS3にあるデータをSQLでクエリを行うには、データカタログの作成が必要であり、データカタログを作成するためにGlueクローラを使用するとい

元記事を表示

【AWS ECS】Fargateの「コマンドの上書き」

# はじめに
ECSで起動タイプFargateのタスクを実行する際の「コマンドの上書き」という項目について、「実行時パラメータを渡せるようなものかな」と思って使おうとしました。
この理解でざっくり正解と言えますが、正しく使うにはdockerのENTRYPOINT、CMDコマンドの知識が必要で、自分のようにdockerを使いこなす前にFargateを使おうとした人にとってはハマりどころかと思います。
これらについて調べた内容を記載しています。

# コマンドの上書き
ECSタスクの実行やタスクスケジュールの設定画面で「コンテナの上書き」という項目があり、ここで設定した内容をECSタスクに設定したコンテナ実行時に利用することができます。
![00_container_override.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315961/83e03106-93d3-b9f7-dcf2-6a424f9bfd35.png)
「コンテナの上書き」の中に「コマンドの上書き」というフリー記述項目があります。

元記事を表示

AWS AmplifyでAndroid アプリを作るときの作業(Auth, S3, API->Lambda)[メモ]

AWSのAmplifyを使ってモバイルアプリを作ることになったので、その環境構築手順をメモしておく。基本は自分のための備忘録だが、誰かの参考になれば幸い。

## 前提
amplifyはインストール済み
pipenvが入っている
python 3.8.5がインストールされている

#### 参考
amplifyのインストール

“`
npm install -g @aws-amplify/cli
amplify configure
“`

pythonの設定

“`
pip install pipenv
pipenv –python 3.8.5
pipenv shell
“`

## Androidでの開発
Android Studioでプロジェクトを作成した後にamplify cliでバックエンドの設定を行う。[^1]

[^1]: 逆の順番、つまり、amplify cliで環境を作ってからAndroid studioで同じフォルダにプロジェクトを作成すると、「すでにemptyではないフォルダがある」といったニュアンスの警告が出て、appのbuild.gradleやその

元記事を表示

努力を可視化! 積み上げ管理アプリの開発〜5週間でSpringアプリリリース〜

# はじめに
先日、「5週間でwebサービスリリース人集まれ!!!第三弾」という勉強会企画に参加し、約5週間の間Webアプリ開発・リリース作業を行った後、LTで成果物を発表しました。
使用したフレームワークはSpringです。
本記事では作成したWebアプリの機能の紹介や開発経緯、今後のWebアプリ改修の課題について記します。

勉強会企画のURL(connpass):
[5週間でwebサービスリリース人集まれ!!!第三弾※もくもく会のみ参加もOK](https://shinjukuasakatu.connpass.com/event/183656/)
[【朝活・新宿・もくもく会】第3弾 5週間でwebサービスリリースイベントのLT発表会](https://shinjukuasakatu.connpass.com/event/187636/)

# 作成したWebアプリの概要

今回作成したのは、毎日の努力=積み上げを記録・表示するアプリです。
Twitterで「今日の積み上げ」というハッシュタグがあり、勉強や筋トレといった毎日の努力やライフログが投稿されていますが、その積み上げを可視

元記事を表示

[神本]この本から培った基礎的なネットワークとサーバーの知識

# はじめに
職場でインフラ系の仕事を任せられ、勉強することに。。
某スクール時代に少しかじったくらいでほとんど知識が無いので、どのように勉強しようか悩んでいると、この本([Amazon Web Service 基礎からのネットワーク&サーバー構築](https://www.amazon.co.jp/Amazon-Services-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89-%E6%94%B9%E8%A8%823%E7%89%88/dp/4296105442))が良いと言う記事を多く見かけて読んでみることにしました。
そこで学んだ基礎知識を忘れないようにアウトプットしようと思います。

## 学んだこと(CHAPTER毎に)

####CHAPTER1
インフラ知識を身につけると良いこと↓↓

– 障害に強くなる

– アプ

元記事を表示

指定したEC2インスタンスのEIPを開放するスクリプ

時代遅れだけど。

“`
cat <(xargs -I{} aws ec2 disassociate-address –public-ip {}) \
>(xargs -I{} aws ec2 describe-addresses –filter Name=public-ip,Values={} | jq ‘.Addresses[].AllocationId’ -r | xargs -I{} aws ec2 release-address –allocation-id {})
i-xxxxxxxxxxxxxxxxx
i-xxxxxxxxxxxxxxxxx
i-xxxxxxxxxxxxxxxxx
i-xxxxxxxxxxxxxxxxx
i-xxxxxxxxxxxxxxx

元記事を表示

AWS認定資格 データアナリティクス – 専門知識 (DAS-C01) の学習ポイント


##はじめに
[AWS 認定 データアナリティクス – 専門知識 (DAS-C01)](https://aws.amazon.com/jp/certification/certified-data-analytics-specialty/)の試験に合格することができましたので、これから受験しようとしている初学者に向けて、簡単な学習ポイントをまとめてみました。
少しでも**初学時**の参考になれば幸いです。

##試験の出題範囲を把握する
どのような試験にも当てはまることですが、受験しようとする試験の出題範囲を確認し、これから学習する全体像を把握した上で、学習に着手した方が良いかと思います。

[試験ガイド]
(https://d1.awsstatic.com/ja_JP/training-and-certification/d

元記事を表示

【AWS】EFS改めてまとめてみた

#Elastic File Sysytem (EFS)とは
複数のEC2インスタンスからアクセス可能な共有ストレージ。シンプルでスケーラブルで柔軟に利用できるファイルストレージ。

##特徴
– フルマネージド型サービス
– NFSv4プロトコルを利用して、関連ツールや標準プロトコル/APIでアクセス可能
– ペタバイトまでスケーラブルにデータを蓄積可能
– スループット/IOPS性能は自動的にスケーリングし、低レイテンシーを維持
– ファイルの減少に合わせて自動で拡張・縮小
– 従量課金
– 事前に容量を設定する必要なし

##基本性能
###基本性能
– 100MB
– ファイル名は255Byte
– 1ファイルの最大容量48TB
– インスタンス当たり128ユーザまでの同時オープンが可能
– 何千もの同時アクセスが可能

###制限
– アカウント当たりのファイルシステム数:1000
– AZごとのファイルシステム当たりのマウントターゲット:1
– ファイルシステム当たりのタグ:50
– マウントターゲット当たりのセキュリティグループ:5
– ファイルシステム当たりのVPC数:1

元記事を表示

AWS CDK (Python) を使ってAPI Gateway + LambdaでPOSTを受け取る

AWS CDKとは大雑把に言うと、AWS上で構築するアプリケーションの設計書(CloudFormation)をプログラミング言語で書いてしまおうというもの。
本記事では、POSTされたJSONをAPI Gatewayを通してLambdaで処理するという単純な流れをPythonを用いて実装します。
AWS CDKを使えるようにするための設定は、以下の公式ドキュメント等を参照のこと:

– [Getting started with the AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html)
– [AWS CDK Workshop](https://cdkworkshop.com/15-prerequisites.html)

手順

まず適当なディレクトリを作り、以下の`cdk.json`を作成します。

“`cdk.json
{
“app”: “python3 app.py”
}
“`

次にそのディレクトリ内に新しいディレクトリ(例えば`lambda`)を作り、その中にLa

元記事を表示

AWS上にサーバーを作る(その01)

前回の投稿
[AWS上にサーバーを作る(序章)](https://qiita.com/aa_ha1uhik0/items/fc315edd6d6af2088e15 “AWS上にサーバーを作る(序章)”)
# サーバーに必要なAWSサービス
サーバー作るためには何が必要なんだっけ?
オンプレサーバーをベースにちょっと考えてみる。

* PC本体とOS
* ネットワーク

たぶん最低限このへんが必要だと思われる。
これをクラウドサーバーで実現したい。
## PC本体とOS
ここがAWSでいうところのEC2にあたるらしい。
[Amazon Elastic Compute Cloud (Amazon EC2)](https://aws.amazon.com/jp/ec2/ “Amazon Elastic Compute Cloud (Amazon EC2)”)
EC2ってワードは聞いたことがある。
ふむふむ。なんかAWSっぽくなってきたな。
しかし慌ててはいけない。
ここで高額な費用になっては、お金が払いきれない。
無料枠についてチェックしてみる。
>AWS の無料利用枠には、1 年間毎月 7

元記事を表示

AWS Batchでコンテナの実行方法および実行結果の確認

## 概要

自前で作成したコンテナをAWS Batchで使えるようにするためにいろいろ調べて試した流れのメモです。
rdkitを使いたかったのでrdkitを使えるコンテナを使用しています。

## 事前準備

### Dockerimage の作成

* 起動させるDockerコンテナのイメージを作成します。

“`dockerfile
FROM mcs07/rdkit:2020.03.2
# https://github.com/mcs07/docker-rdkit
RUN apt-get update && apt-get upgrade -y
RUN apt-get install python3-pip -y
RUN pip3 install pandas && \
pip3 install numpy && \
pip3 install hashids && \
pip3 install xlsxwriter && \
pip3 install Pillow
WORKDIR /dev/app
COPY module .
ENTRYPOINT [“python3”, “s

元記事を表示

AWX on AWS(EC2) を構築する

# 背景
AWXを触ってみたいとAWSに構築しようと思いましたところ、公式の構成はかなり冗長化されてて課金やばそう

ということでEC2にインストールして実行してみます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/044e9c01-51eb-b1cc-db00-775da775ceec.png)

# やること

EC2 を立てて、そこにAWXを導入します

## AWS環境
| 項目 | バージョン |
|:-:|:-:|
| AMI | Ubuntu Server 18.04 LTS (HVM), SSD Volume Type – ami-08046c40513c3265e (64 ビット x86) |
| Ubuntu | Ubuntu Server 18.04 LTS (HVM) |

# 構築

## EC2を立てる

以下の要件に従って作成します。

私は`Ubuntu Server 18.04 LTS (HVM), SSD Volume Type`を`

元記事を表示

【忘備録】AmazonLinux2にseleniumを導入し、GUIで操作する。

## 概要

### 内容
– EC2をデスクトップ化して、seleniumを導入する

### メリット
– EC2環境で、seleniumの挙動をGUIで確認できる。
– 他の記事では、headressで起動しないとできないと記載されていたが、この方法を使えばGUIで挙動を確認できる

### 参考資料
https://qiita.com/hitomatagi/items/e63dd8c4b879de156628
https://qiita.com/onorioriori/items/4fa271daa3621e8f6fd9
https://qiita.com/natsu_san/items/e8b17306385d5ab72969

### 作業工程

## AmazonLinux2にデスクトップ環境を作成する
– こちらを参照
– https://qiita.com/shunsuke-nashiki/items/cc16746a6ce6a9f82ed1

## Python3を導入する

MATE上部にあるAplication→System Tools→Mate

元記事を表示

OTHERカテゴリの最新記事