- 1. AWS ALB LCUコスト確認まとめ
- 2. 【AWS】AMIの利用方法
- 3. 日本語の音声認識の市場調査と軽く触ってみた
- 4. 【備忘録】お名前.comで作成したドメインの証明書をACMを使用して取得する
- 5. DockerComposeをdevelopmentで実行する
- 6. Dockerを導入したRailsをAWSでデプロイ
- 7. AWSアソシエイト試験に向けて7(AWSアーキテクチャ設計(Well-Architected Freamwork)の考え方について)
- 8. AWSでDocker環境のセットアップ
- 9. AWS単語集
- 10. DjangoプロジェクトをEC2にデプロイする
- 11. AWS環境構築
- 12. AWSメモ
- 13. Amazon Lexでnot authorized to performでJupyterNotebookで呼び出せない
- 14. Ruby on Jets で詰まったこと
- 15. 【AWS】AMIとは
- 16. VMware Playerでネットワークを学ぶ~③VyOS1.4とAWS VPC間のSite-to-Site VPN接続~
- 17. Amazon TranslateでUnsupported target languageとエラーが出たときはカスタム用語を疑う
- 18. AWSでcrontabを使用する手順
- 19. Greengrass V2をDockerコンテナ内で実行させる(on Raspberry Pi)
- 20. AWS Amplifyとは
AWS ALB LCUコスト確認まとめ
#はじめに
AWS ALBのコストを算出する機会があったものの
LCUコストの算出がすぐに理解できなかったので、
(https://aws.amazon.com/jp/elasticloadbalancing/pricing/?nc=sn&loc=3)
に記載の計算例を見てみることにしました。#そもそもLCUとは?
LCUは「Load Balancer Capacity Units」の略でALBの使用量の単位です。#料金例
ここからALBの料金表に記載の計算例を見ていきます。
※リージョンはアジアパシフィック(東京)を選択
※LCUがトラフィックを処理する尺度や既定値の情報に関しては、割愛させて頂きます。
詳細はALBの料金表を参照してください。■例1
条件
(1) アプリケーションが 1 秒あたり平均 1 個の新しい接続を受信
(2) それぞれ 2 分間継続すると仮定
(3) クライアントは毎秒平均 5 つのリクエストを送信
(4) リクエストと応答の合計処理バイト数は毎秒 300 KB
(5) クライアントのリクエストをルーティングする 60 個のルールを設定
【AWS】AMIの利用方法
#プログラミング勉強日記
2021年5月24日#AMIの利用方法
##1. OSの選択
利用したいサーバーのOSの選択として、利用していたサーバーを復元する際にAMIを利用する。##2. EC2のバックアップ
既存のEC2インスタンスからAMIを作成して、バックアップとして取得する。EC2インスタンスをバックアップとして構成内容を保存するが、このバックアップにはEBSボリュームのスナップショットも含まれるのでEBS分の復元も可能。##3. ゴールデンイメージ
最適なEC2インスタンスの構成をAMIとしたうえで、構成を複数利用できる。最適なEC2インスタンス構成を反映したAMIをゴールデンイメージという。##4. AMIの共有
AMIを共有するユーザのAWSアカウント番号を指定することで他アカウントでAMIを共有できる。##5. リージョンの移動
AMIはリージョン内でのみ移動可能だが、別リージョンにコピーすることができる。このAMIはリージョンのAMIとして別のAMIになる。![image.png](https://qiita-image-store
日本語の音声認識の市場調査と軽く触ってみた
# はじめに
この記事の対象は、日本語の音声認識をする人を対象としています。
本記事で扱う音声認識は、mp3などのファイルに固定のファイルを想定しています。
ストリーミングしたリアルタイム性のある音声認識は対象外です。# サービスの紹介と、その特徴
| サービス名 | 料金 | 動作環境 | コメント |
|:-:|:-:|:-:|:-:|:-:|
| [Google Speech-to-Text](https://cloud.google.com/speech-to-text/?hl=ja) | 0~60分:無料トライアル
60分超~100万分まで:$0.006/15 秒** | API | 簡単に利用できた |
| [Amazon Transcribe](https://aws.amazon.com/jp/transcribe/) | [250,000分まで0.00040USD](https://aws.amazon.com/jp/transcribe/pricing/) | API | S3挟まないと動かない |
| [Azure Speech Servic
【備忘録】お名前.comで作成したドメインの証明書をACMを使用して取得する
#楽なやり方
お名前.com側に検証レコードを作成するやり方でも可能だが以下の方法が楽。>
1. お名前.com のネームサーバをRoute 53で発行したNSレコードの値に変更する
https://teratail-v2.storage.googleapis.com/uploads/contributed_images/b3d8ac46d90d00cacea0bbb30ca4744f.png
上記の 0N.dnsv.jp となっているところを Route53で作成したゾーンのNSレコードの値に変更する
2. Route53で作成したゾーンに、 DNS認証のためのCNAMEレコードを追加する
https://teratail-v2.storage.googleapis.com/uploads/contributed_images/6e8308822adf239fbc0e7e4c86a33ff5.png
上記で表示されたCNAMEレコードをRoute53で取得したゾーンに追加する
>こちらより引用
https://teratail.com/questions
DockerComposeをdevelopmentで実行する
これまで、production環境で開発をしてきた。
Dockerを導入し、AWSでのデプロイを試みている。しかしそれは、他の記事を参考に作っていた為、
意味もわからず、本番環境でやってきただけで、
必要な構成も理解していないので上手く進まなかった。そこで、development環境に戻し、
まずはDockerの導入にフォーカスして理解度を高めていく。***
#### 各ファイルの修正
“`ruby:docker-compose.yml
services:
local-redis:
image: redis
container_name:
rails-redis
container_name: rails-redislocal-rails:
build: .
@@ -15,9 +14,31 @@ services:
– local-redis
env_file:
– env_file.env
container_name:
rails-rails
con
Dockerを導入したRailsをAWSでデプロイ
#### 接続状態の確認
“`
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6896cfc00d7f redis “docker-entrypoint.s…” 2 months ago Up 4 days 6379/tcp rails-redis
“`“`
$ curl -G ‘http://localhost:3000’
curl: (7) Failed to connect to localhost port 3000: 接続を拒否されました
“`“`
$ netstat -na | grep -i 3000
“`
何も表示されなかった。– Railsの起動がうまくいっていない。
– 原因はcredentials周り
AWSアソシエイト試験に向けて7(AWSアーキテクチャ設計(Well-Architected Freamwork)の考え方について)
## AWSアーキテクチャ設計の基本的なケース
後ほど出てくるWell-Architected Freamworkという5つの考え方に則るようにする(厳守ではない)のが基本となるけれども、常に意識するべきところを大雑把に挙げるとセキュリティ・可用性・負荷分散と言ったところ。
### 1リージョンに2つのAZを作る(3つ以上はコスト効率が増えるに従って悪化する)
主な理由としてはレプリケーションによる可用性の確保またはELB(ロードバランサー)による負荷分散。
前者の場合は– EC2インスタンス
– DBを2つのAZでレプリケーションし、さらに元のAZの方にはS3でバックアップを取るなどすることで冗長構成を組み、実現していくといった形。
### Q. VPCはいくつ作ればいいの?
A. 2つ以上のVPCでアーキテクチャを設計して可用性を確保するのが基本となる。
あとは単純に開発環境と本番環境とでVPCを分けるなど。
#### 1つのVPCで設計する場合
可用性が下がるがアイデンティティ管理(IDやパスワードなどのユーザアカウントを一元的に管理する)やハイパフォーマ
AWSでDocker環境のセットアップ
# はじめに
現場がAWSを使ってるのでそろそろVPSからAWSへの移行を考えている# AWS
AWSでLinuxを使えるようにするぞ
## AmazonMachineImageの選択
現行ではとくに理由がない限りより性能のいいハードウェア仮想マシン (HVM)が使用されている
[EC2ダッシュボード](https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#Home)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94562/e259aa0e-e14b-b6ed-160d-53e2ba7039a4.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94562/14147b0b-80a6-a4d7-c68f-3d0880c67716.png)
## インスタンスタイプの選択
`t2.micro` インスタンスタイプを
AWS単語集
AWSの試験勉強のメモ
各サービスが何やっているかをまず覚えていく。#セキュリティグループ
インスタンス単位の通信制御
#ネットワークACL
サブネット単位の通信制御
#SNS
プッシュ型の通知サービス
#SQS
ポーリング型
Standardキュー:順序を保証しないし、同じメッセージが2回発信される可能性がある。
FIFOキュー:順序を保証。ただし、Standardキューより遅い。
#インターネットゲートウェイ
VPCとインターネットを接続
各VPCに1つだけ接続可能
#NATゲートウェイ
ネットワークアドレス変換機能を有し、プライベートIPをNATゲートウェイが持つグローバルIPに変換し、外部と通信する。
#EMR
分散処理フレームワーク
#CloudTrail
AWS内のユーザアクティビティログ(AWS内のユーザ操作ログ)を取得
#CroudFront
世界中に120を超えるエッジロケーションがあり。
最も近いエッジロケーションから配信。
#AWS Organization
アカウント作成自動化も可能。
料金とかを一元化できる。
#Amazon Inspector
脆弱性をチ
DjangoプロジェクトをEC2にデプロイする
# いまどこ
[Djangoプロジェクトの開発準備](https://qiita.com/tcx_yk/items/1ec39629a47061150fb0)
[AWS環境構築](https://qiita.com/tcx_yk/private/ce63f3b93e28df93af21)
[DjangoプロジェクトをEC2にデプロイする](https://qiita.com/tcx_yk/private/3a93678f684e71dc214b) <= いまここ # 0.前提事項&注意事項 - hogehoge.comと出てくるところは各々が取得したドメイン名に読み替えてください - プロンプトの書き分け ``` % # ローカル環境のコマンドプロンプト(ユーザー名,ホスト,ディレクトリを書いてない方) ubuntu@host:~$ # Webサーバー or DBサーバー環境のコマンドプロンプト(ユーザー名,ホスト,ディレクトリを書いてる方) ``` # 1.Webサーバー初期設定 ## 1-1.初期状態をアップデート webサーバーにssh
AWS環境構築
# いまどこ
[Djangoプロジェクトの開発準備](https://qiita.com/tcx_yk/items/1ec39629a47061150fb0)
[AWS環境構築](https://qiita.com/tcx_yk/private/ce63f3b93e28df93af21) <= いまここ [DjangoプロジェクトをEC2にデプロイする](https://qiita.com/tcx_yk/private/3a93678f684e71dc214b) # 0.前提事項&注意事項 - AWSアカウントの作成は済んでいること - リージョンは東京であること - 無料利用枠を超えた場合やドメインの取得には利用料が発生するので注意してください? # 1.仮想ネットワーク作成 **EC2インスタンスを作成するために、まず仮想ネットワークを構築します** ## 1-1.VPC作成 VPC > VPC > VPCを作成| 項目 | 設定値 |
|—–|—-|
| 名前タグ | hogehoge-vpc |
| IPV4 CIDRブロック | 10.0.0.0/1
AWSメモ
# 責任共有モデル
![Shared_Responsibility_Model_V2_JP.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/54858/a89ecb26-39c7-4dba-99db-a865e1871998.jpeg)
顧客側は以下のリソースに対するセキュリティに責任があります。
-Amazon Machine Images(AMI)
-アプリケーション
-転送中のデータ
-保管中のデータ
-データストア
-資格情報
-ポリシーと構成**共有統制**
インフラストラクチャレイヤーとお客様レイヤーの両方に適用される統制です。ただし、コンテキストや観点は完全に異なります。共有統制では、AWS がインフラストラクチャに対する要件を提供し、お客様は AWS のサービスの使用に対して独自の統制を実装する必要があります。以下に例を示します。
* **パッチ管理**
AWS がインフラストラクチャの不具合に対するパッチ適用および修復に責任を負いますが、お客様はゲスト OS
Amazon Lexでnot authorized to performでJupyterNotebookで呼び出せない
# はじめに
[使ってわかったAWSのAI](https://www.amazon.co.jp/gp/product/B08C71Y83P/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B08C71Y83P&linkCode=as2&tag=720188-22&linkId=a9bff8465e5a66c80491483a07ea4a87)という本を学習している中で、`Amazon Lex`というチャットボットを作成できるサービスがありました。本書が作成されと時にはAmazon Lexは日本語版に対応していなかったようですが、2021年現在は日本語版に対応していますので、せっかくならと日本語版で動かしてみました。
本書通りに動かしたところ途中でエラーになり、躓いたので修正箇所についてまとめたいと思います。# 問題
Amazon Lexで本書通りに`build`まで行いました。
そして、JupyterNotebookで以下のコードを実行しました。“`
import boto3
import jsonc
Ruby on Jets で詰まったこと
# はじめに
エンジニアとして就職して約1年、 久しぶりにRuby を書いてみたいなぁ、とふと思う。
最近流行りで弊社でもガンガン採用しているサーバーレスで実装しようということに。
「サーバーレス Ruby」 で検索すると一番最初にヒットした Ruby on Jets
https://rubyonjets.com/
https://dev.classmethod.jp/articles/ruby-jets-serverless/
https://qiita.com/kskinaba/items/9c570093ed912f8f1681
すごい使いやすそう。。ほぼrails と使い方も同じだし。。
と思ったがいろいろとハマって腹がたったので記事にしましたww
# 腹立ちポイント
## (その1) ruby 2.6 だけサポートされてない。
Ruby on Jets がサポートしている ruby のバージョンは 2.5 と 2.7 らしいです。
2.6 でもアプリの作成はできますが、デプロイでこけます。
## (その2) jets deploy でハマった
【AWS】AMIとは
#プログラミング勉強日記
2021年5月23日#AMIとは
AMIはOSのセッティングのことで、ソフトウェアの構成を記録したテンプレートみたいなもの。WindowsやLinuxなどの様々なOSがすでに設定されている状態でAMIとして提供されている。主に、AWS側で用意されたAMI、3rd partyが売っているAMI、自作できるカスタムIAMの3種類ある。カスタムAMIはバックアップのように再利用することができる。#AMIとEC2インスタンス
EC2インスタンスはAMIから起動している。OS設定を選択するためにまずはAMIを選択してEC2インスタンスを起動する。逆にAMIは既存のEC2インスタンスから作り出すことができる。EC2インスタンスの内容をAMIとしてバックアップのように取得することができる。AMIの中には既存のOSの設定情報や新しくインストールしたソフトウェア、サーバーなどの構成情報、ルートボリュームに構成されたEBSやインスタンスストアのデータが再現できる。EBSはスナップショットを使ってバックアップをとるもので、このスナップショットのデータもAMIに含まれる
VMware Playerでネットワークを学ぶ~③VyOS1.4とAWS VPC間のSite-to-Site VPN接続~
[前回](https://qiita.com/flets708/items/1a9514c343359045853c)、VyOSをVM Player上にインストールしてゲストOSの接続設定等を実施しました。
今回は、AWS VPCとのVPN接続をやってみようと思います。(もともと、AWSの勉強をしていた時にVPN接続のイメージがつかず、VM Playerのネットワーク設定やVyOSにチャレンジし始めました。ついに本来やりたかったところまで来ました・・・!)ちなみに、直近で無料ダウンロード可能なVyOS1.4だと、[参考にした記事](https://qiita.com/flets708/items/1feefd90fd1a45d52535#%E5%8F%82%E8%80%83)と結構コマンドが違いました。下記手順の途中に出てくる、AWSコンソールからダウンロードできる設定手順はそこそこ修正が必要なので、そのあたりをしっかり残そうと思います。
**<全3回でやろうと思っていること>**
[①VMware Playerの仮想ネットワーク設定](https://qiita.com/fle
Amazon TranslateでUnsupported target languageとエラーが出たときはカスタム用語を疑う
# はじめに
私は都内のWeb系企業で、自然言語処理をメインに機械学習について研究をしています。
そこで、最近`AWS`のAI系のサービスも調査をしています。そこで、[使って分かったAWSのAI](https://www.amazon.co.jp/gp/product/B08C71Y83P/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B08C71Y83P&linkCode=as2&tag=720188-22&linkId=992ffed3b945c4c7e62f5246cd67dcf6)という本でサービスを一通り触れています。
この本では、各サービスをとりあえず動かしてどのようなものかを紹介する内容になっています。その中で`Amazon Translate`を利用する箇所でエラーが出ましたので、そちらについてまとめます。
# 問題
英語から日本語に翻訳する際に、カスタム用語を設定しました。
`csv`で以下のようなファイルを作成して、モデルに読み込ませます。“`my_terminology.csv
AWSでcrontabを使用する手順
#概要
あるshellスクリプトを定期実行するため、AWSでcrontabを使いました。
通常の設定と特に変わりありませんが、備忘録として残しておきます。#手順
####1 実行権限の付与“`shell
sudo chmod +x hoge
“`sudo をつけずに実行してもエラーが出ませんが、実行権限は付与されません。
緑色になっていることを確認しましょう。####2 パスの修正
実行はホームディレクトリから行われると考えます。
パスはすべて絶対パスにしておくか、
以下のような一文を各シェルスクリプトに追加する工夫をします。“`shell
cd `dirname $0`
“`https://www.qoosky.io/techs/927115250f
####3 設定ファイルの作成
ツールでの作成をおすすめします。また、設定は“crontab -e“ で変更できますが、
ファイルを別に作成し、それを上書きした方が、バックア
Greengrass V2をDockerコンテナ内で実行させる(on Raspberry Pi)
Greengrass V2が、Dockerコンテナ内での実行に対応したようですので試してみました。
https://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/run-greengrass-docker.html
Dockerイメージですが、V1はarmやarm64向けにも提供されていましたが、V2に関してはamd64向けのみの提供のようです。(そしてlatestタグがV2に向いているのでV1をlatestで使っている人はびっくりしていることでしょう)
https://hub.docker.com/r/amazon/aws-iot-greengrass
Raspberry Pi(Raspberry Pi OS 32bit)上で、試してみました。
# マネジメントコンソールでの設定
いつもながら、やることがたくさんあります。
## モノの登録
マネジメントコンソールでIoT Coreの画面を開きます。
「単一のAWS IoT モノの登録」を選択。![ap-northeast-1.console.aws.
AWS Amplifyとは
Amplifyでアプリ制作を通じて学んだAWSについてまとめてみました。
#そもそもAWSとは
AWSとはAmazon Web Servicesの略で、Amazonが提供している200以上のクラウドコンピューティングサービスの総称のことになります。
2020年時にクラウドマーケットは10兆円規模で、AWSはその中で33%のシェアとトップでした。
(2番目はAzure(18%)、3番目はGoogle Cloud(9%)、4番目はAlibaba Cloud(6%)…と続いていきます)そもそものクラウドコンピューティングサービスはコンピューターの機能、サーバー、ソフトウェアを、ネットワーク上からダウンロードして利用することのできるサービスのことです。
初期投資が無料だったり、サーバーやストレージ、データベースを迅速に立ち上げて使用することができると言うメリットがあります。大企業や公的機関がクラウドへの乗り換えは今後はますます増えています。なので今のうちにクラウドについて学ぶことは大切になってきます。
その中でトップシェアを誇るAWSを勉強しておけば、かなり市場価値は上げれるよう