- 1. 【AWS】AWSの勉強
- 2. 【クラウド初心者向け】お客様の選択による分岐と外線転送
- 3. AWS Elemental MediaConvert と Amazon ElasticTranscoderの違いってなに?
- 4. AWS re:Invent2019参加レポート
- 5. Serverless Framework for AWS Lambda Development
- 6. Amazon API GatewayにBasic認証をかける方法
- 7. AWSに構築したWordPressに独自ドメインを割り当ててみた
- 8. Amazon Web Services (AWS)サービスの正式名称・略称・読み方まとめ #20 (ゲーム開発)
- 9. AWS ECRにk8sで必要なイメージを持っていくの楽にする
- 10. Amazon Kinesis Video StreamsのWebRTCとAlexaを組み合わせてドアホンみたいのを作る
- 11. Raspberry PiのカメラでAmazon Kinesis Video StreamsのWebRTCを使ってみる
- 12. Nuxt.js(SSR)でAmplify Frameworkを使おうとした話
- 13. AWS Loft TokyoのIoT@Loftハンズオンに参加しました
- 14. AWSにWordPressを構築してみた
- 15. WOWZAの視聴者数(接続数)をGoogle Analyticsで見る
- 16. 【AWS】 AWS CodeCommit をVisual Studio 2019で利用する方法
- 17. [Perl]データベースのデータとファイルのデータを付き合わせて差分を表示してみた
- 18. ELBタイムアウトとApacheのKeepAliveTimeoutに適正な値を設定する
- 19. AWS CodeBuildでBitBucketの特定ブランチからソースを読み込む方法
- 20. TOMCAT殺害事件
【AWS】AWSの勉強
勉強した事をつらつらと書いています。
# AWSのネットワークについて
## リージョンという考え方
AWSの各サービスが提供されている地域の事
## アベーラビリティーゾーン
独立したデータセンターの事
東京リージョンでは、100Kmほど離れた場所にデータセンターがある。## VPCとは
Virtual Private Cloud
AWS上に仮想ネットワークを作成できるサービスVPCはリージョンを跨いで構築することはできない
## サブネット
VPCを細かく区切ったネットワーク
ネットワークを区切りたい時に利用する。
複数のアベイラビリティーゾーンを利用し、冗長性を確保することがベストプラクティスとして紹介されている。# ネットワークのIPアドレスについて
## IPアドレスとは
ネットワーク上の機器を識別するためのインターネット上の住所
### 特徴
– ネットワーク上で重複しない番号
– 32ビットの整数値
– 読みにくいので、8ビットずつ4つの組みに分け、ピリオドを入れて10進数で表現する
– 0.0.0.0〜255.255.255.255 まで##
【クラウド初心者向け】お客様の選択による分岐と外線転送
# 概要
– お客様の選択した数字により処理が分岐します。
– 繰り返しは3回とします。
– あらかじめ指定した番号の外線に発信します。## 使用ユーザー
– IAMユーザー## 手順
1. AWSにサインインします。
1. アカウント、ユーザー名、パスワードを入力してサインインします。
[アカウント内(IAM)で作成したユーザーを使用してコンソールにサインインする](https://qiita.com/echolimitless/items/129495c920217916a14f#%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E5%86%85iam%E3%81%A7%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%81%
AWS Elemental MediaConvert と Amazon ElasticTranscoderの違いってなに?
明けましておめでとうございます:sunny:
今年はねずみ年:mouse2:ですね!
年女Risakoの新年一発目は、AWS Elemental MediaConvert と Amazon ElasticTranscoderを比較してみたいと思います!
少しでも参考になれば幸いです:wink:#AWS Elemental MediaConvertとは
##特徴
**ビデオオンデマンドコンテンツのブロードキャスト機能**
AWS Elementalのテクノロジーで構成されている。
グラフィックオーバーレイ、コンテンツ保護、多言語音声、クローズドキャプションのサポート**包括的な入出力サポート**
ブロードキャスト用やインターネット配信用など幅広い動画の入出力形式をサポート
MPEG-2,AVC,Apple ProRes,HEVC の圧縮規格、高度なカラーサンプリングをサポート
CMAF、Apple HLS、DASH ISO、Microsoft Smooth Streaming などの幅広いアダプティブビットレートパッケージング形式をサポート
4K解像度およびハイダイナ
AWS re:Invent2019参加レポート
AI.RL.LYsのcursheyです。
今回はAWS re:Invent2019に参加してきましたので、そのレポートを記事にしました。ここではAI・機械学習の新サービスや新機能について私が特に興味を持ったものについて書いていきたいと思います。# re:Inventって何?
Amazon Web Serviceがラスベガスで開催する学び放題、遊び放題のお祭りです。新サービスの発表が最も大きなイベントなのですが、それ以外にもセッションやワークショップなどによる学びや、音楽ライブ、Tatonkaというチキン大食い競争やスポーツなどの遊び場が提供されます。
– http://reinvent.awseventsjapan.com/
# AWS Inferentia
低コスト高パフォーマンスを実現する機械学習推論チップで、TensorFlow、Apache MXNet、PyTorchのような深層学習フレームに対応した基盤です。この基盤に新しくinf1インスタンスが使えるようになりました。このインスタンスは、G4インスタンスと比べて40%近くのコストダウンができ、また、低レ
Serverless Framework for AWS Lambda Development
## 0 .Intro
[Serverless Framework]([https://serverless.com/](https://serverless.com/))
> The complete solution for building & operating serverless applications.
就自己這陣子的使用經驗上來看,我覺得這樣的敘述還算名符其實。
目前最主要會用場景為開發在自己的MBPR 上利用Golang 開發AWS Lambda,利用Serverless Framework CLI所提供的功能來開發,部署以及在本機做測試,整體的流暢度滿高的。 雖然Serverless還有提供其他Monorting, integration或policy目前還沒有使用到,但是整理的使用經驗大勝[SAM CLI]([https://github.com/awslabs/aws-sam-cli](https://github.com/awslabs/aws-sam-cli)),特別是早期被SAM對於Golang的支援踩到太多的坑了。
除了AWS之外,其他ser
Amazon API GatewayにBasic認証をかける方法
# はじめに
ちょっとしたテスト用のAPIをAmazon API Gatewayで作ったのですが、あんまり外部公開はしたくない…でもガッチガチなセキュリティが必要なほど重要なものでもない…
というわけでBasic認証をかける方法を調べたメモです。
いくつかハマリポイントがありました。# 大まかな流れ
API GatewayでBasic認証する大まかな流れ。1. API Gatewayのオーソライザーに認証をするLambda関数を指定する。
2. オーソライザーのIDソースにauthorization (header)を設定する。
3. API Gatewayの「ゲートウェイのレスポンス」の401レスポンスにWWW-Authenticateヘッダーを追加する。
4. メソッドリクエストの設定でオーソライザーを指定する。## Lambda関数の作成
AWS Lambdaのダッシュボードから関数を作成します。Rubyが好きなのでここではRubyを選択しています。名前は適当に、実行ロールは「基本的な Lambda アクセス権限で新しいロールを作成」でOKです。
“`rb:
AWSに構築したWordPressに独自ドメインを割り当ててみた
# はじめに
前記事「[AWSにWordPressを構築してみた](https://qiita.com/olaf_system/items/e5e17cd8ead71ec9a096)」の続き実際に使えるサイトにしていきたいので下記の要件を満たす。
– 独自ドメインを割り当てる
– SSL対応するってことでチャッチャと作っていく。
# 設定
### お名前コムでドメインを取得する
ドメインの管理は全てお名前コムで行っているので今回もお名前コムでドメインを取得してAWS側に紐付けていく。
ってことで取得。
![zX5Oyh9lUyFO7AT1578552106_1578552192.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563625/6157b04b-dbd7-b0fe-897c-c6bed7e3669c.png)### route53を設定する
AWSのroute53で先ほど取得したドメインのホストゾーンを作成する。
とりあえず今はホストゾーンを作るだけで終了。
NSのValueを
Amazon Web Services (AWS)サービスの正式名称・略称・読み方まとめ #20 (ゲーム開発)
Amazon Web Services (AWS)のサービスで正式名称や略称はともかく、読み方がわからずに困ることがよくあるのでまとめてみました。
Amazon Web Services (AWS) – Cloud Computing Services
https://aws.amazon.com/全サービスを並べたチートシートもあるよ!
Amazon Web Services (AWS)サービスの正式名称・略称・読み方チートシート – Qiita
https://qiita.com/kai_kou/items/cb29d261c8acc49fd22aまとめルールについては下記を参考ください。
Amazon Web Services (AWS)サービスの正式名称・略称・読み方まとめ #1 (コンピューティング) – Qiita
https://qiita.com/kai_kou/items/a6795dbab7e707b0d1a6間違いや、こんな呼び方あるよーなどありましたらコメントお願いします!
## Game Development – ゲーム開発
##
AWS ECRにk8sで必要なイメージを持っていくの楽にする
# AWSでKubernetesを運用する
少し前はEC2とかと、kubernetes構成管理ツール(kopsやらkubeadm)とかを使って構築していましたが最近ではEKS + ECRがデファクトスタンダードになってきたかなと思います。
またEKS + ECR構成にしたときは、Docker Imageは全てECRからpullしてきて、DockerHubからはpullしないようにするとかはよくあるかと思います。
これで運用しているときに地味に辛いのが、自分たちで作成していないimageやmanifestをデプロイする時だと思います。([kubernetes dashboard](https://github.com/kubernetes/dashboard), [prometheus](https://github.com/prometheus/prometheus), [metric-server](https://github.com/kubernetes-sigs/metrics-server), etc…)
これらをデプロイしようとする場合は以下の手順を踏む必要があ
Amazon Kinesis Video StreamsのWebRTCとAlexaを組み合わせてドアホンみたいのを作る
Alexa Skills Kitには[カメラスキル](https://developer.amazon.com/ja-JP/docs/alexa/smarthome/build-smart-home-camera-skills.html)というものがあり、これに[対応したデバイス](https://www.amazon.co.jp/b/ref=s9_acss_bw_cg_SHtoprt_2d1_cta_w?node=5364384051&pf_rd_m=A3P5ROKL5A1OLE&pf_rd_s=merchandised-search-11&pf_rd_r=NRJZ8SGZVRPSP8ERJMTK&pf_rd_t=101&pf_rd_p=941344a9-0109-4a06-a924-b6a756b7ec9e&pf_rd_i=5364379051)があります。
このカメラスキルは、RTSPかWebRTCが使うことが出来、前回書いた記事「[Raspberry PiのカメラでAmazon Kinesis Video StreamsのWebRTCを使ってみる](https://qiita.
Raspberry PiのカメラでAmazon Kinesis Video StreamsのWebRTCを使ってみる
[Amazon Kinesis Video StreamがWebRTCをサポートし](https://aws.amazon.com/jp/about-aws/whats-new/2019/12/amazon-kinesis-video-streams-adds-support-for-real-time-two-way-media-streaming-with-webrtc/)たので試してみました。
すでに[iOS、Android、JavaScript,Cのクライアントライブラリ](https://github.com/awslabs?utf8=%E2%9C%93&q=webrtc&type=&language=)とサンプルが提供されているので、今回はCのサンプルをRaspberry Piで試してみたいと思います。
https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c
使ったRaspberry Piは3 Model B。 RaspbianはStretch。
`uname -a`の結果
“`
Nuxt.js(SSR)でAmplify Frameworkを使おうとした話
この記事はAWS Amplify Advent Calendar 2019の13日目(になるはずだった記事)です。
気づいたらクリスマスどころか正月まで終わっていた…(陳謝)。# 概要
業務の中で、Nuxt.jsを使ってSSRをしつつAmplify Authモジュールを使った認証機能を実装するという
ケースがありました。そこで若干困ったことがあったので共有しようと思った次第。#Nuxt.jsとAmplify Framework
僕の稚拙な説明よりも分かりやすい記事がWEBにごろごろあると思いますが一応ざっと説明
### Nuxt.js
Vue.jsを使ったフロントエンドの開発で利用できるフレームワーク。
Vueを使ったアプリ開発においてSSR(サーバサイドレンダリング)を手軽に実現することができます。
他にも色々と便利な機能はありますが今回は割愛。### Amplify Framework
AWSが提供している**フロントエンド向け**のjavascriptライブラリ(iOS,Android向けもある)です。
機能ごとに色々とモジュールが分かれていますが今回はAWSの認
AWS Loft TokyoのIoT@Loftハンズオンに参加しました
# はじめに
昨日、AWS Loft Tokyo の IoT@Loft ハンズオン #2に参加させて頂きました。STマイクロエレクトロニクス株式会社殿、AWS殿ありがとうございました。アンケートに答えて、STM32L4の開発ボード [STM32L4 Discovery kit IoT node](https://www.stmcu.jp/design/hwdevelop/discovery/51734/) までお土産に頂いて帰りました。
この開発ボードは、4種の無線モジュールと8種のセンサが搭載されているし、ST-LINKも組み込まれていてデバッグモニター(リモートデバッガ)を使用して、単体でワンステップ実行もできるようになっています。普段使っているM5Stackで残念なのがこの機能が使えないところです。
# Greengrassとの連携
ハンズオンでモノ自体は登録されているので、近接センサーを使用して、人が近づいたらGreengrassを載せたスマートスピーカー(COETくん)から音を出してみましょう。パトランプなどに比べると、スマートスピーカーは言葉で様々な情報を伝えること
AWSにWordPressを構築してみた
# はじめに
日々の作業を記録しておきたい衝動にかられたのでWordPressを構築してブログとして使っていくことにした。
とりあえずAWSに構築して動作確認までをやってみる。# 構築
チャッチャと作っていく。### AWSにインスタンスを構築する
ちょっと調べたらどうやらAWSでWordPressが最初から構築されているAMI(Amazon Machine Image)が用意されているとのこと。
やったぜぇぇぇ!
今回は**「ami-6cd9050a」**と言うAMIを使ってインスタンスを作成してみた。
ストレージは15GBとりあえず割り当てた。
![スクリーンショット 2020-01-09 15.39.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563625/9ca9b7bb-cefd-e8d9-a9a4-73ea5892c8f5.png)パブリックIPが変わらないように静的パブリックIPを取得して作ったインスタンスに割り当てておく。
![1F4RIhV0DQiaGUe15785
WOWZAの視聴者数(接続数)をGoogle Analyticsで見る
JAVA使わない勢には、WOWZAのIDEって、面倒ですね。
WOWZAの同時接続数、いちいちWOWZAの管理画面にアクセスしないといけないので、
他の人にチェックしてもらうには、設定いじられたらと思うと、少しハードルが高いです。公式を探したら、アクセス数をアナリティクスで見る設定方法があったので、
投稿しておきます。###条件
・Wowza Streaming Engine™4.0.0以降
→ブラウザの管理画面、HOMEを見ればバージョンが書いてあると思います。
Wowza Streaming Engine Pro 4 for Amazon EC2 4.4.1 build17882 License
の場合は、4.4.1ですね。###手順
・google analyticsの作成
GOOGLEアナリティクスで、トラッキングIDというものを生成します。
1アカウント名はなんでもよし。
2データ提供系のチェックはお好みで。僕は全部つけたままにしました。
3ウェブを選択。(AWSのインスタンスにWOWZAがのってるタイプを使用しています)
4ウェブサイトの名前も、なんでもよ
【AWS】 AWS CodeCommit をVisual Studio 2019で利用する方法
# AWS CodeCommitについて
AWS上にGitリポジトリをセキュアに設置することができます。## Gitリポジトリの作成
AWS CodeCommitの画面から`リポジトリを作成`を選択し、リポジトリを作成してください。# Visual Studio 2019での設定
次に進むと、「Visual Studio に接続する」画面が表示されるので、手順に沿って設定を行う。## ステップ 1: AWS Toolkit for Visual Studio を取得する
「[こちら](https://aws.amazon.com/visualstudio/)」より、ダウンロードおよびインストールできます。
## ステップ 2: AWS プロファイルを追加する
Visual Studioを開いて設定する事が必要です。下記の図のように、`コードなしで続行`をクリックします。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/14d05ee8-7dd8-2b4a
[Perl]データベースのデータとファイルのデータを付き合わせて差分を表示してみた
# はじめに
運営しているサイトで
**「毎月送られてくるファイルデータとデータベースに保存してある先月分のデータを付き合わせて差分を同期する」**
という運用作業が必要になったので差分を表示するスクリプトを作ってみた。# 環境情報
– AWS(Amazon Linux AMI 2018.03.0 (HVM))
– Perl (v5.16.3)# 開発
昔から運用業務用のスクリプトはシェルスクリプトかPerlと相場は決まっていて
今回はDB接続が必要だったのでPerlで作成した。
仕様要件としては、– ファイル内のIDとデータベース内のIDの差分を調べることができる
– 引数でファイルを指定できる
– 差分を標準出力で表示できる
– 想定される差分はファイル側への追加のパターンのみと言うことでチャチャッと作っていく。
### 引数からファイル名を取得する
“`perl
# 引数を取得
my $file = shift;# 引数がないときは、使用方法を示して終了
unless ($file) {
die “Usage: $0 file”;
}
“`###
ELBタイムアウトとApacheのKeepAliveTimeoutに適正な値を設定する
# はじめに
ELBと配下のApache間で502エラーが稀に発生するため、調査したところ、ELBタイムアウト値よりApacheのKeepAliveTimeout値が低い事が原因だった。
ApacheのKeepAliveTimeout値をELBのタイムアウトより大きい値に設定する事で回避できるため、その設定方法を記載する。# ELBの設定確認
EC2コンソール画面から、「ロードバランサー」>「対象のロードバランサーを選択」>「説明タブ」の
「属性:アイドルタイムアウト」の値が60秒であることを確認する。![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/273157/7fb0144d-1f99-170a-6198-57ae2bdfe92c.png)
# Apacheの設定
ELBタイムアウト値より大きい値を設定する必要がある。今回は、Timeout およびKeepAliveTimeout の値を120秒に設定する。“`
Timeout 120
KeepAliveTimeout 12
AWS CodeBuildでBitBucketの特定ブランチからソースを読み込む方法
# CodeBuildでプロジェクトのビルド時に、特定のブランチ(自分の開発用とか)から読み込みたい
パブリックリポジトリのURLを指定するだけでは、masterブランチが読み込まれますので、プロジェクト作成時(後で編集も可)にブランチを明記する必要があります。
設定方法は意外と簡単でした。
・ソースバージョン – オプショナル
の項目にブランチ名(例:”testBranch”)を追加で記述するだけで大丈夫です。![codebuild bitbucket branch.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531595/c871287c-e83b-54e3-b7ed-d02861b3fa2c.png)
他にもコミットID(ハッシュ)だけ記述しておけば、その時点でのソースを読み込むことができます。
プロジェクト作成後に読み込みソース元(送信元)を変更したい場合は
画面左側のページ一覧から
[ビルド・Build]→[ビルドプロジェクト]→(作成済みのプロジェクト) の順でクリックすると下
TOMCAT殺害事件
#OOMKillerの殺意
顧客EC2のTomcatがアクセスの無い早朝にもかかわらずOOMKillerに突然殺されてしまったので、調査した顛末をたぶん同じような問題に直面されている方もおられるかと思いますので備忘録として記載します。
Javaヒープのチューニングにも多少役立つかと思います。
(この記事はJava8以降が対象となります。)OOMKillerとはOut of Memory時に、サーバ全体を守るためにメモリーを消費しているプロセスを停止するLinuxの標準機能です。
そのOOMKillerになんとTomcatが突然殺害されてしまいました。
問答無用の辻斬り状態です。
早朝ですのでアクセスログには何も記録されておらず、catalina.outには“`
OpenJDK 64-Bit Server VM warning: Setting LargePageSizeInBytes has no effect on this OS. Large page size is 2048K.
OpenJDK 64-Bit Server VM warning: Failed to