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

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

Amazon Athenaのユーザー定義関数(UDF)のPreview版を試してみた

Amazon Athenaが遂にユーザー定義関数(UDF)をサポートするようです。
[Amazon Athena Adds support for User Defined Functions (UDF)](https://aws.amazon.com/jp/about-aws/whats-new/2019/11/amazon-athena-adds-support-for-user-defined-functions-udf/)
独自に関数を作成する事で、ビルトイン関数では不可能な処理を実現できるようになります。
Preview版が公開されたので使い勝手を確かめてみました。
# まとめ
* UDFはJava言語の[Athena Query Federation SDK](https://github.com/awslabs/aws-athena-query-federation/)で開発し、AWS Lambdaに登録する
* Athenaから利用する際の構文は以下

“`sql:
USING FUNCTION (col1 ) RETURNS

元記事を表示

Athena+embulk で ETL

# 目的

日毎のバッチで、S3にある ParquetファイルをQueryし、その結果をRedshift(DWH)へ入れたかった。

# 背景

* QueryしたいParquetファイルは Data Lake 上にすべて存在していた。
* 必要なParquetファイルはすべて AWS Glue Datacatalog でテーブル構造が定義されていた。
* Queryした結果をRedshift上にテーブル化し、他のアプリケーションで使いたかった。
* Embulkは本番環境はすでにバリバリ使っていた。

# ということで

これだけ揃ってんなら、AthenaでQueryして、結果をEmbulkでRedshiftに入れればいいんでない。

# 作る

## AthenaでQueryして、結果のCSVファイルを確認する

* AWS CLI でAthenaにQueryを投げる。
* Queryを投げるコマンドはQuery要求を出すだけですぐ終了するので終了を待つ。
* jqコマンドを予め yum か何かでインストールしておく

“`sh
#!/bin/bash

export RESUL

元記事を表示

AWSサーバレスでWebSocketを使ったWEBチャットを作ってみます!

この記事は NTTテクノクロス [Advent Calendar 2019](https://qiita.com/advent-calendar/2019/ntt-tx)の2日目の記事です。

こんにちは。安田と申します。
NTTテクノクロスでAI関連の新製品開発を担当しています。早速本題からズレますけれども、マンガを描くのが最近の息抜きで、次のようなマンガを描いています。

[マンガでわかるデータ連携](https://www.ntt-tx.co.jp/products/dataspidercloud/manga.html?utm_source=qiita&utm_medium=ac2019&utm_campaign=02)
[マンガでわかるAI時代のエンタープライズ・アーキテクチャ](https://www.ntt-tx.co.jp/column/yasuda_blog/20170413/?utm_source=qiita&utm_medium=ac2019&utm_campaign=02)
[マンガでわかるITストラテジー](https://www.itmedia.co.jp/e

元記事を表示

AWS ソリューションアーキテクトプロフェッショナル 合格体験記 (2019/11/28受験)

# この記事について

自分がAWS SAPの試験を受けて、合格するまでにやったことをまとめます。
2019年8月頃に受けようと思い、11月末に合格しました。
(合格点ぎりぎりでした)

# 前提

自分はIT業界5年目の文系出身エンジニアで、SIer的な会社で働いています。
AWSは業務で2年程前から触れる機会はありましたが、がっつり使って何かするということはなかったです。
ただ、新規プロダクトのAWSのアーキテクチャを(課外活動的に)考える機会は時々ありました。
ペーパーテストは得意な方です。
AWS SAAは持っていません。
1年ぐらい前に、DevOps Engineering on AWS のクラスを受講しました。

# やったこと

## 教材

– [AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS

元記事を表示

新卒1年目でハッカソン行ってきたけど、いろいろできたお話。

#ハッカソン行ってきた
**ハッカソンに行って来ました!!!**
新卒1年目。開発もままならない自分がハッカソンに行って体験したことを書いておきます。
先に言っておきますと、言ってよかった!
社内行事で、土日休みを使うのは億劫でしたが、勉強といいきっかけになりました。

#と、言うことでまず自己紹介
– 新卒1年目の19卒。
– エンジニア歴は1年。
– 主にフロントサイドのエンジニア。
– 言語は、PHP・JS・SQL・HTML・CSS。
– 正直プログラミングは自信なし!

#概要
– 1泊2日でチーム戦。
– テーマはaws使えばなんでもOK!

#学んだこと
###awsのサービス多すぎ!
単純に調べれば調べるほどなんでもできる。音声認識をできちゃう。

###Qiitaさんありがとう
先人の教え最強。ありがとうございます。

###awsの公式マニュアルショボい…
更新あんまされてない?導線の説明が無茶苦茶で指示されたボタンがない。

###ググる力=成長速度
考えるのも必要ですが、調べる方が大切ですね。

###環境構築能力の欠如
全然サーバサイドのこと知りませんでした。こ

元記事を表示

AWS CDKでLambdaデプロイしてみた【AWS CDK】

# Advent Calendarはじめました
株式会社うるるでは今年から初の**[Advent Calendar](https://adventar.org/calendars/4548)**を実施しています。
この記事は違うのですが、みんな気合が入っているので興味あるかたは是非ご覧いただければ嬉しいです。
sc_1.png

# TL; DR
早速ではございますが、タイトルについて書いていこうかと思います。
弊社内ではにわかに**AWS CDK**が流行りの兆しを見せてきております!たぶん!
社内でInfrastructure as Codeを推進しているのですが、元々はTerraformでやっていました。(実際既に運用ベースに乗っているものもあります。)
しかしある日、こんなワードを聞いてしまったのです。。

元記事を表示

【AWS EC2】デプロイに1週間かかったので、起こったことをありのままに全て話すぜ!

#はじめに
ただいまプログラミングスクールにて学習する身でございます。
さて、そんな私が初めてデプロイした時にめっちゃ時間がかかったっていう話です。
基本的には、カリキュラム通りにやっていれば問題なくデプロイできるのですが。
な ぜ か アプリを3つ、インスタンスが6つ作るはめになってしまいました。

カリキュラムはちゃんと読もうね!

#序の口
エラーは出ましたが、なんとか対処できるレベルのやつ。

[【AWS EC2】bundler -v -bash: bundler: コマンドが見つかりません
](https://qiita.com/kaorioka09jm/items/c1ed1c7749cb7c84a877)
**→原因:bundllerをインストールするコマンドの入力し忘れ**

[【AWS EC2】$sudo vim /etc/nginx/conf.d/rails.conf 書き込みできない
](https://qiita.com/kaorioka09jm/items/8524733eff31040c3d6f)
**→原因:権限付与のコマンドの入力し忘れ**

[【AWS

元記事を表示

2019年も終わるので、今年GAしたAWS CDKでVPCだけでも作ってみませんか

# はじめに
2019年ももう終わり。
今年GAになり、やろうやろうと思ってたAWS CDK…触ってない人もいるんじゃないでしょうか。
かくいう私も同じです。
今年中に何かを作ってみませんか、という事でまずは土台のVPCだけでも作ってみます。

# AWS CDKとは?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/9038/0016bca8-b693-80ba-2327-923e1c0de4b5.png)

AWSリソースをプラグラミング言語(TypeScript,Python..)を使用してコード化、デプロイできるツールキットです。
プログラミング言語を使うことで、以下メリットがあります。

* Cloudformation(以下Cfn)テンプレートでは詳細/冗長になってしまう設定を簡潔に表現
* AWSベストプラクティスがライブラリに組み込まれており意識せず利用
* IDEや型補完の開発
* Cfnテンプレートとして出力も可能なので、現在のCfn資産にも互換性/移行もやりやすい

元記事を表示

【AWS EC2】自動デプロイ設定後に、修正ファイルを再デプロイする手順

①まずデスクトップアプリでgithubのmasterに編集ファイルをpushしてマージする。

②EC2でログインして該当ディレクトリまで移動

EC2にログイン

“`
$ cd .ssh
$ ssh -i chat-space.pem ec2-user@[生成したElastic IP]
“`
アプリまで移動

“`
$ cd /var/www/app/
“`

③②の位置でマスターをpull

“`
$ git pull origin master
“`
これで変更がEC2サーバー上にきたか確認

④念の為プロセスを切る

“`
$ ps aux | grep unicorn
$ kill プロセス番号
“`

⑤ローカルで自動デプロイする。

“`
$ bundle exec cap production deploy
“`

⑥デプロイしたIPで確認

元記事を表示

「Cloud functions VS AWS Lambda」を「お金」と「始めやすさ」で勝手に比較してみた

# ▶ 対決条件
今回は最近流行りのサーバーレスの中でも「Cloud functions」と「AWS Lambda」の2つがどう違うのかを個人的な観点で勝手に比較してみることにしました!

とはいえ漠然と比較するとしても比較のしようもないので、今回は「 *お金* 」と「 *始めやすさ* 」という2つの軸で調べて比較することにしてみました!

* お金
* 関数に 512 MB のメモリを割り当て、3,000,000 回実行し、毎回の実行時間が1秒間だった場合にかかるお金
* 実行回数が1,000万の月
* 実行時間が100msecの月

* 始めやすさ
* ドキュメントやチュートリアルなどの充実度に限定

# ▶ まずは前哨戦、各種サービスの謳い文句を比較

Cloud Functions
> イベント ドリブンなサーバーレス コンピューティング プラットフォーム
> * クラウドで簡単にコードを実行、スケーリング
> * 自動スケーリングによって実現される高い可用性と耐障害性
> * プロビジョニング、管理、パッチ適用、アップデートのためのサーバーが

元記事を表示

素人がAWSに手を出してみた様子-3

#素人がAWSに手を出してみた様子-3

どうもはじめまして。

前回
[【素人がAWSに手を出してみた様子-2】](https://qiita.com/entakar/items/a77a1448161efc90eb31)
ではEC2でインスタンス作成→とりあえずindex.htmlを表示してみよう
を行いました。

そして第3回は**lambda**

バタバタして前回から更新が大幅に遅くなった。。。だめだなぁ

##lambdaを使ってみよう
まずはサービスから【コンピューティング】→【Lambda】を選択します。

スクリーンショット 2019-12-01 22.56.00.png

オプションを選択しますが、今回は【一から作成】を選択します。
ランタイムは【Node.js】を選択しました。

元記事を表示

【Win10】AWS CLIでS3にファイルをアップロード & バックアップ用のバッチファイルを作成する

# 概要
本書ではWindows10にAWS CLIをインストールし、S3にローカルのファイルをアップロードします。またAWS CLIとS3を利用したバックアップ用のバッチファイルを作成します。

## 0. 前提条件
* AWS S3のバケットを作成していること。
* IAMユーザーを作成し、AWS S3のIAMロールを適用していること。
* 作成したIAMユーザーのアクセスキーID,シークレットアクセスキーを生成していること。
* <注意>AWSを不正に利用されないために、アクセスキーIDとシークレットアクセスキーの取り扱いに十分気を付けてください。
* 本書ではWindows10 Proを使用します。

## 1. AWS CLIのインストール

1. https://aws.amazon.com/jp/cli/ に移動し、Windows用のAWS CLIをダウンロードする。
![001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307261/88277c8e-2fcf-b06b-2ca9-b

元記事を表示

lambdaを勉強した①

今更ながらlambdaについて勉強しました。
今回は概要についてです。

#lambdaとは
– サーバーの管理を気にすることなくコードを実行できるサービス
– ほかのAWSのサービスをトリガーにコードを実行できる
– APIのように使うことができる
– 課金されるのはコードを実行した時間と、回数によって課金(月に100万リクエストまで無料)
– デフォルトで使える言語はJava、Node.js、C#、Python、Go、PowerShell、Ruby
– Javaは実行時にコンパイルが行われる関係で速度が遅い
– lambda layerを利用することでほかの言語も使用可能

下記はlambdaのイメージ
API GateWay
![lambda(api).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/369848/3ce8676f-aff0-3c14-c536-f38dd544bc97.png)

S3
![lambda(s3).png](https://qiita-image-store.s3.a

元記事を表示

AWS認定の模擬試験を受けてみる流れ

[AWS認定](https://www.aws.training/Certification)の模擬試験を受けてみたのですが、思い立ってから実際に受けるところまでの事務的なところがわかりにくかったため記録に残そうと思います。

事務的なところではなく、勉強という意味での準備や事前の心構えなどにであれば調べればいくらでもブログ記事があるので、本記事では特に触れません。[^1]

[^1]: というか自分はまだ本試験受けてないので何も言えません…

## アカウントを用意する
AWS認定には、模擬試験でも本試験でも同様にアカウント登録が必要になります。

前提としてAWSアカウント(amazon.comのアカウント)が必要になる[^2]のですが、そのAWSアカウントにて進めるのではなく**そのAmazonアカウントからシングルサインオンで認定用アカウント登録をする**という流れとなります。

その認定アカウントにログインし、そこから試験の申し込み・支払い・実施などを行うかたちです。

https://www.aws.training/Certification にアクセスし、サインイ

元記事を表示

AWS amplify Reactでログイン画面作成

amplifyとやらが便利そうなので入門として、TODOリストでも作ってみようかなと思った、第一弾です。
次は、Cognito認証付きAPIを作ろうと思います。

# 0. 環境

“`
$ node -v
v10.16.3
$ npm -v
6.9.0
“`

# 1. Amplify CLIインストール(準備)

公式: https://aws-amplify.github.io/docs/

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

“`
$ amplify configure
Scanning for plugins…
Plugin scan successful
Follow these steps to set up access to your AWS account:

Sign in to your AWS administrator account:
https://console.aws.amazon.com/
Press Enter to continue

## ここでブラウザが開き、ログイン画面

元記事を表示

【Go】S3のファイルを取得する方法

## 環境

– Go – `1.13`

## 事前準備

`aws-sdk-go`パッケージを使用するため、`go get`する。

“`bash
$ go get -u github.com/aws/aws-sdk-go
“`

## サンプルコード

“`go
package main

import (
“bytes”
“fmt”

“github.com/aws/aws-sdk-go/aws”
“github.com/aws/aws-sdk-go/aws/session”
“github.com/aws/aws-sdk-go/service/s3”
)

func main() {
bucket := “bucket” // バケット名
path := “path/to/file” // ファイルパス

/*
* アクセスキーID・シークレットアクセスキーを直接指定する場合
*/
// svc := s3.New(session.New(), &aws.Config{
// Region: aws.String(“ap-north

元記事を表示

ECS Fargateでブランチ毎にQA環境を作れるようにする

## 目次
1. [前書き](#前書き)
1. [概要](#概要)
2. [動機](#動機)
2. [本文](#本文)
1. [利用した主なツール](#利用した主なツール)
2. [1の解説](#1の解説)
3. [2の解説](#2の解説)
4. [3の解説](#3の解説)
5. [4の解説](#4の解説)
6. [5の解説](#5の解説)
3. [終わりに](#終わりに)
4. [参考文献](#参考文献)

## 前書き
### 概要
ECSでブランチごとの動作確認用の環境を準備したので、そのノウハウを共有します。
作った環境はこんな感じです。

![Untitled Diagram (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/158622/1bf4f1c8-6006-6709-0d76-ce8f6b8dfbde.png)

## 動機
ディレクターが、エンジニアが開発中のブランチの挙動確認をするのに「 `git pull`

元記事を表示

【LINE Notify API,AWS】バズってるツイートをグループLINEに定期送信

##今回作るもの
友達とのグループLINEに対して、
定刻になるとバズってるツイートを送信する仕組みをつくります。

##LINE Notify API

>LINE Notifyと連携を行うことで、LINEユーザーが簡単にサービスの通知を受信できるようになります。

【引用元】:[LINE Notify](https://notify-bot.line.me/ja/)

らしいです。

実際に使うとこんな感じで`LINE Notify`というアカウントからメッセージが届きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/244071/d1d9e121-8e8a-db95-1cd3-65c688f9cce6.png)

##LINE Notifyの下準備

下記リンクの手順通り、`LINE Notify`が使える状態にします。
[[超簡単]LINE notify を使ってみる](https://qiita.com/iitenkida7/items/576a8226ba65848

元記事を表示

AWS Configを駆使して使っていないSecurity Groupをお掃除する

この記事は[Speee Advent Calendar 2019](https://qiita.com/advent-calendar/2019/speee) 1日目の記事です。

# あらすじ

長い間AWSアカウントを運用していると、様々な理由で不要なリソースというものが生まれます。

– 長く運用されているアカウントで昔のリソースがIaCされていなくて使われなくなったリソースが残り続けていたり
– dev兼用だったりして不意に誰かの検証リソースが残っていたり
– などなど理由は様々です

使ってないリソースは消すに限ります。
本記事では、使ってないSecurityGroupをAWS Configを使って洗い出す方法をご紹介します。

# AWS Config

AWS Configには様々な機能がありますが、機能の一つにAWSリソース間の依存関係をSQLライクなクエリで抽出する機能があります。
https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/querying-AWS-resources.html

使っ

元記事を表示

Hinemos ver.6.2.1 をAWS上にインストールして監視するまで(初期設定編)

初投稿です。

仕事で使っている監視・ジョブツールであるHinemosのインストールと、やっておいた方が良い(と、思う)最低限の初期設定をまとめます。
他の方の参考になれば嬉しいです。

# 前提知識
このページでは、以下の内容をある程度理解されていることを前提に~~(説明すると長くなって面倒なので)~~記載をしています。

* Linuxの基本的な操作
* AWSの設定(セキュリティグループの設定とか)
* ~~viエディタの使い方~~

# Hinemosとは?
Javaで動作するオープンソースの監視・ジョブツールです。基本機能は無料で利用できます。
Hinemos1つで監視とジョブを行うことができます(ただし、一部の監視とジョブを利用するには、対象マシンにHinemosエージェントをインストールする必要があります)。
詳細は[製品サイト](https://www.hinemos.info/hinemos)へ

# 作るもの
執筆時点で最新のver.6.2.1を利用します。
なお、本記事では下図を実現するためのHinemosマネージャ(下図の真ん中の青い四角)の設定を行います。

元記事を表示

OTHERカテゴリの最新記事