AWS関連のことを調べてみた2019年12月03日

AWS関連のことを調べてみた2019年12月03日

Amazon SNS → AWS Lambda → Slack → AWS ChatbotでAWSコマンドを実行する

AWSからSlack上でAWSコマンドが実行できる、という発表があったので、直接入力ではなく他のサービスからの書き込みでも対応しているのか確認してみた。

https://aws.amazon.com/jp/blogs/devops/running-aws-commands-from-slack-using-aws-chatbot/

![Product-Page-Diagram_Chatbot-How-it-Works_Console_FINAL@2x_cropped-1024×433.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102769/c5a1a90c-1985-4b1d-8e41-1d0ef3ff1f29.png)

# 事前準備はスキップ
SlackとAWS Chatbotの紐付け設定などは本家サイトにあるのでスキップ。

# Lambdaの実装
こんな感じのシンプルなもの

“`python
import json
import os
import logging
import ur

元記事を表示

mockmockでAWS IoT Coreにデータを送るプロジェクトを作成する

こんにちは、mockmockチームエンジニアの岡嵜です。

本記事は [mockmockアドベントカレンダー](https://qiita.com/advent-calendar/2019/mockmock) 3日目の記事です。
昨日は「[mockmockでサーバー(Nginx)にデータを送るプロジェクトを作成する](https://qiita.com/withelmo/items/7e78359965d0809f2120)」でした。

今回は、**mockmock** から **AWS IoT Core** にデータを送るプロジェクトを作成する方法をまとめます。

## 今回やること

AWS IoT Coreにmockmockからデータを送るプロジェクトを作成します。

構成としては以下の通りです。

Untitled_New_Diagram_-_Cacoo.pngAWS-CDKによる複数環境の管理を楽にするツールを作った

# 概要

aws-cdkをさらに便利にするツールをnpmに公開しました!!
本番環境、検証環境など複数環境を管理するのに便利かと思います。お試しください。

![cdk.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322301/5372e723-4239-629f-4957-4722ef21aea8.gif)

https://github.com/masahirompp/cdk-env-manager

それでは以下詳細。

# aws-cdkの考慮事項

aws-cdk(またはCloudFormation)でAWS環境を管理する場合、以下のようなことを考慮すると思います。

– **A**. 複数の環境(production, staging, developmentなど)を管理したい
– 環境は無限に増える前提でコーディングすべき
– (ケース・バイ・ケースだが)1つのAWSアカウント上で、複数環境を管理したい
– **B**. デプロイ時のパラメータ(URL, Instanc

元記事を表示

社内slackにVIPチャンネルを作った話

[ABEJA Advent Calendar](https://qiita.com/advent-calendar/2019/abeja)の1日目です。

# はじめに

昨年はABEJA Platformに関するAdvent Calendarでしたが、今年はプラットフォームに限らず幅広い技術を扱おう、ということで縛りを作らずに様々な技術を紹介していきます。

さて、皆さん、社内でのコミュニケーションツールは何をお使いでしょうか。色々なツールがあると思いますが、Slackを使っている所が多いのではないかと思います。Slackはとても良いツールなのですが、使いこなす会社側にその運用ルールが委ねられています。中でも、DMやプライベートチャンネルでの秘密の会話による情報格差などが発生することが問題になり、オープンチャンネルに限定している会社も多いのではないでしょうか。しかしながら、オープンに会話をすれば、皆が平等かつ平和に会話ができるか?というと、全くそんなことはありません。オープンにすると下記のような問題が発生します

### 問題1:心理的安全性が確保されない

様々な技術力、ポジション

元記事を表示

データのコスト2019

2019年末時点で大量のデータをクラウドに上げて保管する際の費用感を調べてみました。費用感を出すのが目的なのでどのサービスが最安かは重要ではないです。
抜け漏れや計算間違いがあればご指摘頂けるとありがたいです。

# TL;DR
## データ保管

|保管レベル|最安単価(GB・月)|最安サービス|
|:–|–:|:–|
|RDBMS|9.9円|GCP Cloud SQL(HDD)|
|オブジェクトストレージ|2.14円|Azure BLOBストレージ(ホット・LRS・500 TB 超/月)|
|アーカイブ|0.109円|Amazon S3 Glacier Deep Archive|

## データ転送(上り)

|転送経路|最安単価(GB)|最安サービス|
|:–|–:|:–|
|モバイル|51.7円|BIGLOBE biz. M2M専用プラン/SMSなし/上り高速・下り低速|
|光回線|5.56円|フレッツ光+上り30GB制限の月額5000円プロバイダ|
|オフライン転送|0.344円|AWS Snowball|

# レギュレーション

– 逓減課金(500TB未満い

元記事を表示

AWS ソリューションアーキテクトアソシエイト 受験記(作成中だけど先行公開中)

#はじめに
AWS認定試験の登竜門的な資格であるSAA(AWS Solutions Architect Associate)ですが、どうやら現行の試験バージョンは2020年3月22日で終了し、新バージョンの試験が始まるようです。他のベンダ試験と同様に大きな試験範囲の変更はないと思いますが、参考書などの試験対策については対応は遅れる事が予想される為、現バージョンで受験するほうが良さそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/375633/44144d43-17c9-db40-7609-301520148eee.png)
#勉强前のAWSの知識レベル
まったくありませんでした。もともとはpythonの資格取る予定でしたが、社内面談で「pythonの資格取るよりは今後役に立つ」と言われ、それが受験する動機になりました。

* AWS実務経験なし
* 個人的にも触ったことなし
* クラウド関連の勉強会、セミナーの参加もなし
* 5年ほど前に「Amazon Web Services

元記事を表示

AWS CDKを使って ほぼ一撃で静的サイトを構築する

# AWS CDKとは?
AWS において Infrastructure as Code (以下 IaC) を実現するためのツールです。
CDK 登場以前も CloudFormation を利用して JSON や YAML での IaC は実現可能でしたが、

– 複数のスタックに共通する構成を定義しづらい
– ほぼ同一構成なリソースを複数作成するのが面倒

という課題がありました。
CDK は プログラミング言語を使って定義できるので、
IF文によるパラメータ切り替えや、ループ処理による複数リソース定義が可能です!

利用できるプログラミング言語は、

– TypeScript
– Python
– .Net
– Java

です。

今回は、サンプルコードが充実している TypeScript を使用して、CloudFront + S3 の静的サイトを構築してみます。

# 前提
AWS CLIが利用できる状態。
※AWS CDKは内部的に AWS-CLI と CloudFormation を利用して、リソースを操作しています。

# 構築手順
## CDKのインストール
“`sh

