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

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

EC2でPlantUML Server

### [EC2へのMavenインストール](https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/iam-auth-connect-prerq.html)
“`
sudo wget https://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo yum install -y apache-maven
sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
sudo yum install -y apache-maven
“`

### [Javaのインストール](https://docs.aws.amazon.com/ja_jp/corretto/latest/corretto-8-ug/amazon-linux-install.html)

元記事を表示

[AWS CDK] Private Subnetで運用するBatchコンピューティング環境(EC2タイプ)を構築した

# 概要

CDKを用いて,AWS Batchのコンピューティング環境(EC2起動タイプ)を,インターネットとの通信経路を持たないVPCで起動する方法をまとめました.

Batchのコンピューティング環境は,ECSクラスタとして作成されます.なので,ECSクラスタが展開できるVPC環境を準備してあげればOKです.

# なぜそんなことをしたのか?

Batchで高負荷な計算処理(シミュレーション)を行う環境[^1]を構築していたのですが,セキュリティ上の理由から,「インターネット経由の通信が存在しない環境でで」との要件があったためです.

[^1]: 合計で数千vCPUのクラスタを初めて動かしたときは,「今まで数日かかっていた計算が,こんなに早く終わるのか!!」という興奮と,「終わったらちゃんとスケールインされるよね…??」という心配とで,ドキドキでした.

# 検証環境
– CDK 1.59.0, Typesccript
– 東京リージョン (ap-northeast-1) [^2]

[^2]: 他のリージョンで展開したい場合は,適宜リージョン名を読み替えていただければと思いま

元記事を表示

Amazon S3, Route53, CloudFront を利用して SSL化した LP をホスティングする方法

