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

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

AWS EC2環境でのrails db:seedする方法

## 初めに
AWSのEC2にてデプロイしています。
rails db:seedをしたかったのですが、rake db:seedだったり、cd currentする、
など自分の環境にあった情報が見つかりませんでした。
なのでとても簡単なことですが投稿しています。

## 環境
Rails: 6.1.5
Ruby: 2.6.3
ローカル環境: cloud9
デプロイ環境: EC2

## 結論
EC2に入り、cd アプリケーション名してから
(rails sしてるなら念の為停止しておく)
“`terminal:terminal
[ec2-user@パブリックIPアドレス アプリケーション名]$ bundle exec rails db:seed RAILS_ENV=production
“`
だけです。

## 最後に
とてもシンプルで読み応えはありませんが、色々調べる手間を省くため書きました。
ありがとうございました!

元記事を表示

AWS公式資料で挑むMLS認定(2)-AI/機械学習(ML)の基本

##### [前回] [AWS公式資料で挑むMLS認定(1)-試験ガイドを読む](https://qiita.com/mingchun_zhao/items/149aedc35b69e25a4c07)

## はじめに

Amazon AI/機械学習の関連サービスを理解する前に、
まずは、AI/機械学習の基本知識から。

## 人工知能(AI: Artificial Intelligence)とは

– AIとは
– 人間の知能に関連する認知的問題の解決に取り組む、コンピュータサイエンスの分野
– 学習
– 問題解決
– パターン認識
– 機械学習の由来
– 研究者Pedro Domingos教授の機械学習の”5部族”
– 論理学と哲学に由来するシンボリスト
– 神経科学から派生したコネクショニスト
– 進化生物学に関連する進化論主義者
– 統計学と確率に取り組むベイジアン
– 心理学に由来するアナロジー主義者
– ※ 機械学習のさまざ

元記事を表示

AWS EC2で時刻同期する際の備忘録(ubuntu20.04LTS版)

AWS EC2で時刻同期する際の備忘録です

OSは`ubuntu20.04LTS`
“`
$ cat /etc/os-release
NAME=”Ubuntu”
VERSION=”20.04.4 LTS (Focal Fossa)”
“`

初期では、時刻は9時間前となっていた

“`
$ date
Thu May 5 16:28:53 UTC 2022
“`

`sudo timedatectl set-timezone Asia/Tokyo`を実行すればOK