元記事を表示

Namespaceの異なるIngressリソースを1つのALBで対応する

# はじめに
EKSでIngressを使用するときはALB Ingress ControllerやNGINX Ingress Controllerが必要となります。LBを作成するよう設定するとそれぞれALB、CLBを作成します。CLBはALBより値段が高いのでALBに寄せた方が良いです。ただ、ALB Ingress ControllerはNamespaceの異なるIngressリソースに対応しておらず、デプロイした分ALBが作成されてしまいます。

本記事ではALB Ingress ControllerとNGINX Ingress Controllerを組み合わせて1つのALBで済む方法を紹介します。概観は次のようになります。

スクリーンショット 2019-12-02 23.31.32.png

# 環境情報

元記事を表示

Amazon SQSからAWS Lambdaを起動する構成のTerraform

## はじめに
SREエンジニアやってます。@hayaosatoです。
今回はサーバレスなアーキテクチャを組む上で超便利なAWS Lambda(以下、Lambda)をAmazon SQS(以下、SQS)から呼び出してみたいと思います。
コードは[こちら](https://github.com/hayaosato/aws-sqs-lambda)

## アーキテクチャ

## Lambda
Lambdaのリソースは以下のように作ることができます。
アプリケーションはslack通知のスクリプトにしました。

“`tf
// IAM Role for Lambda Function
resource “aws_iam_role” “default” {
name = var.service_name
description = “IAM Rolw for ${var.service_name}”
assume_role_policy = file(“${var.service_name}_role.json”)
}

resource

元記事を表示

AWS Cloud9環境でdocker-composeをできるようにする

## はじめに

とある事情でAWS Cloud9でローカル開発環境をdockerで構築しようとした時の備忘録。

今回は全てデフォルト設定でAmazonLinuxのインスタンスを立ち上げました。
OSバージョンはこれ(Amazon Linux2じゃないんだね…)

“`
$ cat /etc/system-release
Amazon Linux AMI release 2018.03
“`

ちなみにDockerはデフォルトでセットアップされてました。

“`
$ docker -v
Docker version 18.09.9-ce, build 039a7df
“`

Docker-composeは存在しない模様

“`
$ docker-compose -v
bash: docker-compose: command not found
“`

# 導入手順

[公式ドキュメント](https://docs.docker.com/compose/install/)を参考に導入してみる

Docker Composeの現在の安定リリースバージョンをダウンロード

元記事を表示

ドローンを活用した避難勧告システム

# はじめに
ドローンを使ったシステムの考案をします.実用的な運用を目指したシステムの開発を目指します.ただの提案だとつまらないので実際に動かすところがゴールです.
*ドローンで救える命がある*

#背景
日本における自然災害は年々増加傾向にあり,人的被害や金銭的被害への対策が求められている.また,自宅を安全だと思い込み避難しない人は多く,よりパーソナルに危機感を煽る方法が模索されている.西日本豪雨の被災者310名に行ったNHKのアンケートでは対人的な呼びかけで避難をするきっかけになった人は全体の約3割存在している.
はじめてのECS(Fargete)

#はじめに
ECSの動きがドキュメントで読んだだけではわかりにくかったので、動かしながら試して行こうと思います。
ECSってなんだかコンテナだし難しそう!って思ってたのですが、**サンプルは「次へ」押していくだけで完成します。**
動かしたほうが理解しやすいので、まだ触ったことない方はお薦めいたします。
**`htpd`コンテナが実際に動いてブラウザで画面が見えるところまで確認していきます。**
所要時間:15~20分です。

# 手順

– まずは、「今すぐ始める」を選びました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/216527/a6dccb7b-9969-ef87-3549-c3720b72e6fb.png)

## コンテナとタスク

### コンテナの定義
– まずは「コンテナの定義」です。図の一番内側です。
– 使用する`docker image`を決めます。
– ようく見ると、`httpd:2.4`のイメージを利用し、0.5GBのメモリ予約、0.25のvCPU(1

元記事を表示

Chalice x Circle CI 環境における CI/CD について

# 序文
https://chalice.readthedocs.io/en/latest/

AWS Chalice は、AWS Lambda と API Gateway などを組み合わせて、Heroku のような手軽さで Serverless 環境を構築することができるフレームワークです。
現在のところ開発言語は Python しか対応していない(今後も対応する?かは不明)ですが、その制約を受け入れれば他の Serverless フレームワークよりも手軽で開発しやすい環境が提供されているように思います。
私の環境でも、簡易的な API の作成や、バッチ、cron 処理など、かなり広範囲の処理について Chalice を用いて開発をすることが多くなりました。

当記事では Chalice でできることの説明は割愛します。

そして、テスト周りについてはすたじおさん (https://qiita.com/studio3104) が記事を書くようなので、私の方では Chalice で開発する際の CI/CD 環境をどのようにするか、自分の実例を基に記事を書きたいと思います。
なお、ここで

元記事を表示

DynamoDB移行小話〜移行の恩恵及び注意点〜

## はじめに:
弊社で開発しているプロダクトのデータベースについて、オンプレのRDBからAWSのNoSQLDBであるDynamoDBに移行しましたので、移行を経験した上で得た恩恵と移行の注意点についてお話しさせて頂きます。

## DynamoDB移行による恩恵
今回移行対象となった記録データはユーザとともに増加傾向であり、大量のデータ保管が可能なAWSとの相性は良好でした。
本項では移行を行なったことで得られた恩恵について紹介いたします。

### スケールアップが容易に
DBへの負荷への対処がオンプレに比べて容易なのが最大の恩恵となりました。
テーブルサイズにも実用的な制限がないのも魅力です。

### オンプレDBと比べてカラム追加が簡易的
基本的に「入れれば入る」ようになっており、カラムについても数値や文字列などの基本的なものからJsonや配列まで使用可能です。

ただしカラム単位での削除ができないので、施策を入れる時に

– 事前の設計
– 今後の追加開発での考慮

がないと**参照しないで無駄にサイズを圧迫するデータを生むだけ**なので気軽に追加ができるとはい

元記事を表示

IAM本を読んでみた

ちょっと時が過ぎましたが書評を書いてみようかと。
ちなみに自分は物理本派です。

IAM(Identity and Access Management)の話です。

作者の佐々木さん(@dkfj)はAWS関係で、色々な書籍を出されており、先日も執筆されたAWS試験対策本のおかげ(他2つ含む)で、
AWS Certified Solutions Architectに見事合格することができました。
その話は以下にて、
[AWS Certified Solutions Architect 受験記](https://qiita.com/keni_w/items/9f2cdda4a6dad636e239)

その佐々木さんが技術書典で本、しかもIAMに関する本を出されるとのこのことで、

IAMってAWSでは結構重要な機能ではあるものの、特化した本ってなかったなと思って、技術書典自体も初参戦でしたが、参戦して、ゲットしてみました。

基本的なルール、

rootは使うな、MFAは設定すべし、キー情報は公開する

などは、守っているものの、ちゃんと理解してない点があったなと読ん

元記事を表示

手順メモ:AWS Lambdaでzipファイルをアップロードするまでに必要なこと

# やりたいこと
– lambdaでapiを叩きたい。
– python3でやるためには必要なライブラリをlambdaにzipでアップロードする

# 前提
– lambdaのランタイムはpython 3.7
– awsのlambdaの画面で関数の基本情報(関数名、ランタイム、アクセス権限)を作成しておく

# やり方
– [ ] アップロードするzipファイルを作成する
python3なので、仮想環境を作成する

“`shell:実行コマンド

$ python3 -m venv dev
$ . dev/bin/activate
$ mkdir upload
$ cd upload/
$ pip install –upgrade pip
$ pip install requests -t ./
$ ls -la
total 8
drwxr-xr-x 14 ~ 省略 ~ .
drwxr-xr-x 6 ~ 省略 ~ ..
drwxr-xr-x 3 ~ 省略 ~ bin
drwxr-xr-x 7 ~ 省略 ~ certifi
drwxr-xr-x 10 ~

元記事を表示

S3 Select

#◾️S3 Select とは#
**オブジェクトから必要なデータのみを抽出するよう設計された、新しい Amazon S3 機能で、パフォーマンスを大幅に改善し、S3 のデータへのアクセスに必要なアプリケーションのコストを削減することができます。**

ほとんどのアプリケーションでは、オブジェクト全体を取得した後、詳細な分析に必要なデータのみをフィルタで除外する必要があります。

S3 Select を使用すると、アプリケーションは、Amazon S3 サービスへのオブジェクト内にあるデータのフィルタリングやデータへのアクセスといった手間のかかる作業から解放されます。

アプリケーションでロードおよび処理しなければならないデータ量を減らすことで、S3 Select は S3 のデータに頻繁にアクセスするほとんどのアプリケーションのパフォーマンスを最大で 400% 改善することができます。

**ただし、S3 Select の料金は、入力、出力、および転送されたデータのサイズに基づいています。**
**クエリごとに、スキャンした GB あたり 0.00225 USD と、返された

元記事を表示

GhostscriptがCLIから実行できない

## 問題点
ec2イスタンス上で使用できるフォント一覧を確認する際に
ghostscriptで確認しようとしたらこんなエラーが出てgsの起動に失敗した

“`shell
$ gs
GPL Ghostscript 8.70 (2009-07-31)
Copyright (C) 2009 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
GPL Ghostscript 8.70: Cannot open X display `(null)’.
**** Unable to open the initial device, quitting.
“`

## 対処

`-sDEVICE=png256` のオプション追記で実行できた

“`shell
$ gs -sDEVICE=png256
GPL Ghostscript 8.70 (2009-07-31)
Copyright (C) 2009 Artife

元記事を表示

AWS re:Invent 2019で発表された新サービス/アップデートまとめ (2019/12/2更新)

現地組です。とりあえず自身の備忘録を兼ねてまとめています。
できるだけ簡単に振り返られるようまとめていきます。

# 12/1(日)
## AWS DeepComposer
* AWS DeepComposerキーボードを使用し、数秒で完全なオリジナルの曲となるメロディを作成可能
* AWS DeepComposerにはチュートリアル、サンプルコード、トレーニングデータが含まれており、これらを使用して、1行たりともコードを記述することなく、モデルの構築を開始可能
* 音源に対し、ポップ、ロック、ジャズなど編曲が可能
* AWS DeepComposerキーボードは、2020年第1四半期に99ドルで購入可能となる予定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211986/a8e5ac1d-9735-ffd6-a112-c3b2cd40a303.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws

元記事を表示

AmazonLinux2 EC2インスタンス作成後、mysql: コマンドが見つかりません の状態からRDS接続するまで

# 環境
– AmazonLinux2(AWS EC2)

# 目的
AmazonLinux2 EC2インスタンス作成後、既存のRDSにmysqlコマンドを使ってデータベース接続したい。

# つまづいたところ
EC2インスタンス作成後に「mysql: コマンドが見つかりません」というトラブルに遭遇。mysqlがインストールされていないようなのでインストールする。
しかし、mysqlのインストールを試みるものの、mysqlではなく下のように**mariadb**をインストールしようとしてくる。

“`console
$ sudo yum install mysql
:
:
========================================================================================================================
Package アーキテクチャー バージョン リポジトリー

元記事を表示

OTHERカテゴリの最新記事