# まえがき
本記事では、Amazon S3, Route53, CloudFront を利用して SSL化した LP をホスティングする方法についてご紹介します。
実際に、最近この方法で [LP](https://gaobowl.com/) を公開したので、備忘録も兼ねて以下に大まかな流れを記載します。

# ⓪ AWS の 利用
・まず、[AWS](https://portal.aws.amazon.com/billing/signup?redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation&language=ja_jp#/start) にて、アカウントを作成します。
・アカウント情報, 連絡先情報, お支払い情報 を登録して、SMS等でのアカウント認証を行います。
・その後、サポートプランの選択を済ませれば、アカウント作成完了。AWSコンソールにログインできる様になります。

# ① S3 に LP をデプロイする
・まず、サービス の ストレージ から S3 を選択します。
・S3 にて、 バケ

元記事を表示

AWS Redshift Spectrumとviewの組み合わせのアクセス権限を調べる

公式ドキュメントにわかりやすい説明が見つからなかったので、実際にRedshiftを動かして試した結果をまとめました。試した結果なので、違ってたらごめんなさい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/2c021f22-4275-4529-12b6-fc54b09467e0.png)

図の中の3つのライン

1. 通常のRedshift内のtableにviewを通してアクセス(PostgreSQLでも同様)
2. Redshift Spectrumの外部スキーマのtableに直接アクセス
3. Redshift Spectrumの外部スキーマのtableにviewを通してアクセス

# 1. 通常のRedshift内のtableにviewを通してアクセス(PostgreSQLでも同様)

まず、DB userはviewへのSELECT権限が必要です。viewを作成したオーナーであればSELECT権限があります。viewを作成したのが別のDB userの場合は、オー

元記事を表示

Amazon Chime SDKでスライドをバーチャル背景に設定する

`この記事はこちらでも紹介しています。
https://cloud.flect.co.jp/entry/2020/08/24/123607`

前回は、Amazon Chime SDKでビデオセッションの上限(16セッション)を超えて映像配信する実験をご紹介しました。
https://qiita.com/wok/items/683561486c7b79c25edc

今回もAmazon Chime SDKについて、最近他のビデオ会議ツール等で話題になっていた機能を実現する方法をご紹介したいと思います。

今回ご紹介するのは、パワーポイントなどのスライドをバーチャル背景にする方法です。
最初に大きな話題になったのは、[mmhmm](https://www.mmhmm.app/)でしたね。その後、Zoomでも同様の機能が[リリース](https://blog.zoom.us/filters-reactions-lighting-features-zoom-meetings-2/)されました。リモートで行うプレゼンに臨場感が出て良いと思います。

これをAmazon Chime SDK

元記事を表示

【IAM】IAMとは

## IAMとは
**AWS Identity and Access Manegement** の略
AWSのサービスを利用するための権限を管理し、各サービスへのアクセスを制御する仕組み

### 主要トピック
– ユーザー
– グループ
– ポリシー
– ロール

## ユーザー
### 1. ルートユーザー
AWSアカウント作成時に作られるアカウント
全てのAWSサービスとリソースを使用できる権限を有する
**※ 基本的に、日常的なタスクには使用しない**

### 2. IAMユーザー
IAMポリシー内でAWSサービスを使用出来るユーザー
**※ 基本操作はIAMユーザーアカウントで行う**

– 1アカウント5,000ユーザーまで作成可能
– 1ユーザー10グループまで所属可能

## グループ
IAMユーザーをグルーピングし、権限管理を容易にする仕組み

– 1アカウント300グループまで作成可能

## ポリシー
どのAWSリソースにどのサービスのどのような操作を許可/拒否するかを定義するもの
JSON形式で記述

### 1. 管理ポリシー
**AWS管理ポリシー**:

元記事を表示

Redashのデータソースを作成する

前回の記事でAWSのRDSにデータをインポートしてデータの準備が出来ましたので、今回はRedashにログインしてデータソースを作成してみたいと思います。

## Redashへのログイン

① 最初にAWSのEC2インスタンスとRDSが起動されていることを確認します。
​  起動されていない場合は、起動しておいてください。
② EC2インスタンスのパブリックIPアドレスをコピーします。
![EC2アドレス](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/154fd73d-96b3-29ed-acc6-b9a5ec3b49e2.png)
③ コピーしたIPアドレスをブラウザのURLに入力します。
![URL入力](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/0c2bfb38-3ab5-ff70-9e54-50cf88c433af.png)
④ Redashの初期設定画面が表示されますので、各項目を入力し、「セット

元記事を表示

AWS CLI(命令的)とTerraform, CloudFormation(宣言的)の違い

AWS CLIにてターミナルから、AWSリソースの作成をすることや、IaC(Infrastructure as Code)のTerraformやCloudFormationでAWSリソースをコード化することはもはや今の時代普通となってきてはいるが、今回はこれらの技術を触り始めたばかりの人にこの両者の違いを命令的、宣言的な言葉から説明しようと思います。

#両者の違い

「EC2インスタンスを1つ作る」を例に取る。

##AWS CLI (命令的) は How を指定する。
“`
EC2インスタンスを1つ作るとなったら:
 -VPC作って〜
 -AZ作って〜
 -サブネット作って〜
 -インスタンスタイプはこれを指定して〜 etc…
“`
命令的では、EC2インスタンスを1つ作るためには何から用意して、どのようになどのlow level=Howの指定をする。

##Terraform, CloudFormation (宣言的) はWhatを指定する。

“`
EC2インスタンスを1つ欲しい!
“`

宣言的は最終的なDesired State=What,欲しい物を指定する。

元記事を表示

Amplify + AppSync + React + Typescriptで簡単アプリ作成【完成】

# 概要
前回の記事の続きを書いていきます。
前回の記事をみたい人は[こちら](https://qiita.com/keito1024/items/6c0980b253cb52fae6cc)

## クライアントからAPIを呼び出す
プロジェクト内でAppSyncを仕様するために, 提供されているライブラリを使用していきます。

“`sh
$ yarn add aws-amplify aws-amplify-react
“`
package.jsonを確認してインストールがされたことを確認してください。
確認できたら早速、エントリーポイントであるindex.tsxにインポートしましょう。

“`tsx
import ‘./index.css’;

import Amplify from ‘aws-amplify’; // <--- ライブラリインポート import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; import config from './aws-ex

元記事を表示

Amazon ECS Workshop #2 ~コンテナのデプロイ~

# 環境構成図
本投稿では下図の構成図のコンポーネントを構築していきます。
![環境構成図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640480/ea7172d6-207e-3ef6-fa91-780ebfb8ed8e.png)

タイトルにあるコンテナのデプロイに進む前の環境準備部分がかなり多くなりますが、ご了承ください。
※IAM周りの権限は適宜付与している前提で進めていきます。

コンテナ&ECSに関する各コンポーネントの簡単な説明は下記をご参照ください。
[introduction編](https://qiita.com/itoumke/items/3b0b5a6956d3c1f071cb)

# 環境準備
## CloudFormation実行環境
![クライアント環境.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/640480/1ff5068b-089c-05b3-b016-57a7b272145b.p

元記事を表示

【AWS】AWS Ground Stationなるサービスについてちょっと調べてみた

#AWS Ground Stationを調べてみる経緯
AWSマネジメントコンソールを触っている際、サービス一覧に「衛星」のカテゴリが気になったのでちょっと調べてみることにしました。
#AWS Ground Stationってなにもの
###ざっくり説明
・人工衛星が取得したデータをAWSに送ることが出来るサービスのようです。
・地上に自前でアンテナを用意する必要は無くAWSが設置したGround Station(地上にあるアンテナ)で人工衛星からデータを受信することが出来るようです。
・人工衛星との通信時間をスケジューリングして使用するようです。
・人工衛星から送られてきたデータはEBS、EFS、S3に保存することが出来るようです。
・現在使用できるアンテナは、「米国東部 (オハイオ)」「米国西部 (オレゴン)」「中東 (バーレーン)」「欧州 (ストックホルム)」「アジアパシフィック (シドニー)」「欧州 (アイルランド)」の6つ
[AWS公式サイトの概要説明](https://aws.amazon.com/jp/ground-station/)
#どんなことに使用するの?
###・

元記事を表示

AWS愛用者がまよぶGCP:GoogleAppEngineの特長

務めている会社や家でもAWSしか利用したことがあったのですが、転職先にGCPを使う可能性が出てきたので、GCPを勉強しようと思います。

WEBエンジニアとして使う可能性が高い、GoogleAppEngineについて調べました。

# GoogleAppEngineの特長
## 複数バージョン管理
GAEでは、1つのWebアプリケーションに他してい複数のバージョンを配置可能。
バージョンの切り替えなどができるため、デプロイの動作確認で問題なければ、すぐに新しいバージョンに切り替えたりすることができる

## トラフィック分割
サービスの各バージョンに対してユーザからのトラフィックを分割可能。
アプリケーションの新機能のリリースだけを切り分けてのトラフィックの確認も可能。

## 自動スケーリング
サービスへ負荷が増大した際に自動的にアプリケーションを動作させるインスタンスを増やし、負荷が低下しあ場合は自動的にインスタンスを減らしてくれる。

# 参考
[Google Cloud Platform 実践Webアプリ開発 ストーリーで学ぶGoogle App Engine]
(https:

元記事を表示

AWS認定ソリューションアーキテクトに合格しました

AWS認定ソリューションアーキテクト(SAA)に合格したので、忘れないうちに記録を残しておきます。

## 1. 受験した動機
業務で担当しているプロダクトのインフラがAWSで構築されていて、EC2やRDS、S3をなんとなく触っていた程度でした。
ちなみにエンジニア歴は8ヶ月です。

業務で実際に触るAWSのサービスは限られるのですが、

– もっとAWSの全体像を理解して知識を深めたい
– インフラの基礎を勉強したい

といった理由でSAAの勉強をはじめました。

## 2. 取得してみて
まず「SAAを取得すること」と「AWSでインフラが構築できるようになること」は別物です。

合格してみて強く感じますが、ただ資格の勉強をしても実際にAWSを使えるようにはなりません。業務や個人サービスで実際に手を動かして初めて使えるスキルとなるので、SAAはその準備程度として捉えたほうが良さそうです。

SAAを取得するメリットとしては、

– AWSでインフラを構築する際の現時点でのベストプラクティスを理解できる
– AWSの様々なサービスの特徴を理解し、組み合わせることで最適な設計のイメージが

元記事を表示

AWSサービスのみでサーバーを監視してみる

# この記事
インフラエンジニアをやっています。

AWSを業務で使い始めて始めにやったことを思い出すと、EC2とCloudWatchでした。

監視ソフトウェアを使わずとも、それこそ最低限の監視であればスッと始められるし料金も知れてるので、今回はその内容を少し書きます。

設計ではなく手法の話になります。

対象読者はAWSを使って監視というものを試したことがない方、あるいはSAA試験対策の一貫になったりするかと思います。

# 監視の種類
あくまでサーバーの監視ってどんなのだっけ?というお話。

**死活監視**
サーバー息してる?といういわゆるping応答の監視

![ping.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406764/7e1b8216-81d4-f32e-946b-a059a717e213.png)

**リソース監視**
リソースという言葉は広い意味で取れるが、例えば**CPUやストレージ容量**といった基本的なもの
ずっとCPUが90%以上だったら、サーバーが超人気なのか

元記事を表示

LaravelをRDSと繋ぐ

# TL;DR

– RDSを構築して、RDS情報をenvs/配下の値を適切に埋める
– envファイルに設定したい文字列に#がある時はダブルクオーテーションで括る

# RDS構築

一連の流れを説明とともに記述します。詳しいことは載っていないので注意です。
また、今回はRDSをパブリックサブネットに配置します。
(外部から繋ぎたいため)

本来はVPC内のプライベートサブネットに置き、
EC2などからしか接続させないようにするのがオーソドックスかと思います。

1. VPC作成
2. VPC > インターネットゲートウェイからインターネットゲートウェイを作成し、VPCにアタッチ
3. VPC > ルートテーブルから、VPCのルートテーブルにサブネットの関連づけをする
2. VPC > サブネットからパブリックサブネットを2つ作る (※1)
3. EC2 > セキュリティグループからRDS用のセキュリティグループ作成。
今回はパブリックサブネットに置くので、外部(XServer)のIPをインバウンドとして設定
4. RDS > サブネットグループを先に作成

元記事を表示

Amplify + AppSync + React + Typescriptで簡単アプリ作成①

# 概要
前々から聞いたことがあったけど使ってなかったAmplifyとReactを使って、簡単なアプリ作るがこの記事のゴールです。

## 事前チェック
各種環境のバージョンチェックしましょう。(これらが全て使える環境が整っている前提)

“`shell
$ create-react-app –version
3.4.1
$ node -v
v12.18.0
$ npm -v
6.14.4
$ amplify –version
4.27.1
“`

## React App 作成する
クライアントアプリの雛形をつくっていきます。

“`shell
$ create-react-app client-app –template typescript
$ cd client-app
$ yarn start
“`

おなじみの画面が出ると思いますこれでひとまずクライアント側の準備はOKです。
![app-page.cfe4dfdb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/165705/a

元記事を表示

DynamoDBはどんなCRUD操作が可能か確認する

# はじめに
[以前の記事](https://qiita.com/neruneruo/items/71ad99629e9b11648222)で書いたように、DynamoDBはちゃんとキャパシティ管理さえしてあげれば、サーバレスで高性能でかなり良い感じなデータベースだ。

ただし、データベースと言ってもRDBとは違うので、そちらに慣れている人にはハマりどころが多々ある。

DynamoDBではどんなCRUD操作が可能かを確認しておこう。

# 前提条件
前提条件はあまりないが、以下の記事くらいを読んでおくと入りが良いとおもう。

– 【Qiita】[AWS DynamoDBと仲良くなれるかもしれないまとめ](https://qiita.com/yu-croco/items/66fd1a662dd64b8eb348)

特に、LSI、GSIはちゃんと理解しておかないと混乱することになるのでしっかり覚えておこう。

# 事前準備
今回は、以下のような仕様のデータベースを管理する前提とする。
– 社員ID(項目名:“`id“`)をキーとする社員管理テーブルを想定
– 社員は複数の部署(項目

元記事を表示

[AWS] Lambda関数のユニットテストをローカル環境で実行してみよう

# 前提
今回は、以下のような前提で検証してみたいと思います。

– SAM
– Lambda
– Python3.8
– pytest
– moto(モック)
– DynamoDB

なお、SAMを使用すると、Dockerん環境を使って擬似的にローカル環境にDynamoDBなどを構築することができますが、今回は、ユニットテスト(将来的な自動テスト)を見据えてのテストについて検証してみたいと思います。

# プロジェクト作成
では、まず最初にプロジェクトを作成します。
もし、SAMでのプロジェクト作成がよくわからない方は、事前に

– [[AWS] Serverless Application Model (SAM) の基本まとめ](https://qiita.com/herohit-tool/items/420f4a7b294cfcf56ed7)
– [[AWS] Serverless Application Model (SAM) でAPI Gateway + Lambda + DynamoDBなサンプルを作成してみる](https://qiita.com/herohit-tool

元記事を表示

別アカウントのS3にレプリ_ただのメモ書き

GudardDutyのログは仕様上暗号化されてS3に出力される。そのログをS3レプリケーションで別のAWSアカウントにレプリケーションしたい

アカウントA ==> アカウントB

## 環境

* アカウントA

* GuardDutyログを暗号化するKMSキー:gd-test-src
* GuardDutyログを保存するS3バケット:gd-src
* GuardDuty有効化

* アカウントB
* KMSキー:gd-test-dst
* アカウントAのGuardDutyログのレプリ先S3バケット:gd-test-dst

### S3バケット作成

**アカウントBで操作**

S3バケットgd-dstを作成
バージョニング有効化

### KMSの作成

**アカウントAで操作**

CMKを”gd-test-src”で作成

キーポリシーに以下を追加

“`json:
{
“Sid”: “Allow GuardDuty to use the key”,
“Effect”: “Allow”,
“Principal”: {

元記事を表示

AWS勉強 振り返りまとめ (2)

AWS ソリューションアーキテクト アソシエイト受験に向けて取り組んできた勉強において、
振り返っておくと良さそうな部分をまとめてみました (その2) :bear:
同じように AWS の勉強をしている方の参考になれば嬉しいです :penguin:

前はこれ :point_right: [AWS勉強 振り返りまとめ (1)](https://qiita.com/kumashun/items/c873f519eb1c377056f7)

## Load Balancing 系
– 静的/動的なスケーリング
– 静的 : desired-capacity が固定
– 動的 : desired-capacity が可変 = Auto Scaling (それはそう)
– **ステップスケーリングポリシー**
– CloudWatch から取得できるメトリクスの値に応じて増やす台数を調整できる。
– e.g. cpu 使用率 60% => 1台, ~ 70% => 2, ~ 80% => 3
– ELBのターゲットグループを設定すれば、ELB構成を利用してELBの

元記事を表示

OTHERカテゴリの最新記事