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

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

AWS Vaultをつかってみた

#AWS Vaultとは?
AWS Vaultを使うと、ローカル環境でアクセスキー、シークレットアクセスキーを安全に管理することができます。AWS CLIを使う時に、アクセスキーとシークレットアクセスキーを作成しますが、いつもこれの管理が不安でした。いくらPCがpassword設定をされていて簡単には入れないとしても安全性は十分とは言えません。そこでAWS Vaultはそのキーを暗号化して安全に保管してくれます。CLIを使う場合は必須の技術だと思います。
#AWS Vaultを使えば
・アクセスキー、シークレットアクセスキーを暗号化して安全に管理。
・アクセスキーのローテーションが簡単。

##実際に使う際のメモ
・**IAMユーザーに強力な権限は付与しないこと。**
>IMAユーザーには最小限の権限且つ、間接的に付与することを念頭に、その権限(ポリシー)はグループに付与し、IAMユーザーはそのグループに属すること。そうすることで、IAMユーザーに直接的に権限を付与することは回避。

>グループの権限(ポリシー)にはAssumeRoleする権限とアクセスキーのローテーションの権限を付与

元記事を表示

スケール○○の違いについて

#本記事について
スケール〇〇っていろんな種類があってあまり理解していなかったのでまとめます。

まず以下の四つがあります。

– スケールイン
– スケールアウト
– スケールアップ
– スケールダウン

#違いについて
##スケールイン
スケールをインする、つまり小さくすることを指しています。
サーバの台数を減らすことがこれに当たります。
##スケールアウト
インの逆でアウトですね。意味も逆で、サーバの台数を増やすことです。
最初は「インだからサーバがインして増えてるんだな!アウトだからサーバが出て行ってるから減ってるんだな!」って勘違いしてました。
##スケールアップ
スケールをアップします。これはサーバの台数ではなく、サーバのスペックを上げることを意味しています。
##スケールダウン
アップの逆です。スペックダウンのことです。
サーバ増減以外にもスケールする方法があることを理解しておかないと、「スケールアップとスケールアウトの違いは?」って聞かれた際に混乱するので注意してください。

元記事を表示

AWS の Windows 2019 Server のインスタンスで日本語に変更できない

# はじめに
AWS の Windows Server 2019 で「Add a language」 で日本語を入れても「Windows display language」のプルダウンメニューから日本語が出てこないが、何とかして日本語化したいので調べてみた

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/304109/3b0cba8e-02ed-f409-6e50-e88e7de01707.png)

通常では、以下の URL を参考に日本語を追加すると言語変更できるのだが、なぜか AWS の Windows Server 2019 のインスタンスではできない(選択できない)
https://blog.trainocate.co.jp/blog/azure_setting_024

# 日本語化手順
AWS の Windows Server 2019 で日本語化する手順の概要はこちら。

1. ISOイメージのダウンロード
2. ISをマウント
3. ISOイメージに入っている言語を

元記事を表示

BitnamiのRedmineでSSL化する方法

# はじめに
AWSのEC2上にBitnamiのRedmineを起動したのですが、常時SSL化したかったので設定してみました。

