AWS関連のことを調べてみた2021年06月01日

AWS関連のことを調べてみた2021年06月01日
目次

VPCとサブネットの作り方

こんにちは。響です。今日はVPCの作り方とサブネットの作り方について学んだので記録します。

まず始めに、VPCとは何か。それは簡単に言うとAWS上に作れる仮想のネットワークです!

早速作ってみましょう。AWSにコンソール画面からVPCを選択します。
![ホーム画面VPCを選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227633/f23afa91-7051-61e3-5e38-5cb58531716a.png)

既存のVPCが現れますね。右上の「Create VPC」で新しいVPCを作ります。

![VPC一覧.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227633/8e9c798d-4542-17f8-bc9e-a5f6d03763b4.png)

さて新しいVPCを作る画面です。
![スクリーンショット 2021-06-01 8.58.58.png](https://qiita-image-sto

元記事を表示

AWS Rekognition Custom Labelsで画像認識

# 1.やりたいこと
* 献立の食品の画像認識を行って品目を特定する。(理屈は[こんな](https://www.slideshare.net/ssuserc80e3e/ar-deepcaloriecam-ar)感じ。しかし全て自前実行は[大変そう](https://developer-blog.finc.co.jp/post/137854168027/1-%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB-finc%E3%81%A7%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%82%92%E3%82%84%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E5%B0%8F%E6%9E%97%E3%81%A7%E3%81%99-ios)。)
* 以下の要件で画像認識エンジンの候補を探す。

| 要件 | 必須(MUST) | 出来れば(NiceToHave) | 目

元記事を表示

AWS EC2にOracle Database 18c Express Edition(XE)をインストールする方法

# 前提
Oracle Silver DBAの勉強目的でOracleDBをEC2にインストールしてみました。
OracleXEのシステム要件を満たすため、以下設定でEC2インスタンスを起動。
・OSはRHEL7.0
・インスタンスタイプはt2.small
・ストレージは30GBに拡張(最小要件は10G。余裕持たせて20Gか30Gあれば十分。)

参考:
https://docs.oracle.com/cd/E96517_01/xeinl/system-requirements.html

インスタンスタイプは無料枠のt2.microではRAMの容量不足でインストールできないので注意。

“`
[SEVERE] Oracle Database 18c Express Edition requires a minimum of 1GB of physical
memory (RAM). This system has 992 MB of RAM and does not meet minimum
requirements.
“`

1hで10円ほどかかります。勉強のため課金。
こま

元記事を表示

AWSアソシエイト試験に向けて8(信頼性とは)

## まずはおさらい

AWSにおけるWell-Architected Freamworkの5つの原則のうちの1つの信頼性(Reliability)は以下の通りである。

– インフラサービスの障害復旧の自動化を図る
– 復旧手順の検証を行う(BDPに復元/フェイルオーバーの手順を追記で作成し、実際に行って復旧までどれだけ時間がかかるかテストする等)
– 需要変化に応じて水平スケーラビリティを行う
– キャパシティの推測をやめる
– モニタリングと自動化を推進する

これらを実現するために必要な主要なサービスは以下の通りである。

– IAM
– VPC
– Auto Scaling
– ELB
– Cloud Formation
– Cloud Trail
– Cloud Watch

またベストプラクティスで考えると

– スケーラビリティの確保
– 単一障害点の排除
– コンポーネントの疎結合
– 環境の自動化

が信頼性の確保につながるものになる。

## 高可用を求める

信頼性を確保するための手段の1つとしてサービスの可用性を高くするということが考えられる。
スケーラビリテ

元記事を表示

Serverless frameworkでAWS Lambda構築から配布まで

# はじめに

プロジェクトでAWS Lambdaを使用することになりましたが、簡単に配布できる方法を探して共有したいと思います。

Serverless FrameworkでAWS Lambdaを簡単に配布する方法を開始します。

# Serverless Framework

サーバレスを構成することになれば、それぞれの関数を作成するのはもちろん、それに合った環境設定を毎回変えることも仕事です。

この時、Serverless Frameworkを使用すれば、簡単に配布することができます。

https://www.serverless.com

> Serverless Frameworkは、AWS、Google Cloud Platform、Microsoft Azureなどのクラウドサービスで、手軽にアプリケーションを作成·配布できるツールです。

# 手順概要
1. serverless のインストール
2. IAMユーザの作成
3. serverlessテンプレートを活用してアプリケーションを作成
4. 配布前にテスト
5. serverless.yml設定
6. 配布

元記事を表示

Pennylane-braket でqueueに積まれたAWSタスクを読み込む方法

# Pennylane-braket

Pennylane-braket は、Pennylane SDK からAmazon braket 上のマシンを呼び出せるプラグインです。
Amazon braket 上には量子コンピュータ実機もありますが、実機の場合は結果がすぐ帰ってこず順番待ちとなります。
この場合、タスクはQueueに積まれた状態となり、後で回収が必要です。
braket単体の場合はチュートリアルに回収の仕方が書いてありますが、Pennylaneから操作した場合にどうしたら良いのかは書いていません。
ずっと、できないと思っていました。

結論から言えばとても簡単なのですが、つまずいたので書いておきます。

# code

braket単体の場合のチュートリアルを9割コピペして、以下の関数を作っておきます。
タスクidを与えて、タスクを取ってきて、ヒストグラムプロットします。

“`python

def Retrieve_task(task_id):
from braket.aws import AwsQuantumTask
# recover task

元記事を表示

IoTでカロリー自動計算システムを作る

# 1.はじめに
 健康のため食品カロリーを自動で推定記録してくれるシステムをラズパイで作りました。そもそもの動機は、コロナのリモートワークで健康数値が劇的に劣化したからです。ある日かかりつけ医に行ったら血糖値330、HbA1cが10.4と指摘されました。(どのくらいやばいかはお察しください。エコー検査や眼底検査を即実施。運動もせずに終日何かしら食べられる在宅ワーク環境は大変にヤバいです。)
 食事カロリーを記録してダイエットしたら、4か月で72kg⇒62kgに体重10kg減、HbA1cは6.0、ついでにウエスト88cm⇒81cmになり服薬は半分に。食事改善で1日当たり1700-2000kcal程度にすると血糖値などあらゆる数値改善に絶大な効果がある事は判りました。しかし徐々に息切れリバウンドし現体重は65kg。間食管理も面倒で続き難いです。困りますよね。
※なおこのブログはSoracomラズパイコンテスト応募記事です。
[2021年4月19日〜5月31日 ソラコム主催 ラズパイコンテスト](https://www.lp.soracom.jp/202104-soracom-raspbe

元記事を表示

AWS Backupを使ってCMKで暗号化したバックアップをクロスリージョンで作成してみた

# はじめに
### この記事は
AWS Backupを使って、**KMSのCMKで暗号化した**状態で、**クロスリージョン**にEC2のAMIを保存する方法を紹介します。

### やりたいこと: EC2のバックアップ(AMI)をクロスリージョンで取得する。その際CMKで暗号化する。
大阪リージョンができて、バックアップを大阪に保持したいという要件が増えてきそうです。
単純にバックアップを取るだけであれば、公式ドキュメントを読めばかんたんに作成可能です。
しかし暗号化して、更に任意のCMKを指定するとなると、公式ドキュメントの記載がいまいち分かりづらかったため、検証して確認してみました。
ポイントは単にバックアップを取るのではなく、

* クロスリージョンにコピー
* CMKで暗号化する

点です。

### 結果: 出力先ボールトにCMKを指定することで、CMKで暗号化される
検証の結果、**出力先のボールト**にCMKを設定すれば、そのCMKで暗号化されました。
KMSのキーが指定されていない場合、デフォルトのキーとしてAWS管理のサービスごとのキーを利用して暗号化します。

元記事を表示

Amazon TranscribeでKeyError: ‘TranscriptFileUri’となったときの対処方法について

# はじめに
最近[AWSでつくるAIプログラミング入門](https://amzn.to/3uFcHT8)という本をやっています。
この本が書かれたのは、2019年末で当初は英語でしか動かなかったシステムも今では日本語で動くようになっているものがいくつかあります。
その中にAmazon Transcribeがあり、日本語で本書のコードの一部を変更して対応させていましたが、エラーに遭遇したので今回はまとめたいと思います。

# 問題

以下のコードを実行したところエラーになりました。
このコードは本書のコードを一部変更したものになります。

“`
import boto3
import json
import pprint
import time
import uuid
import urllib

bucket = str(uuid.uuid1())
print(‘bucket:’, bucket)
region = ‘ap-northeast-1’
s3 = boto3.client(‘s3’, region)
result = s3.create_bucket(
Bu

元記事を表示

Next.js × Nest.js & Prisma2 で個人開発したら最高だった

#作ったサービス
[BUZZ STOCK .COM](https://buzz-stock.com/ “BUZZ STOCK .COM”)
![スクリーンショット 2021-05-31 20.08.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235657/80e480b3-268e-3843-cf49-560e956633bb.png)

株式情報の確認や、コメントの投稿ができるサイトを作りました!
機能はまだこれからも追加予定ですが、ひとまず、フォロー・いいね・タグなどの基本的なSNS機能とチャートや財務情報の確認機能を備えています!(株式データのAPIには[Yahoo Finance](https://rapidapi.com/developer/dashboard)のAPIを使用)

使っていないEBSボリュームをcliでサクッと全部削除する

OpsWorksやらAutoscale等々、検証でEC2をぽんぽこ立てたり消していると何だかんだで溜まっていくavailableのEBS……
そういやどうだったかなと調べてみるとなんと100台以上も!!

どうせ使ってないしそもそもこれはヤバいということでawsコマンドを使用して使っていないEBS一覧を取得し、それをforで回してパワーで消していくのが本題です。

ではまずは使っていないEBS一覧の取得の前にavailableになっているEBSの数を確認してみます。

この辺のドキュメントを参考にしていきながらコマンドを考えていきます。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ebs-volume-snapshot-ec2-instance/

statusがavailableのEBSをすべて削除したいので使用コマンドは以下

“`
$ aws –profile hogehoge –region ap-northeast-1 ec2 describe-volumes –filter “Name=

元記事を表示

[RTX830]YAMAHAルーターでAWS-VPCに接続してVPNをはってみた

## やりたいこと
タイトル通り、AWS-VPCを作成しVPN接続する
*プロバイダーさんにインターネット接続できる状態にしてもらっている前提です。

#環境

`OS: Windows 10`
`Terminal: Tera Term`
`Settings: AWS`
`Router: YAMAHA RTX830`

#AWS VPC設定
### カスタマーゲートウェイ
AWSでカスタマーゲートウェイの作成をします。
契約したプロバイダーから教えてもらったグローバルIPアドレスを入力します。他に`名前`を任意で設定し、後は全てデフォルトのままにしました。
![スクリーンショット 2021-05-27 17.37.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1556887/9f8f14c1-d502-0dd0-c915-982714fe607f.png)

### 仮想プライベートゲートウェイ
AWS側の仮想プライベートゲートウェイは移転前の設定があったので、それを流用しました。

### サ

元記事を表示

AWS日記27 (AWS Secrets Manager)

# はじめに
今回は AWS Secrets Manager を試します。
パスワードを自動生成して Lambda 上で参照します。
[Lambda関数・SAMテンプレート]
(https://github.com/tanaka-takurou/serverless-secrets-manager-page-go)

# 準備
[AWS SAM の準備をします](https://qiita.com/tanaka_takurou/items/cae7c19fc3aaf0031abb)

[AWS Secrets Managerの資料]
[AWS Secrets Manager](https://aws.amazon.com/jp/secrets-manager/)

# AWS SAM テンプレート作成

AWS SAM テンプレートで API-Gateway , Lambda, AWS Secrets Manager の設定をします。

[参考資料]
[AWS SAM テンプレートを作成する](https://docs.aws.amazon.com/ja_jp/codedeplo

元記事を表示

AWS Cloud9の環境を複製する

既存のCloud9の開発環境と全く同じものをもう一つ用意したいときの手順です。

# Cloud9の新しい環境を作成
コピー先となる新しい環境をCloud9のコンソールから新規作成します。

## 新しい環境に紐づくEC2インスタンスを停止
新しい環境が作成できたら、EC2のコンソールから新しい環境に紐づくCloud9のインスタンスを止まってなければ停止させます。
EC2インスタンス名のプレフィックスが`aws-cloud9-[Cloud9環境名]`となっているのでそこで判断します。

この時、コピー元の環境のEC2インスタンスとインスタンスサイズが違ったら合わせておいた方が無難です。

# EBSの準備
コピー元環境のEBSを複製し新しい環境にアタッチします。

## 新しい環境に紐づくEC2インスタンスのEBSを削除
新しい環境のEC2インスタンスからEBSボリュームをデタッチします。
デタッチしたEBSボリュームは不要なので削除します。

## コピー元環境のEC2インスタンスのEBSのスナップショットを作成
コピー元環境のEC2インスタンスのEBSボリュームのスナップショットを

元記事を表示

TerraformによるDNS認証のレコード登録で「Invalid index」のエラー

# Invalid index のエラー

以前動かしたことがあるコードを元にして久々にACMのDNS認証をしようとすると、「Error: Invalid index」のエラーが起こりました。「This value does not have any indices.」 → この値にはインデックスがありません。と怒られています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402286/f81b3a3e-abc0-e8c7-9db0-412ef46fd7c6.png)

コードはこちら。`domain_validation_options[0]` の箇所がダメみたいです。

“`terraform
################################
# ACM
################################
resource “aws_acm_certificate” “public” {
domain_name =

元記事を表示

AWSを活用したAngularとSpring Boot間のSSL通信

前提条件

  • EC2にSpring Bootアプリをデプロイ済み
  • S3にAngularアプリをデプロイ済み
  • お名前ドットコムなどで独自ドメイン取得・Route53とお名前ドットコムネームサーバー設定済み
  • バージニア北部リージョン(CloudFront用)・東京リージョン(ロードバランサ用)にそれぞれ独自ドメイン用の証明書を作成済み

手順①CloudFrontディストリビューションをS3オリジンで作成する

  • Origin or Origin Groupで事前に準備していたS3を選択
  • Viewer Protocol PolicyはRedirect HTTP to HTTPSを選択
  • Alternate Domain Names(CNAMEs)に独自ドメインを入力
  • SSL CertificateはCustom SSL Certificateを選択・事前にACMで準備していた証明書を選択
  • Default Root Objectはindex.html
元記事を表示

API Gateway+AWSLambdaで開発・本番のバージョン管理

API Gatewayで本番・開発それぞれにエンドポイントを用意して
実行するAWS Lambda関数を切り替える方法です。

以下のように開発(dev)では常に最新バージョンを参照し、
本番(prod)では特定のバージョンを参照するような想定です。
https://xxx.execute-api.ap-northeast-1.amazonaws.com/prod/app/print
https://xxx.execute-api.ap-northeast-1.amazonaws.com/dev/app/print

### サンプルAWS Lambda関数の作成
単純にバージョン番号を返すだけの関数を作成します。

“` python
import json

def lambda_handler(event, context):
return {
‘statusCode’: 200,
‘body’: json.dumps(“this function is version 1.”)
}
“`

関数を作成しただけではバージョンは作

元記事を表示

AWS EC2の復元を実際に試してみた

https://aws.amazon.com/jp/about-aws/whats-new/2021/04/ec2-enables-replacing-root-volumes-for-quick-restoration-and-troubleshooting/

見るからに有用そうなアップデートがリリースされていたので試してみます。
(せっかく、リリース初日に記事書いたのに公開忘れてたので今更ながら)
![Untitled(5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51320/cd63b6c1-715b-f47f-c2d3-3b2874000103.png)

## これまで

EC2のルートボリュームを破壊しちゃった場合、これまでは以下のような手順で実施していました。
手段①
1. 破壊前のAMI Backupから新規にインスタンス起動
2. バックアップ時点からのデータ変更をできる限りリカバリ
3. エンドポイントを1に切り変える ex) ELBの付け替えや、EIPの差し替えなど

元記事を表示

CloudFormationで作成するリソースのタグ付けを強制する

# タグ付けを忘れがち

普段の業務では単一の AWS アカウントを複数のプロダクトの開発に利用している。
その場合に気になってくるのが**コスト**。
気づいたときには「今月の請求が。。」みたいなことにならないためにも、どのプロダクトがどのリソースを利用しており、それぞれどの程度利用料が発生しているのかを把握することはとても重要。

このニーズを満たすために、AWS では[コスト配分タグ](https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)という機能がある。これを用いることで、タグごとにリソースのコストを把握する事ができる。

自分は普段、なにかを構築する際には CloudFormation を利用する事が多い。
コスト配分タグを最大限活用するためにも可能な限りリソースにはタグ付けをするようにしている。

しかし、多くのリソースを構築していると一部リソースのタグ付けを忘れてしまうことがある。おかげでタグで追跡できないリソースが作成され、「これコストかかって

元記事を表示

初めての個人開発で、初めてRailsを使って3ヶ月で収益化をした話

はじめまして。
フリーランスエンジニアのミヤツカと申します。
表題の通り、初めての個人開発で、初めてRailsを作って、
なんとか収益化もできたので、その内容をまとめてみました。

個人開発の流れであったり、技術選定であったり、
なにかのご参考になれば幸いです。

## 作ったもの
週刊少年ジャンプ作品**専用**のシェアリングサービス、
その名も「**ジャンプなに読んでた?**」というものです。
https://naniyon.com

私は生粋の漫画好きで、特にジャンプ作品は子供の頃から大好きです。

**「中学の頃とかジャンプなに読んでた〜?」**
とか、
**「あの漫画、打ち切りだったけど面白かったよね〜」**
みたいな話をするのが大好きで、
実際、飲み会とかでもそういう話題が一番盛り上がったりすると感じていました。

で、そういう話がオンライン上で気軽にできるようになったら
楽しいんじゃないかと思い、作ってみました。

遊び方は
1.生年月日や年代から、当時連載されていた作品を探す
2.ひたすら懐かしむ
3.Twitterでシェアして思い出話で盛り上がる

といった感じです。

元記事を表示

OTHERカテゴリの最新記事