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

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

【学習まとめ】AWSクラウドプラクティショナー その3

# AWS Well-Architectedフレームワーク

## 概要
+ クラウドでの運用におけるアーキテクチャのベストプラクティス。
+ [AWS Well-Architectedフレームワーク](https://aws.amazon.com/jp/architecture/well-architected/)
+ [【PDF】AWS Well-Architected フレームワーク 2019年7月](https://d1.awsstatic.com/whitepapers/ja_JP/architecture/AWS_Well-Architected_Framework.pdf)

## 5本の柱
1. 運用上の優秀性
+ システムはビジネス価値を提供するために実行される。
+ このシステムに対するモニタリングやサポートのためのプロセス・⼿順を継続的に改善・向上する機能。
2. セキュリティ
+ 情報、システム、アセット(資産)に関するセキュリティ保護機能。
+ リスクに対する評価や軽減などの戦略を通じてビジネスに価値をもたらす、
3. 信頼性

元記事を表示

Kinesis FirehoseからSplunkにデータ取り込む際にハマった サーバ証明書周りの設定

## はじめに

これまで様々なAWSのログをSplunkに取り込んできましたが、Kinesis Firehoseを使った VPC Flowログの取り込みの際にハマった サーバ証明書の取得(ACM)やそれを利用するために必要なサービス設定まで備忘録のためにまとめておきたいと思います。

ちなみに今回サーバ証明書はAWSのACMサービスを活用しているため、SplunkもAWS上にある必要があります。オンプレの場合は今回の記事は全く参考になりませんのでご注意を。

## なぜこんなことに

そもそも何故こんな面倒な設定が必要かというと、Kinesis Firehose経由でデータを取りこむためには、SSL通信が必須でして、そのため受信側 (今回はSplunk側)に証明書が必要になります。しかもオラオラ証明書だとエラーになってしまうため、CAの証明証が必要になります。ただ普通に購入すると高い!今回は検証なので安く済ませたいのです。

そこでAWSが提供しているフリーの証明書サービス (ACM) を利用したのですが、サーバに直接埋め込むことができず、利用できるサービスが限られております。その

元記事を表示

【Terraform】CodeBuild の 送信元 > リファレンスタイプ を指定する方法

# 困ったこと

terraformでCodeBuildを構築するにあたって、コンソールでは`送信元 > リファレンスタイプ `で指定していた**リファレンスタイプ**が [terraform(aws_codebuild_project)](https://www.terraform.io/docs/providers/aws/r/codebuild_project.html) の引数に存在しないため、tfファイルでの指定方法がわからなかった。

![terraform-codebuild-01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141934/2cbb7c4e-1ca3-7c29-d6ca-6271c84bb2a1.png)

## 解決方法

tfファイルでは**ソースバージョン(source_version)**で指定する。

“`hcl:main.tf
resource “aws_codebuild_project” “this” {

# 省略

source {

元記事を表示

【学習まとめ】AWSクラウドプラクティショナー その2

# アーキテクチャの設計原理

## Design for Failure
+ 故障に備えた設計
+ 故障を処理するメカニズムで構築すれば、耐障害性の高いアーキテクチャとなる。
+ 具体的には、**単一障害点**(**SPOF**:Single Point Of Failure)をなくすようにする。
+ マネージドサービスは単一障害点にならないように考慮されているため、積極的に利用する。

## コンポーネントの分離
+ クラウドは**[サービス指向アーキテクチャ](https://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E6%8C%87%E5%90%91%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3)**の設計原則を踏襲する。
+ システムのコンポーネントは**疎結合**にする。
+ **マイクロサービスアーキテクチャ**を利用する。
+ **[キューイングチェーン](http://aws.clouddesignpattern.

元記事を表示

【学習まとめ】AWSクラウドプラクティショナー その1

# 概要
AWSクラウドプラクティショナーに向けた学習内容を整理する。

## AWSクラウドコンピューティングの6つのメリット
###1. 固定費(設備投資費)が柔軟な変動費へ (固定の償却コストが変動コストに)
新しいビジネスを小さくはじめられることで、既存システムを維持する予算(TCO)を削減できる。
従来は初期段階で多額の投資が必要であり、償却費用が掛かってしまう。
これが、**「使ったときに使った分だけ」という変動費に変わる**。

###2. スケールによる大きなコストメリット
数十万単位のユーザーがクラウドを利用するため、**規模の経済によるコストメリット**がある。

###3. キャパシティ予測が不要に
トラフィックの増減に応じてリソースの調整やスケールアップ/ダウンをすればよい。

###4. 速度と俊敏性の向上(速度と迅速性の向上)
ITリソースをすぐに調達することが出来る。(速度の向上)
結果、検証や開発にかかるコスト、時間が減るため、組織の俊敏性が上がる。

###5. データセンターの運用と保守への投資が不要に
オンプレミスの各種費用(サーバー代、ライセン

元記事を表示

Amazon Athenaでパーティショニングを設定して複数のALBのログを高速&安価に検索する

# この記事の内容
1. ALBのアクセスログに対してAthenaで検索ができるようにする
2. 複数のALBのアクセスログを串刺しで検索ができるようにする
3. テーブルにパーティショニングを設定する。検索条件に日付を加えることで不要なスキャンを減らし、Athenaを安価に利用できるようにする

# やり方
1. https://github.com/netebakari/athena_access_log を `git clone` する
2. `alb.py` を実行する
3. テーブルと `alb_logs_2020` というビューができるので好きに検索できる

# 前置き
読み飛ばしていいので閉じておきます。

Athenaと料金について

## Athenaってなに
* https://aws.amazon.com/jp/athena/
* S3に置いてあるテキストファイル(gzip圧縮可)に対して検索ができるサービス
* あらかじめテキストファイルの書式に応じたテーブルを作成しておく必要がある
* 料金はス

元記事を表示

【AWS】Rails+MySQL+DockerアプリをEC2にデプロイする

ポートフォリオをやっとAWSにデプロイできたんですが、
地獄のような日々だったのでその孤軍奮闘を記します。

#前提
– Rails+MySQL+Dockerアプリがある
– Githubにpushされている
– AWS登録済

#参考サイト
主にこちらのサイトに沿って作業を行いました。
[DockerコンテナをEC2で起動と公開](https://qiita.com/takuyakawaguchi/items/057165b26fac88641ff1)

インスタンスの設定などはこちらも参考にさせていただきました。
[無料!かつ最短?で Ruby on Rails on Docker on AWS のアプリを公開するぞ。](https://qiita.com/at-946/items/1e8acea19cc0b9f31b98)

ぶっちゃけこの2サイトを参考にしていただければ特に問題なくコンテナは立つと思うのですが、
それ以前にも他のいろんなサイトを参考にしすぎて環境がかなりぐちゃぐちゃになっており、
中々デプロイできなかったです。

あんまりググりすぎるのもよくないですね。
似た様

元記事を表示

AWS Amplify フレームワーク 入門メモ

# 概要

AWS Amplify(アンプリファイ) フレームワークの入門ページ ([Getting Started] (https://aws-amplify.github.io/docs/js/start?platform=purejs)) を読みながら、基本的な利用方法を学んだときのメモです。

**環境**

* Windows 10 Professional 1903
* aws CLI 2.0.7
* amplify CLI 4.18.0
* Node.js 12.16.2
* npm 6.14.4

**参考**

* [AWS Amplify] (https://aws.amazon.com/jp/amplify/)
* [Amplify フレームワーク] (https://aws.amazon.com/jp/amplify/framework/)

# Amplify CLIのインストールと設定

Amplify CLIは、Amplifyフレームワークのコンポーネントの1つで、コマンドラインでプロジェクトの作成やバックエンドサービスの構築が行えます。

## 前提

元記事を表示

AWSのサーバレスサービス試してみた (Lambda・DynamoDB・APIGateway)

AWSの花形と言えばサーバレスのサービスだろうと思ったので
awsのサーバレスサービス(Lamda)を中心に簡単な設計概念を解説してから
lamdaのハンズオン出来るように記事として書き起こしてみる。

###参照:これだけでOK:awsアソシエイト
https://www.udemy.com/course/aws-associate/learn/lecture/13595998

##このハンズオンで実施する内容
1.Lambdaと連携するDynamoDBの構築
2.Lambdaの構築
3.API GatewayによりAPIを構築する

##今回構築するアーキテクチャ
apiを介してlambdaを呼び出して、lambdaがdynamodbからデータを取得するという関数を実行してその関数の実行結果に基づいてapiにdynamodbの取得した結果がapi側で取得されるという流れを作る。
![WS000001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/99495/faa7be8c-9a96-632

元記事を表示

AWSのCI/CDサービスCodeDeploy、CodePipelineを試してみた

黒川さんの動画でCodeDeploy、CodePipelineを学んだので
活字でもハンズオン出来るように記事として書き起こしてみる。

参照:【はじめてのCI/CD】AWSでやってみるDevOps最初の一歩、CodeDeploy、CodePipelineを使った自動デプロイのハンズオン

AWSのCodeシリーズの解説:
コードをサーバまで運んでくれるので便利
CodeDeploy、CodePipeline

github→codedeploy→internetgateway→ec2

このサービスを使うには3つの設定が必要。
・AWSのVPC内の設定
・githubクライアント側の設定
・code系の設定

————————————————————————–
##AWSのVPC内の設定
・ルートテーブルにインターネットゲートウェイへのルートテーブルを設定していること
・セキュリテ

元記事を表示

【初心者】AWS Managed Microsoft AD を試してみる (AWSマネージメントコンソールでのログイン認証用途)

# 目的
– AWS上でのAD連携の案件があったため、確認したことをまとめておく。

# AWS Managed Microsoft AD とは(自分の理解)
– AWS Managed Microsoft AD は、その名の通りMicrosoft ADがマネージドサービスとして提供されているもの。
– デフォルトでの2重化、OSメンテナンス不要等のメリットがある一方、RDP接続ができないので、ドメインにユーザを追加するには、別途管理ツールをインストールしたクライアントを用意しないといけない等の不便な点もある。

# やったこと
– AWS Managed Microsoft AD を作成。ドメイン:mksamba-aws.com
– EC2(Windows Server 2016)インスタンス上に通常のADを作成(オンプレADみなしとして)。ドメイン:mksamba-onpremises.com
– AWS Managed Microsoft AD と 自作AD間で、信頼関係を設定。
– AWSマネージメントコンソールへのログオン時の認証に、AWS Managed Microsoft

元記事を表示

Amazon SageMaker Ground Truth を使ってみた

[Amazon SageMaker Ground Truth](https://aws.amazon.com/jp/sagemaker/groundtruth/)を試してみて引っかかったこと

## 概要

[Amazon SageMaker Ground Truth を試してみる](https://qiita.com/SatoshiGachiFujimoto/items/e4ab624d3527237ca9e9)

## 問題点

– ワーカーにはファイル名が表示されない
⇒ 似たようなものが写っている画像をラベリングする場合、 画像のみで判別できるよう工夫が必要

元記事を表示

EC2インスタンスの複製とEIPの作成と割り当て手順

# 概要
RDSのDBエンジンのバージョンアップ作業をやったとき、バージョンアップ前後で挙動変わらないよね確認をする際に必要になった。
またなんかで使うだろうしせっかくなのでまとめておく。

# 手順
以下を参考に実施する。

– EC2の複製
https://qiita.com/murachi1208/items/8be3cd006d31f1f81ee4
– EIPの作成と割り当て:https://qiita.com/toyokky/items/5b94c1fe9610663881c1)

以下の手順は実際に試してみてこうやっとけばもっと効率的だったな、とかそもそも記載されていなかったものについての補足。

## 1. EC2の複製
### 1.1. 実施前にやるべきこと 
あらかじめEC2のコンソールで、コピー元EC2インスタンスの以下の情報を調べて記録しておく。

**確認できる場所:コピー元インスタンスの「説明」タブ**

確認項目|
—|
インスタンスタイプ|
ネットワーク(VPC ID)|
サブネット(サブネットID)|
自動割当パブリックIP|
停止-休止動作|

元記事を表示

Fin-JAWS 第11回 最近の金融AWS事情 ~2020春〜

#[オンライン開催](https://fin-jaws.connpass.com/event/172478/presentation/)
Fin-JAWS#11に初Chime参加させていただきましたので、自分的に参考になった点を備忘録として整理しておきます。

貴重な情報を提供してくださったスピーカーの方々、いつもイベントを企画されているスタッフの方々には、とても感謝しております。しかも資料&動画を公開している大判振る舞い!ありがとうございます。:bow:

##最近の金融AWS事情 ~2020春〜
– **ビジネス・インパクトを生みだす**必要がある
– **人材育成・企業文化の革新**の必要性
– 大阪リージョン
– 21年初頭リリース予定
– 3AZs
– AWS Data Exchange = データのマーケットプレース
– 最近はCOVID-19に関するデータが公開されている
– ソフトウェアのAWS Marketplaceにイメージは近しい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazo

元記事を表示

Amazon Chimeで開催されるオンラインカンファレンスに参加するときの手順 (参加者編)

Amazon Chimeで開催されるオンラインカンファレンスに参加するときの手順メモです。

– Amazon Chime: https://aws.amazon.com/jp/chime/
– Amazon Chimeの料金: 参加者にはかかりません (https://aws.amazon.com/jp/chime/pricing/)

まだ、実開催していないので、仮バージョンになります。

# 事前準備

カンファレンス参加者に必要なのは、Chimeアプリだけです。(ChimeのBasic機能を利用)

1. Amazon Chimeアプリをインストールする。(ウェブアプリケーションを利用してもOK)
* https://aws.amazon.com/jp/chime/download-chime/

# カンファレンス参加 (iOS版の例)

1. Amazon Chimeアプリを起動する。
2. “Join a meeting without an account”をタップする。
3. 主催者から伝えられたMeeting IDを”Meeting ID”欄に入力して、矢印

元記事を表示

Amazon Linux 2にApacheをインストール&起動

#Apacheをインストール

yumを使います。

“`shell-session:yumのアップデート
sudo yum update
“`

“`shell-session:Apacheインストール
sudo yum install httpd
“`

#Apacheの起動、停止、自動起動

“`shell-session:起動
sudo systemctl start httpd.service
“`

“`shell-session:停止
sudo systemctl stop httpd.service
“`

“`shell-session:再起動
sudo systemctl restart httpd.service
“`

またインスタンス起動時に自動で起動させることができます。

“`shell-session:自動起動
sudo systemctl enable httpd.service
“`

“`shell-session:自動起動停止
sudo systemctl disable httpd.service
“`

元記事を表示

Amazon Linux 2にnginx をインストール&起動

nginx をインストールするにはExtras Libraryを使用する。

#nginx をインストール

##Extras Libraryの一覧

まずはExtras Libraryの一覧を確認します。

“`shell-session:コマンド
$ amazon-linux-extras list
“`

“`shell-session:結果
0 ansible2 available \
[ =2.4.2 =2.4.6 =2.8 =stable ]
2 httpd_modules available [ =1.0 =stable ]
3 memcached1.5 available \
[ =1.5.1 =1.5.16 =1.5.17 ]
5 postgresql9.6 available [ =9.6.6 =9.6.8 ]
6 postgresql10

元記事を表示

AWSでコスト削減する時の流れ

## 請求書をみる
「Billing → サイドメニューの請求書」で表示する。
IAMユーザーに請求情報のアクセス権限がないと見れないので注意。

 [アカウントの請求情報の表示を IAM ユーザーに許可するにはどうすればよいですか?](https://aws.amazon.com/jp/premiumsupport/knowledge-center/iam-billing-access/)

先月を選択して、1ヶ月間でどのサービスにどれくらいのコストがかかっているかを確認する。
使っている心当たりがないサービスがないか確認して、ある場合はリソースを削除するなり機能オフにするなり対応する。たまに、検証のために試しに使ってみたサービスがそのままになっていて課金されている場合がある。

さらに各サービスの詳細を確認する。
例えば、EC2の場合はどのインスタンスタイプを何時間分使っていていくらかかっているか、EBSにいくらかかっているか、ELBにいくらかかっているか等が確認できる。

料金体系を把握していないものがあったらAWS公式ページで確認する。
「〇〇(EC2、EBSなど) 料金」でグ

元記事を表示

⑤AWS仮想サーバを利用する、AWSアカウント作成 + EC2インスタンス作成(2020.4時点)

ローカルでDocker、docker-composeを使用して開発環境を整えてきました。

これから、Docker+Railsアプリを本番環境に上げていきたいと考えています。
今回は、まず、AWSサービスを利用開始する+試しにEC2インスタンス作成してSSHログインする過程を記事にします。

#おさらい
ローカルRails+MYSQLアプリ開発中に、Dockerを実装する内容です。
[過去の記事]
[①Dockerを初めて導入して基本操作する (2020.4時点)](https://qiita.com/SakagamiKeisuke/items/4455631886b1c15a3b69)
[②Dockerを初めて導入してRails sする (2020.4時点)](https://qiita.com/SakagamiKeisuke/items/d64ee54c22378223659a)
[③Docker MYSQLにデモデータ(seed_fu)を投入する(2020.4時点)](https://qiita.com/SakagamiKeisuke/items/4ce1c4a4921abb57

元記事を表示

EBSのボリューム確認

#EC2にSSHで接続して以下を実行

“`shell_session
df -hT /dev/xvda1
“`

こんな結果が返ってきます。

“`shell
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 xfs 8.0G 3.0G 5.1G 37% /
“`

Size:全容量
Used:使用容量
Avail:空き容量
Use%:使用容量(%)
Mounted on:マウントされている場所

元記事を表示

OTHERカテゴリの最新記事