# 設定方法
公式のホームページに「Let’s Encrypt証明書を自動構成する」というページがあったので、そちらを参考に設定しました。
[公式ページ](https://docs.bitnami.com/aws/apps/redmine/administration/generate-configure-certificate-letsencrypt/)

## 設定用のツールを起動する
下記のコマンドを入力して、Let’s Encryptの設定を行うツールを起動します。

“`sh:ツールの起動コマンド
sudo /opt/bitnami/bncert-tool
“`
起動が完了したら、下記の内容が表示されます。

“`sh:起動完了時の画面
Welcome to the Bitnami HTTPS Configuration tool.
“`

## ドメインの設定
「Webサーバーを構成するドメインの有効なスペース区切りのリストを入力してくだ

元記事を表示

[AWS] CodeStarを使うと、Lambdaで動作するSpring(Java)のプロジェクトをたった3分で構築できるのです!!

# CodeStar
AWS CodeStarは、アプリケーションを迅速に開発・デプロイすることができるための環境を構築することができます。
いくつかのテンプレートが用意されており、マネジメントコンソール上からポチポチと選択していくだけで、開発プロジェクトが構築できてしまいます。

## 構築される環境

– コードリポジトリ(CodeCommitと、GitHubを選択可能)
– CodeBuilde環境
– CodePipeline環境
– アプリケーション
– IDE(Cloud9選択時)

## 料金
CodeStar自体は料金は発生しません。
CodeStarによって構築されるコードリポジトリや、パイプライン、デプロイされたアプリケーションに係るリソース使用料のみです。

## 注意事項
リージョンに東京リージョンを選択すると、IDEにCloud9を選択することができません(2020年8月現在)。
今回はCloud9で環境を構築したいので、リージョンにバージニア北部(us-east-1)を選択することとします。

# 環境構築手順
まずは、マネジメントコンソールで、サービスよ

元記事を表示

LocustでWebサイトの性能測定をする(とりあえずDockerで動かしてみた編)

# はじめに
Webサイトの性能測定といえばJMeterが定番な感じだが、そもそもなかなか起動させるまでの道のりが長くて学習コスト的にアレだったので、シナリオがPythonでお手軽に書けるという噂のLocustを使ってみた。

今回は、EC2でDockerでインストールしてとりあえず動かすところまで。
ちなみに、t2.microでは動作が不安定なので、t3.mediumくらいで起動すると良い感じであった。

# Dockerのインストール
これはもう定番の手順だけど一応書いておく。

“`:yumの最新化
$ sudo yum update -y
“`
“`:Dockerのインストール
$ sudo yum install -y docker
“`
“`:Dockerの開始
$ sudo service docker start
“`
“`:ec2-userをdockerグループに追加
$ sudo usermod -a -G docker ec2-user
“`

ここで1回ログアウトして再ログイン(セッションを作り直さないと設定が反映されない)。

“`:Dock

元記事を表示

AWS CodeDeploy で Auto Scaling グループ に複数のターゲットグループを紐づける

お疲れ様です。
タイトルの通り備忘録です。
どこかの記事を参考にしたと思ったのですが、見つからなかったので知っている方がいれば教えてください?‍♂️

# 用意するもの
– appspec.yml
– 紐づけ処理用のシェルスクリプト(before_allow_traffic.sh)

以上

# appspec.yml
このファイルは、デプロイを管理するために CodeDeploy によって使用されるファイルです。

“`appspec.yml
version: 0.0
os: linux
…中略…
hooks:
BeforeAllowTraffic:
– location: scripts/before_allow_traffic.sh
timeout: 300
runas: root
“`

トラフィックを許可する処理で before_allow_traffic.sh を実行します。

# before_allow_traffic.sh
スクリプト内にTODOコメントが書いてありますが、
ターゲットグループを直接指定しています。
もし

元記事を表示

Django REST Frameworkでdynamodbを操作するREST APIを作成する

#はじめに
django REST Frameworkとboto3でAWSのDynamoDBに対して操作を行うapiを作成する。
GET、POST、PUT、DELETEの操作ができるようにする。

# Dynamodbテーブル作成(事前準備)
下記のようなテーブルを事前に用意し、いくつかデータを入れておく
テーブル名: Fruits
hash key: Name

スクリーンショット 2020-08-10 22.16.19.png

# djangoプロジェクトの作成
django project(dynamo_operation)とapp(api)を作成

“`shell
$ django-admin startproject dynamo_operation
$ cd dynamo_operation/
$

元記事を表示

AWS IoT CoreのShadowをPHPのSDKを用いて取得

AWS IoT CoreのShadowはIotDataPlaneClientのGetThingShadow()で取得できます。

公式サイトには以下サンプルが記載されています。
https://docs.aws.amazon.com/ja_jp/aws-sdk-php/v3/api/api-data.iot-2015-05-28.html#getthingshadow

“`php
$result = $client->getThingShadow([
‘shadowName’ => ‘‘,
‘thingName’ => ‘‘, // REQUIRED
]);
“`

しかし、$clientのオブジェクトの生成方法が書いていない。。。

$clientのオブジェクト生成方法は以下です。

“`php
$client = new IotDataPlaneClient(
array(
‘version’ => ‘latest’,

元記事を表示

S3で色々お試しして遊んでみる(VPCエンドポイント&静的Webホスティング性能編)

# はじめに
S3。単なるマネージドでサーバレスなバックエンドストレージなだけでなく(いや、それだけでも充分すごいんだけど)、暗号化できたり、セキュアアクセスができたり、ファイルの中身にクエリ発行できたり、ウェブサイトのホスティングができたり、イベントトリガになったり、なんだか色々できてすごいぞ!

これを使い倒さずに、毎回「とりあえずバケット作っておくか」な使い方をしているだけではもったいない!

ということで今回は、色々ある機能の内、VPCエンドポイントと静的Webホスティングの機能について触れてみる(いずれもさわりだけなので、たいした検証にはなっていないのだが……)。

# VPCエンドポイント
VPCエンドポイントの詳細は[公式](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-endpoints.html)を見てもらうと良い。
要するに、S3のAPIはインターネットに口を向けているので、何も考えずにVPCからaws cliを実行したりすると、インターネットを通ってしまう。内部通信をしたいのに!というときに利

元記事を表示

AWSでZabbixを作成する際の注意点

#はじめに
[AWSのEC2とRDSを利用してZabbix4.2を導入する](https://qiita.com/yuichi1992_west/items/6c81a0e69ea9e7e86d83)を参照しながら作成したが、当方が初心者のため一部詳細が書かれていない箇所でどうやったらいいのか戸惑ったり、Macを使っているので一部作業内容が違った。
そのため本項でその点を補足しつつ、説明していきたい。
(すでに作成したため、初めて作成する場合と画像が一部異なる可能性がございますが、ご了承ください。)

#手順
##AWS側の設定
###セキュリティグループの作成
VPC>セキュリティグループ>セキュリティグループを作成をクリックする。
スクリーンショット 2020-08-10 12.23.08.png
セキュリテ

元記事を表示

SAMLによって、GoogleアカウントでAWSマネジメントコンソールにSSOログインする

# 前置き
AWSには、IAM Userというユーザー管理機能があり、AWSアカウント内でユーザー管理することも可能です。
しかし、G Suiteを使っている環境において、メンバーが増えるたびに、Googleアカウントを発行したり、AWS IAMユーザーを発行したりするには、工数が発生するとともに、漏洩のリスクも増やしてしまいます。
そこで、SSOにより、GoogleアカウントにてAWSアカウントにログインできるようにしてみます。

AWSおよびGoogle(G Suite)には、これをSAML経由で簡単に実現できるようにしてくれています。

ここでの詳細な説明は割愛しますが、SAML環境は、IdP(認証をつかさどる)とSP(サービス提供)によって構成されます。
ここでは、G SuiteがIdP、AWSがSPとなります。
構成図としては、AWSドキュメントのSSO関連のいたるところでみる、以下がわかりやすいです。
G Suite アカウントを用いた AWS へのシングルサインオン | AWS Startup ブログ 2020-08-10</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>AWS</div>
<div class='tag-cloud-link'>SAML</div>
<div class='tag-cloud-link'>SSO</div>
<div class='tag-cloud-link'>GSuite</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/Hiroyama-Yutaka/items/580636f904c204ba149c'>元記事を表示</a></div>
<h3 id=【AWS】S3で静的ホスティングしてRoute53でルーティングする

# はじめに
最近、Route53でドメインを作成してみたので、試しに、S3の静的ホスティングを試してみようと思いました。 

# 方法

## S3のバケットを静的ホスティング設定する

### S3バケットの作成
まず、S3のバケットを作成します。
> ※バケット名は、ドメイン名と同じ名前でないと正しくルーティングされません。

作成時にパブリックアクセスをブロックするか聞かれますが、チェックを外して、ブロックしないように設定してください。

### 静的ホスティングの設定
作成が完了したら、当該バケットのプロパティページを開いて、`Static website hosting`を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/18fc652f-6d62-55e4-0c94-ef5b3eca8e57.png)

`このバケットを使用してウェブサイトをホスティングする`を選択します。
そして、今回は「インデックスドキュメント」のみ設定します。
`index.

元記事を表示

AWS Amplify & Nuxt 使って爆速でWebアプリ作る

AWS でWebアプリ作る機会があったので、色々調べるとAmplifyが便利そうだったので使ってみました。

今回作成するアプリの主な機能は以下:

– NuxtベースのTODOアプリ
– Lambda使ったGraphQLのAPI
– DynamoDBへのデータ保存/読込
– DynamoDBのデータとリアルタイム同期
– Cognitoによる認証機能

基本的には[公式チュートリアル](https://docs.amplify.aws/start/q/integration/vue)をなぞってますが、Nuxtで使うに当たりいくつか変更点があるので、Nuxt使いに役立てば幸いです。

## Amplifyの初期設定

まずAmplifyのCLIをインストールしましょう。

“`bash
$ npm install -g @aws-amplify/cli
“`

インストールしたら`amplify`コマンドが使えるようになってるはずです。早速`configure`で設定をしてみます。

“`bash
$ amplify configure
Scanning for plugins.

元記事を表示

自動デプロイ後にCSSが反映されない時の対処法【初学者向け】

##ターミナルでpsコマンドを入力してUnicornのプロセスを確認しましょう
psコマンドは、現在動いているプロセスを確認するためのコマンド

“`
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ ps aux | grep unicorn
“`
実行すると以下のように表示されます

“`
ec2-user 17877 0.4 18.1 588472 182840 ? Sl 01:55 0:02 unicorn_rails master -c config/unicorn.rb -E production -D
ec2-user 17881 0.0 17.3 589088 175164 ? Sl 01:55 0:00 unicorn_rails worker[0] -c config/unicorn.rb -E production -D
ec2-user 17911 0.0 0.2 110532 2180 pts/0 S+ 02:05 0:00 grep –color=auto un

元記事を表示

【AWS】Amazon SNSからHTTP/Sで通知する時、エンドポイントでやることを調べた

# はじめに
Amazon SNSを使ってHTTP/SでAPIを叩いていきます。
ここでは各AWSサービスの説明は省きます。
AWS超初心者です。

# 目的
– Amazon SNSからHTTP/SでAPIを実行する。
– Amazon SNSからWEBAPIを実行するとき、エンドポイント(受信側)でやることはなにか調べる。
(記事がほとんど見つからなかった)

# 構成
今回は、APIはAPIGateway + Lambdaで用意。
![amazon_sns_image.dio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395395/ada46e8f-8a2d-d9db-7858-875a73b593ef.png)

# エンドポイント(受信側)でやること
[AWSの公式ドキュメント](https://docs.aws.amazon.com/ja_jp/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html)を見たら、やることは大きく分

元記事を表示

AWSサーバレスで(SPAではなく)画面遷移型のWebアプリをつくる

# 経緯
AWSサーバレスを採用してWebアプリ(画面)を作ることになりました。コンシューマ(一般ユーザ)向けの画面ではなく、企業向けの管理画面です。

メンバーの皆さんにReactとかを学んでいただく時間的な余裕はなかったため、SPAではなく、メンバーの皆さんに経験のある「画面遷移型」の構成にしました。

ただ、AWSサーバレスで画面遷移型のWebアプリを作る、という事例を見つけることができず、実現方式をあれこれ考える必要がありました。構成が固まるまでに悩んだことや、自分なりの解を記事にすることで、同じようなことに悩まれている方のヒントになればと思ってます。

# アーキテクチャ

スクリーンショット 2020-08-08 21.04.25.png

ポイントは以下のとおりです。

* Lambdaでは[aws-

元記事を表示

Amplify + AppSync(graphQL) + DynamoDB でどんな感じでリソース作られるのか見てみる

だいたいこのあたりのシリーズです。

Amplify + AppSync + Cognitoで読み書きの制御を試してみる
https://qiita.com/ikegam1/items/4868b8a2b473e7ec8f85

## やる事
amplify側で `amplify add api` やら `amplify push`やらするとして、DynamoDB側のGSIとか制御できるのかどうか気になったので試してみる回です。

## 目次

1. 初期設定
2. スキーマ作成
3. DynamoDB確認
4. 参考

## 1. 初期設定

今回は下記が終わっているものとします。

– amplify cilインストール (4.24.3 でした)
– `amplify add auth`によるcognitoの設定
– `npx create-react-app react-amplified` reactかつ *react-amplified* ってプロジェクトフォルダで進める
– プロジェクトフォルダ内での `amplify init`
– 実行環境はWSL2上のubuntu18

元記事を表示

Amazon LightsailでFX自動売買サーバーを構築する

FX自動売買をするため、MetaTrader4(MT4)にてEA(自動売買プログラム)を
24時間365日動かす環境として、[Amazon Lightsail](https://aws.amazon.com/jp/lightsail/)を使ってみた

# 概要
## Amazon Lightsailとは
– VPS(仮想専用サーバ)を提供するサービス
– ネットワークからサーバーまでの構築および接続設定までマネージドされている
– 追加でELBによる冗長構成、RDS、CDNを利用可能
– バックアップをEC2にエクスポート可能
– 冗長構成をとっている場合はSLAは99.99%

### 最低限の料金
– インスタンス
– ストレージ
– データ転送(1TB/月を超えた分)

### EC2ではなくLightsailを選んだ背景
– とりあえず動かす環境がほしい
– 構築コストが比較的低い
– 細かいネットワーク要件は不要
– 非機能要件が難しくない
– 大量の通信なし
– 計算量も多くない(EAによる)
– 維持費が明確
– 導

元記事を表示

ECSなコンテナにSSM Parameter Storeの値を渡して保持させる

# はじめに
ECSの環境変数機能のちょっとニッチな使い方。
コンテナに固め込んで起動することから、動的に変更することができなくなるので注意。環境情報はコンテナから切り離すというプラクティスから離れるアンチパターンであることを意識して、コンテナ化するプロダクトがクラウドにリフトするだけのケース等やむを得ない場合だけ利用することを推奨。

# SSM Parameter Storeの参照方法
コンテナのアプリケーションからSDKを使って参照するという方法もあるが、もっとお手軽に実装するのが、ECSの(正確にはタスク定義の)環境変数を使うのが良い。

[以前の記事](https://qiita.com/neruneruo/items/ff6747a4129a5b52e6c6#ecs%E3%81%A7%E3%82%82%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86)で書いた「コンテナの編集」⇒「環境変数」から設定可能だ。プルダウンで「ValueFrom」を選択して、Parameter StoreのARNを指定する

元記事を表示

OTHERカテゴリの最新記事