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

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

FargateからFireLensで三つ股出力(2 of 2)

[前回](https://qiita.com/itsuki3/items/cf717d72bd139af4d647)のあらすじ:FargateタスクからFireLensに吐き出す準備ができた。

## Step by Step

### 1. CWL

まずCWLへの吐き出しだが、前回記事の追記にも書いたように、いくつか注意点がある。

– マネジメントコンソールの「FireLensの統合を有効にする」チェックボックスは、**あくまでlog_routerコンテナをアプリコンテナのサイドカーとして追加するまで**しかやらないなので、ログを構成するための設定を忘れず行う必要がある。
– **1) アプリコンテナのログ構成(logConfiguration)セクションに、`awsfirelens`ドライバーへの書き出しを明記すること。**
– これによって、アプリコンテナからlog_routerコンテナへの書き出し経路が成立する。
– そのままだと宛先不明でどこにもログが書かれないので、[公式の例](https://github.com/aws-samples/amazon-ecs-

元記事を表示

【CodePipeline×ElasticBeanstalk】Java SEプラットフォームでランタイムバージョンをJava 8からCorretto 11に更新する

2020年6月3日に、Elastic BeanstalkのJava SEプラットフォームで、Corretto 11(Java 11)プラットフォームブランチの一般提供が開始されました。

– LTS(長期サポート)バージョンはJDK11
– Amazon CorrettoでもCorretto 8のサポート期限が最短2023年6月までなのに対し、Corretto 11は最短2024年8月までと長い

ことからも早めにランタイムバージョンの更新対応しておきたいこところですね。

というわけで、今回は、ElasticBeanstalkのJava SE環境をJava 8(Corretto 8ではないほう)からCorretto 11にバージョンアップする手順をまとめてみました。

## 環境
– OS:Windows10
– IDE:Eclipse 2020-03
– JDK:Amazon Correto 8 → Amazon Correto 11
– フレームワーク:Spring Boot
– AWS
– CodePipeline
– CodeCommit

元記事を表示

React Native + Amplify + Cognitoのソーシャルログインでカスタムドメインを使う

## はじめに
仕事でReact NativeでamplifyとCognitoを使ってソーシャルログイン機能(Facebook/Google/Apple)を実装しています。
当初、Cognitoとソーシャルプロバイダー側でアプリ用のドメインをカスタムドメイン設定にすることで、ユーザーに違和感のないログインUXを提供しようと思っていたのですが、amplifyを使ってブラウザからアクセスする認証URLのドメインがデフォルトの値 (`your-user-pool-domain.auth.ap-northeast-1.amazoncognito.com`みたいなもの) から変更することが簡単にできなかったため、これをカスタムドメインに変更する方法を調べた結果をまとめました(先に言っておきますが、あくまでワークアラウンドです)。

## 前提条件
Cognitoの[カスタムドメインの設定](https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.htm

元記事を表示

wwwなしの、SSL(https)にリダイレクトしたいときのNGINXの設定 -Route 53 + ELB (ACM) + EC2構成-

# 全てのトラフィックをwwwなしの、SSL(https)にリダイレクトしたい

# 結論

長いので先に結論だけ書きます

– SSL証明にACMを使い、ELBに証明書が適応されている状態を想定

– **ELB <-> EC2の接続がHTTP: 80の場合、NGINXはport 80でlistenする** (ここの気付きが重要でした)

– NGINXによるリダイレクトはwwwあり->wwwなしのみでよい

– **httpsリクエストをNGINXの80で受けるという設定に戸惑ったが、動作上これで良さそう**

# 現状と目標

`https`かつ、`www`なしのドメインをリクエストしないとSSL接続されない

理想は以下の全ての条件でSSL接続にリダイレクトしたいが現状は

“`
# wwwあり
http://www.mdclip.xyz -> http://mdclip.xyz (no SSL)
https://www.mdclip.xyz -> http://mdclip.xyz (no SSL)

# wwwなし
http://mdclip.xyz

元記事を表示

【AWS S3】静的ウェブサイトの設定方法

#はじめに
[Route53に登録されたカスタムドメインを使用した静的ウェブサイトの設定](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html)のサイトを元に、静的ウェブサイトを作成したい。(すでに作成したため、画像が一番はじめに作成したものと一部異なる場合がございますが、あらかじめご了承ください。)

#手順
##ドメイン購入
AWSでドメイン購入すると高いので(作成時点だと$9~だった)、基本的に1円〜購入可能であるお名前.comで購入する。取得方法は[こちら](https://tekito-style.me/columns/domain-onamae)。(サーバー購入はする必要なし。)

##バケット作成

ルートドメインバケットを今回は例として`hoge.work`とする。(実際は先ほど購入したドメイン名にして下さい。)
「S3」>「バケットを作成する」を選択。
スクリーンショット 2</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>AWS</div>
<div class='tag-cloud-link'>S3</div>
<div class='tag-cloud-link'>route53</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/blackpeach7/items/64b3dcda6ef01abe4d72'>元記事を表示</a></div>
<h3 id=小技: S3 のバケットの中のファイルを一斉書き換え

S3 の間でファイルを一斉に移動させた時などに ACL で public read が付与されていなかったり、SVG ファイルの metadata がなぜか binary/octat-stream になってて image/svg+xml でなかったりしました。

なので、シェルスクリプトで一括で変換できるスクリプトを作りました。

PREFIX で、特定のフォルダ (Key) のみに限定して実行させることもできるようにしました。

# 特定 Bucket の prefix に ACL public read を加える

シェル

“`s3-bucket-acl.sh
# /bin/bash
BUCKET=$1
PREFIX=$2
for KEY in $(aws s3api list-objects \
–bucket ${BUCKET} | jq -r ‘.Contents[].Key’)
–prefix ${PREFIX}\
do
aws s3api put-object-acl \
–bucket ${BUCKET} \
–key ${KE

元記事を表示

AWSサーバレスでSPARQLエンドポイントを構築(Apache Jena編)

AWSサーバレスでSPARQLエンドポイントの構築を試してみた第2弾です。
第1弾はこちらです。

AWSサーバレス環境でSPARQLエンドポイントを作ろうとしたが上手くいかなかった話
https://qiita.com/uedayou/items/bdf7a802e27fe330044e

前回は利用したライブラリの関係で検索速度に難があり限定した用途であれば使える、という感じでした。
今回はRDFストアとしては実績がある[Apache Jena](https://jena.apache.org/)を使ってみました。

## 環境

– [AWS Lambda](https://aws.amazon.com/jp/lambda/)
– [Amazon API Gateway](https://aws.amazon.com/jp/api-gateway/)

前回と同じくAWS Lambda+API Gatewayという構成です。
Apache Jena は

– [jena-core](https://jena.apache.org/documentation/rdf/index.h

元記事を表示

aws ec2のRHEL8にrdp接続する

## 前提
– cloud
– AWS

– ami
– `ami-07dd14faa8a17fb3e`

## 必要なパッケージをinstall
“`
yum update -y
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
yum install -y gcc-c++ make ksh sysstat xorg-x11-utils java-11-openjdk-devel libnsl
dnf group install “Server with GUI” -y
dnf install xrdp -y
systemctl enable xrdp –now
“`

## まとめ
– OracleDBの検証にGUIが必要だったのでEC2のRHEL8にRDP接続してみました、もっと良い方法とか、ご指摘御座いましたらお願い致します。

元記事を表示

【サーバーレス初心者向け】Serverless Framework + SwaggerでWeb APIを作る!第2回 WAF適用編(全3回)

# はじめに
こんにちは!
本記事は先日公開した[【サーバーレス初心者向け】Serverless Framework + SwaggerでWeb APIを作る!第1回(全3回)](https://qiita.com/nekoze-climber/items/30ca7da8d86629d1e50c)の続きとなります。

前回はSwaggerで記載したAPI定義を取り込んだAPI Gatewayと簡単なメッセージを返すだけのLambda関数を実装し、Serverless Frameworkを使ってAWSへデプロイするところまで行いました。

第2回ではAWS WAFを適用し、特定のIPからしかAPI Gatewayにアクセスできないようにします。これはAPI Gatewayはパブリックに公開されてしまうので、なにもアクセス制限をしないとURLさえ知っていればアクセスできてしまうためです。IP制限をかけることで安心して開発ができるようになります。

# 今回作るもの(再掲)
今回は以下のアーキテクト図のようなWeb APIバックエンドを作っていきます。
API Gatewayでクライアント

元記事を表示

【ECS】ALBを通してnginx+php-fpm環境をECSで動かす

# ゴール
下記で作成したコンテナへのアクセスにALBを使う。phpinfoが見られればOK
https://qiita.com/chanP_yamazaki/items/f4829a2905582a78223a

# ALBとターゲットグループを作成する

|手順| 名称 | 設定値 |
|:——-|:———-|:——-|
|ロードバランサーの設定| 名前 | ecs-cluster-alb |
|| アベイラビリティーゾーン | aとc両方にチェック |
|セキュリティグループの設定|セキュリティグループの割当|ポート80許可したものを設定 or 作成|
|ルーティングの設定|ターゲットグループ|HTTP、ポート80のターゲットグループを作成or割当|

# ECSのタスクを定義する
※記載がないパラメータは変更しないものとする

・タスク名をつける
 後から変えられないので注意
・コンテナの追加
 これがまさにdocker-compose.ymlに相当している

 ▼ nginx

| 名称 | 設定値

元記事を表示

【ECS】nginxとphp-fpmが連携したコンテナをECSで動かす

# 概要
ECS及びECRでコンテナを動かす
ころころUIが変わるので文字ベースで必要な作業をメモ

# ゴール
下記で作ったコンテナイメージをECSで動かしphpinfoが見られる
LBは通さずインスタンス直通
https://qiita.com/chanP_yamazaki/items/1397f4899f7768c1ed60

# プッシュ元のEC2インスタンスにECRへのアクセス権限を付与
・「AmazonEC2ContainerRegistryFullAccess」ポリシーがアタッチされたIAMRoleを設定する

# ECRのリポジトリを作る
・Amazon Container Service -> Amazon ECR -> Repositories へ
・リポジトリを作成
 名前は任意

# ECRへコンテナイメージをプッシュする
・先ほど作成したリポジトリをクリック
・プッシュコマンドの表示をクリック
・手順1の「認証トークンを取得し、レジストリに対して Docker クライアントを認証します。」のコマンドをコピーして実行

“` :手順1
$ aws ecr ge

元記事を表示

【dokcer】EC2インスタンスでnginxとphp-fpmコンテナを連携させる

# 概要
EC2インスタンス上でdockerとdocker-composeをインストールして動かす方法メモ
OS: amazonLinux2

# ゴール
EC2のEIPに直アクセス(LB通さない)してphpinfoを見られる

# dockerインストール
インストール -> 起動 -> ec2-userでも動かせるように権限調整

“`
$ sudo su –
# yum update -y
# amazon-linux-extras install -y docker
# systemctl enable docker
# systemctl start docker
# usermod -aG docker ec2-user
“`

# docker-composeインストール
docker-composeのバージョンは適時調整する
バージョン情報まで表示できたらOK!

“`
# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64 –

元記事を表示

AWS Security資格(SCS)に合格しました

# はじめに
先日(8/10)にAWS Certified Security – Specialty資格(以降SCS)に受かったので、その時の所感や実践した勉強などを残そうと思います。
とはいえ、勉強に使ったのは他の記事でも書いたBlackbeltとWhizlabs(と公式の模擬試験)ぐらいなので、試験の傾向や試験中に考えたことなどが中心になります。
誰かの役に立てば幸いです。

※過去の記事
[AWS SAAに受かった話](https://qiita.com/kkino1985/items/85bcfa50686fcfe69c56)
[AWS SOAに受かった話](https://qiita.com/kkino1985/items/295509d3d94c726ae56a)
[AWS DVA(とCLP)に受かった話](https://qiita.com/kkino1985/items/8f3db5e102876cca47b1)
[AWS SAPに受かった話](https://qiita.com/kkino1985/items/7ad6bcdde44a2b4e4916)

ちなみにDO

元記事を表示

【AWS】ConsoleのSign-in時の通知やAlarmの設定

![001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/688363/1b084b58-2a8d-c37e-df45-bc7b2730053a.jpeg)

#Sign-in Endpoint

Sign-in Endpointはログイン時に使用したURLによって変わる。
https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html

「https://.signin.aws.amazon.com/console」でログインすればEndpointは「us-east-1」になる(テスト時)が、
「https://.signin.aws.amazon.com/console?region=ap-southeast-1」のようにパラメータでRegionを指定すれば、
Sign-in Endpointを明示的設定できる。

#CloudTrial

Sign-in Event

元記事を表示

【lambda】インスタンスの状態を取得してlambdaでslackへ通知する

# 概要
インスタンスを立ち上げてテストしたあと、よく停止し忘れるのでlambdaでEC2/RDS/ElastiCacheの状態を確認し、不要なインスタンスが起動中であればslackで通知する処理を作る
(強制停止だと不味い場合があるので通知だけ)

# フロー
CloudWatchEventのスケジュール -> lambda実行

# 前準備
lambda実行用に以下のポリシーがついたロールを用意
・AmazonEC2ReadOnlyAccess
・AmazonElastiCacheReadOnlyAccess
・AmazonRDSReadOnlyAccess

# コード

“`
import boto3
import json
import urllib.request

ALLWAYS_RUNNING_EC2_INSTANCE_ID_LIST = [
‘i-hogehoge’, # hogehoge
]
AS_INSTANCE_NAME_LIST = [
‘auto-scale-instance-name’,
]
ALLWAYS_AVAILABLE_RDS_I

元記事を表示

GPSマルチユニットとAWS IoT Eventsで作業記録システムを作った話

# 作業記録を付けよう

作業記録を付けるのは大事なことです。原価管理はもちろんですが、自分の作業を見える化することで自宅作業であまり効率的に動けてない部分や思った以上に自分が働きすぎている部分を確認することが出来ます。

とはいえ、慣れないうちはExcelシートなりにマメにログを付けるというのはついつい忘れがちです。せめて作業を切り替えた時間だけでも簡単に記録できないかと考えたのが今回の記事になります。

# ボタンでやる?

最初に思いついたのは[SORACOM LTE-M Button](https://soracom.jp/products/gadgets/)を使うことです。
以前[「LTE-M Buttonで子育て支援するシステムを作ったお話」](https://qiita.com/kkimura/items/c13fc9ad14896c6c1430)というのを作っていますので、これを持ってきて各作業開始時にポチッと押すことでGoogle Spreadsheetに時間を記録することが出来ます。

ただ、これにはいくつか欠点があります。

– ボタンを押したかが思い出せない

元記事を表示

【学習記録】AWS VPCについて

# Amazon VPCとは?
VPCとは、Virtual Private Cloudの略です。Amazon VPCはAmazonが提供している仮想ネットワークのこと。
この仮想ネットワーク内で、AWSリソースを起動できる。

# VPCを学ぶ上で必要な知識
***アベイラビリティゾーン(AZ)***
>AWSの各リージョンに存在するデータセンターのこと。アベイラビリティゾーンにサブネットを配置する。

***リージョン***
>AWSの各サービスが提供されている地域のこと。AWSでサービスを利用するときは、まずリージョンを指定する。リージョンによって使えるサービスは異なる。

***サブネット***
>VPCを細かく区切ったネットワークのこと。VPCのIPアドレスの範囲。
例えば、Webサーバー(公開)とDBサーバー(非公開)を分けたいときVPC内でpabulicサブネットとprivateサブネットのように区切って使用する。

***ルーティング***
>どのデータをどこに送るか采配すること。VPCとインターネットをつなげたい場合は、このルーティングでインターネットゲートウェイとのル

元記事を表示

新卒1年目が1.5ヶ月でAWS認定 クラウドプラクティショナーを取得するまで

# はじめに
新卒1年目のエンジニアである私が、勉強はじめて1.5ヶ月で先日AWS認定 クラウドプラクティショナーに**無事一発合格できた**ので体験記みたいな感じでアウトプットしてみます。

あまり経験がない方や、私みたいな新卒エンジニアの方が資格取得を目指す際に役立つといいなと思います。
# 受験を決めたときの自分
– **ピッカピカの新卒一年目エンジニア**
– 研修終わってすぐ試験対策を始めたので、現場経験はありません!

– **IT知識**
– 大学で情報系を専攻していたので、ある程度のITの知識は持っていました。

しかし、CGなどをメインに扱っていたのでインフラなどはそこまで詳しくないです。
– **クラウドの知識**
– **ほとんど0でした。**AWSに関しては専門用語を全く知らず、EC2ってなんぞやレベルでした。

# 合格点数
クラウドプラクティショナーは**100~1000のスコアで700以上取れれば合格**となります。
私は809で合格となりました。
~~(なんでこんなに中途半端な点数なんや…)~~
![score.png](https:/

元記事を表示

AWS初心者がEC2を最低限の利用料金で利用する

# 概要

AWS請求$2.84。。。先月の私のAWS利用料です。
まぁ少額なのでいいですが、予想より使ってしまったな。という印象。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/746c29d1-9803-d98f-3b1d-329f27d9f823.png)

というのも先月はEC2で少しやりたいことがあり、ポチポチとEC2インスタンスを作成して
不要な時は停止していました。
が、費用削減できていなかったのは、EBS$2.01。。。
EC2よりよっぽど費用がかかってしまった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188544/78c84307-69d1-a6a5-3af6-9146fd3c6e8c.png)

詳細を見ると、EC2はインスタンスタイプの時間料金な

元記事を表示

IAMユーザーを請求情報にアクセスさせる

AWSアカウント登録後に外部の方のクレカ情報を登録してもらう際のメモまでに。

## Billing and Cost Managementコンソールへのアクセスのアクティブ化
https://console.aws.amazon.com/billing/home?#/account

アカウントの設定画面をスクロールして「IAM ユーザー/ロールによる請求情報へのアクセス」を編集します。

– [ ] IAM アクセスのアクティブ化

ここをチェック入れて「更新」を押下します。

## 請求データにアクセス許可を付与する IAM ポリシーを作成する
新たに「BillingFullAccess」ポリシーを作成、適応します。

“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “VisualEditor0”,
“Effect”: “Allow”,
“Action”: “aws-portal:*”,

元記事を表示

OTHERカテゴリの最新記事