> [Ubuntu 20.04 LTS タイムゾーンの変更(時刻合わせ:timedatectl)](https://compass-note.hatenablog.com/entry/ubuntu2004LTS-timezonctl)

“`
sudo timedatectl set-timezone Asia/Tokyo
“`

`date`実行して期待する時刻となっていることを確認

“`
$ date
Fri May 6 01:35:27 JST 2022
“`

# 参考
[Ubuntu 20

元記事を表示

Terraformに入門してみた

## 環境構築

①AWS CLI(Homebrewを使います)
②Terraform をインストールしていきます。

### ①次のコマンドでAWS-CLIをインストールします。

“`
$ brew install awscli
“`

![スクリーンショット 2022-04-30 18.35.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280830/ef0f4bff-1d9c-52b8-1f89-fa44e701e5fc.png)
インストールはうまくいっています。

下記のコマンドでAWS-CLIの設定を入れていきます。

“`
mbp:terraform kentaroyoshizumi$ aws configure
AWS Access Key ID [****************7234]: ********
AWS Secret Access Key [****************7234]: ********
Default region name [us-eas

元記事を表示

IAMポリシーについて

# 私のスペック
大学卒からアパレル関係の営業を6年経験後現在のSESに転職して1年ほど。
気づいたらAWSの勉強をしており、資格11冠目指したいとも思ってます。
その前にAWSエンジニアとして仕事をしたい為、更なる知識の深める際にIAMに詰まった。
SAAは合格済み

# なぜ書こうと思ったか
色々振り返ってみたらよくわかったいなかったことが多かったので
改めて復習のつもりで書く事にした。

# IAMポリシーについて
IAMアイデンティティやAWSリソースに関連付ける事によってアクセス許可を定義することができる
以下のようにJSONで定義されたポリシーをアタッチされた IAM ユーザーにのみ、このアクセス許可が付与される
“`
{
“Version”: “2012-10-17”,
“Statement”: {
“Effect”: “Allow”,
“Action”: “dynamodb:*”,
“Resource”: “arn:aws:dynamodb:us-east-2:123456789012:table/Books”
}
}
// us-

元記事を表示

【初心者】データアノテーションを調べてみた

# 背景・目的
私は、現在データエンジニアリングを生業としています。普段は、データ基盤の構築やパフォーマンスチューニングなどに従事しています。
ビックデータの収集や、蓄積、分析などの環境構築の経験はそこそこありますが、機械学習による予測や分類などのスキルは持ち合わせていませんでした。
今まで機械学習を避け続けてきましたが、一念発起し学ぼうと思います。

学び方としては、AWS Certified Machine Learning – Specialty(以降、ML試験という。)の勉強を通して、理解を深めていこうと思います。
ML試験のガイドを読むと、第2分野に探索的データ解析が出ていましたので、そこから学びたいと思います。

以前、以下について学習を進めてきましたが、今回はデータラベリングについて学びたいと思います。

– [【初心者】データの拡張を調べてみた](https://qiita.com/zumax/items/0727e329f3322897d3e7)
– [【初心者】データのスケーリングを調べてみた](https://qiita.com/zumax/items/ca718

元記事を表示

【SPAポートフォリオ】俺が本物のラミィだ【個人開発】

# 初めに

どうも、クソ雑魚のなんちゃてエンジニアです。
今回の記事はポートフォリオ用に本物のラミィ(HoloLive 5期生)を判定するAIサービスを作ったので、その紹介をさせていただこうといった記事になります。

駆け出しエンジニアの方や、HoloLiveをもっと盛り上げたいといった方向けに執筆いたしますので、ご参考にしていただければと思います。

# 背景
まずは以下の切り抜き動画を視聴してみてほしい。

>ラ「世の中にはねぇ…そう…『俺が雪花ラミィ本物』って人もいるんですよ~

元記事を表示

【Terraform】よく使用するコマンドについて書きます。

# はじめに
Terraformでよく使用する基本コマンドについてアウトプットをしたいと思います。

以下の記事にてMac環境でのTerraformセットアップ手順も記載しているため、併せてご覧頂ければと思います。

https://qiita.com/satton6987/items/6796934d23cefe0a41f7

# Terraformとは?
![file_type_terraform_icon_130125.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636476/4e841530-cf1a-7b12-26e4-2dab435ae66e.png)

HashiCorp社が提供する構成管理ツールになります。
クラウド上のリソース作成・変更を自動化できるツール(Infrastructure as Code)になります。

# よく使用するコマンド

– 初期化
– フォーマット
– 実行計画の確認
– 変更の適用
– リソースの削除
– リソースの状態確認

## 初期化
Terrafo

元記事を表示

Lambda@Edge のリクエスト利用パターン集

# はじめに
Lambda@Edge(以後、L@E)を様々なパターンで使用したため、まとめます。

# CF2とL@Eの比較
CloudFront Functions に比べて、オリジンリクエスト、オリジンレスポンスで使用できる点や、リクエスト本文を修正できる点において、L@Eは優れているかと思います。

| 1 | 2 | 3 |
|:-:|:-:|:-:|
| | CloudFront Functions | Lambda@Edge |
| ランタイムサポート | JavaScript(ECMAScript 5.1準拠) | Node.js、Python |
| 実行場所 | 218 以上の CloudFrontエッジロケーション | 13 の CloudFrontリージョンのエッジキャッシュ|
| CloudFront トリガー | ビューアリクエスト / ビューアレスポンス | ビューアリクエスト / ビューアレスポンス / オリジンリクエスト / オリジンレスポンス |
| 最大実行時間 | 1 ミリ秒未満 | 5 秒 (ビューアトリガー) / 30

元記事を表示

AWS AmplifyUI+Vueでユーザー認証してみる(前編)。

# 背景

過去の自分記事で色々Cognitoを調べていたりしました。
– [Cognito のIDプールでS3のユーザー毎フォルダにアクセスしてみる](https://qiita.com/silverbox/items/7a7ef64401e15f62ee52)
– [Cognitoを使ってログイン制御してみる](https://qiita.com/silverbox/items/b3c8a53aa4baa3d02ff8)

その時には、他のQiita記事を参考にログイン画面を作成していましたが、どうやらAWS側で公式UIを提供している事を知りました。

https://aws.amazon.com/jp/blogs/mobile/amplify-uis-new-authenticator-component-makes-it-easy-to-add-customizable-login-pages-to-your-react-angular-or-vue-app/

ログイン画面ではパスワード再発行や初期パスワード入力した後の新パスワード入力など、何気に色々な制御が必要です。セキュ

元記事を表示

Amazon Managed Blockchain を構築してみた (Ethereum)

# はじめに

Amazon Managed Blockchain サービスは、Ethereum や Hyperledger Fabric を構成してくれるマネージドサービスです。自分たちで EC2 で構成する時と比べて、数クリックで Node を含めた環境が出来上がるので、自分たちのアプリケーションに時間を費やすことができます。

[前の記事](https://qiita.com/sugimount-a/items/0ff5f1a70b2cc43d4e88)では、Hyperledger Fabric を触ってみる内容でした。今回の記事では、Ethereum を触ってみる内容になっています。Ethereum 自体を深く理解できていないので、Ethereum 自体の勉強も兼ねています。

次の URL を参考に進めています。

– AWS Document のサンプル
– https://docs.aws.amazon.com/ja_jp/managed-blockchain/latest/ethereum-dev/ethereum-json-rpc.html
– クラメソさんの B

元記事を表示

【AWS】異なるECSサービスでのコンテナ間通信

# はじめに
以前、ECSタスク内でのコンテナ間通信について調べた際にNginxコンテナとGunicornコンテナを同一タスク内に構築してみました。

https://qiita.com/zeems/items/f54e339df4bf2099f7bc

そのためタスク数を増やそうとした時にNginxコンテナとGunicornコンテナが1セットとして増えていくような構成となり、それぞれ個別にスケーリングすることができませんでした。
今回はNginxとGunicornはECSサービスを分けて構成し、それぞれのサービスが個別にスケーリングできるようにしていきます。

異なるECSサービスでのコンテナ間通信を実現するために「サービス検出」機能を使用したいと思います。

https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/service-discovery.html

# 構成図
以下のような構成を目指します。
![diagram04.png](https://qiita-image-store.s3.ap-nor

元記事を表示

Lambdaで、現在日時と特定の日付を容易に比較する (Node.js)

# はじめに
Lambdaで、現在時刻と、特定の期間を比較して、範囲内かどうか短いコードで判定する方法をまとめました。
面倒なので、ライブラリも使用しない方法になります。

# 現在日時が特定の期間内かどうか判定
## 解説

– `getTime()`は常にUTCでの値の取得になるため、現在日時もUTCで取得します。

– `content.from`と`content.to`に特定の日付を入れてください。
(必ず`”xxxx-xx-xxTxx:xx+09:00″`の形式になるようにしてください。)

– UTCでの比較にはなりますが、`content`内の`”xxxx-xx-xxTxx:xx+09:00″`は、JSTにしております。

つまり、現在時刻は`UTC`、`content`内は、`JST`から`getTime()`によって`UTC`に変換され、`UTC同士で比較`されることになります。

下記の場合ですと、
日本時間で、`2022/5/5の12時`〜`2022/5/8の12時まで`の範囲に現在日時が入っているかどうか判定します。

## コード内容

“`js
c

元記事を表示

【AWS】AWS認定対策用のUdemyおすすめ講座まとめ

#### UdemyでAWSを学んでみよう

 様々なテーマの教材が揃い世界的にも有名なオンライン学習プラットフォームUdemy。AWS関係の講座も多く定番の学習リソースとなっています。競合というか同種のサービスは国内だと[Schoo](https://schoo.jp/)、[グロービス学び放題](https://hodai.globis.co.jp/) あたりになるそうですね。
 海外発のサービスだからか、Udemyは日本語キーワードで検索すると欲しくない講座まで大量にヒットしたりでイマイチ検索機能が弱いところがあります。この記事では多数あるAWS関係の講座から、AWS認定対策のものに限り、まず間違いなさそうな定番のおすすめ講座を中心にまとめていきたいと思います。

https://www.udemy.com/

#### Udemyで講座を探す際のデータ諸元

 このエントリに書いてある評価や講師評価、受講者数などのデータは2022年5月時点のものです。

##### 値段

 自発的に学習する方で値段をそこまで重視する方はいないと思うので、以下の一覧では定価とセール

元記事を表示

【AWS】ELBとALBの違い

## 目的
ALBとELBについて何が違うのかよくわからなかったため調べてみた。

## 結論
ELB(Elastic Load Balancing)という大枠の中の一種がALB(Application Load Balancer)。
ALBはELBの一種。

## そもそもELBとは

### 役割
* アプリケーションへのトラフィック(ネットワーク上で転送されるデータ量)を負荷分散する
* トラフィックを送る先のサーバーが問題なく稼働しているか定期的に確認する(=ターゲットモニタリング)

### 負荷分散
ユーザーからのアクセスを複数のターゲット(サーバーなど)に振り分け、サーバーダウンしないようにしてくれる。
負荷状況に応じて自動にスケール(サーバーの台数を増やすなど)してくれる。

### ターゲットモニタリング
ターゲットの状態を監視。AWSのサービスの一つであるCloud Watchメトリクスでログの取得を可能にしている。
ターゲットの異常を検知したら通信を振り分けないようにしてくれる。

## ではALBは?

* HTTPトラフィックとHTTPSトラフィックのレイ

元記事を表示

AWS Direct Connectメモ書き

## AWS Direct Connect

### 参考URL

### 物理接続
– Meet-Me-Room
– LOA-CFAをもとに接続
– LAG(Link Aggregation Group)

仮想インターフェースの種類
– プライベート仮想インターフェース
– パブリック仮想インターフェース
– トランジット仮想インターフェース

#### 仮想インターフェース( Virtual Interface = VIF )

Connection(接続) = 物理接続(1G or 10G)
VIF = Connectionを通してAWSリソースにアクセスするための論理インターフェース
– AWSとカスタマルータ間でBGPピアを確立し経路交換するために必要
– BGP: 経路交換する際に使用するプロトコル
– VLAN IDをもつ

#### VIFの種類
– プライベートVIF: VPCへのプライベートIPを介した接続を提供
– パブリックVIF: AWSの全リージョ

元記事を表示

Amlifyを試してみた

# 背景・目的
Webアプリケーションの調査および検証をする機会があり、簡単に作成できる仕組みがAWSにあるか調べてみたところAmplifyがあったので試してみます。

# まとめ
Amplifyは、フロントエンド開発を構築するツールです。
利用することで、簡単にバックエンドと通信でき素早くデプロイできる機能を有しています。
また、SPAフレームワークや、SSGをサポートすることで、最新のWebアプリケーション開発にも対応されています。

# 概要
## Amplifyとは?
フロントエンジニアがAWSでフルスタックアプリケーションを素早く構築する専用ツールと機能です。
Amplifyでは、以下のサービスを提供しています。
– Amplify Hosting
– Amplify Studio

Amplify Hostingでは、CI/CDでフルスタックサーバレスウェブアプリをホストするためのgitベースのワークフローを提供しているとのことです。

## Amplify Hostingの機能
以下の機能を有します。
– SPAフレームワークのサポート。以下に例を記載します。

元記事を表示

AWS SAMを使ったローカル環境での開発とCodePipelineによるデプロイを試してみる

ほぼ https://dev.classmethod.jp/articles/sam-cli-pipeline/ の焼き直しのような感じだが、個人的な備忘録・メモとして作成。

動機:

– API Gateway + AWS Lambda(複数)の構成での開発を行いたかった
– 極力ローカル環境で開発を行えるようにしたかった
– gitと連携させて、CI/CDが出来るようにしたかった

やったこと:

– AWS SAM(Serverless Application Model)を使って、ごく簡単な例での環境構築を実施

# 前提条件

作業環境:

– Ubuntu22.04LTS @WSL2(Windows11)
* dockerをインストールしておく
– iptables周りのせいでdocker serviceを起動できないので、 https://qiita.com/tkc_tsuchiya/items/f7f4d502d8e2728f69c5 を参考にしてdocker serviceを起動する
– `sudo update-alter

元記事を表示

AWS Amplify基本編

![aws-amplify.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/173182/29f8d74d-7229-2a63-9291-64dfcf705e2e.png)

AWS Amplifyを触ってみたのでその備忘録して記事にまとめました。本編ではあくまで基本と公式のチュートリアルを触ったインプレッションです。

### 今一度AWSとは
Amazonにより提供されているクラウドコンピューティングサービス(元々は社内用に使っていたのを外部にサービス提供始めた)AWS、Microsoft Azure, Google GCPが3大インフラサービス。
ウェブサービスと称しているが、ウェブサービスに限らない多種多様なインフラサービスを提供している。これを使えばなんでもできるので、全容を把握するのは厳しいし、公認資格も何個もある代物。

### では本題のAmplifyとは
AWSが提供するサービスの1つ。
ウェブ/モバイルのフロントエンドエンジニアがAWSでフルスタックアプリケーションをすばやく簡単に構築

元記事を表示

Lambdaの中からS3のPythonファイルをインポートする

# 背景・目的

AWSのLambdaをPythonで利用するとき、外部ライブラリをパッケージにまとめてデプロイするのが一般的かと思います。
その場合、パッケージのバージョンは固定されることになるのですが、あるとき、実行時にS3に配置したPythonファイルを実行時に読み込むというケースがあったので、その実現方法について備忘します。

# システム構成

“`plantuml
package AWS {
database S3
() Lambda
}

Lambda <-up- S3 : Pythonファイルを読み込み ``` # 例 ### S3にアップロードするファイル 下記の内容を`s3://some-bucket-name/uploaded_script.py`というパスにアップロードすると仮定します。インポートの挙動を確認するために、少し冗長ですが、標準ライブラリであるjsonをインポートしています。 ```python import json def hello(): print(json.dumps({"hello": "world"}

元記事を表示

OTHERカテゴリの最新記事