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

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

結局DynamoDBってなんやねん

# 前書き

DynamoDBに関してどの記事見ても、他と照らさないと結局なんやねんってなることが多かったので、
これ見れば何となく掴めるように噛み砕いた記事を書いてみました。

# 想定読者

* AWS認定-DVAの取得を目指している方
* SAAなどデベロッパー以外の資格では使わない知識だと思う
* RDB(いわゆる一般的なDB)は知ってるけどDynamoDBはよくわからんよーな方
* RDBと比較しての説明が主なのでRDBって何ぞって方はまずはそちらを調べてください
* 簡単にDynamoDBってモノを知りたい
* ほんとにざっくり記事なのでプロの方は見ちゃダメです

# そもそもDynamoDBとは

形式ばった言い方をすると以下

`Amazon DynamoDB は、高速で予測可能なパフォーマンスとシームレスなスケーラビリティを実現する、完全マネージド型の NoSQL データベースサービスです。`
(引用元(公式):https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerg

元記事を表示

【AWS】EC2へのデプロイ時にmimemagicのバージョンエラーが出た場合の対処

$ bundle install
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock –add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/………
Your bundle is locked to mimemagic (0.3.5), but that version could not be found
in any of the sources l

元記事を表示

Amazon ECR とは

## 勉強前イメージ

Elastic container なんとか・・かな?
Docker的なやつ?

## 調査

### Amazon ECR とは

Elastic Container Registry の略で
Dockerのコンテナイメージを保存しておくためのレジストリで、
Dockerコンテナイメージを保存・管理・デプロイが簡単に出来ます。
ECSやEKSにも統合されています。

### 特徴

– フルマネージドレジストリ

フルマネージド型なので、
コンテナレジストリを動かすためのインフラや運用、スケーラブルなど不要になります。

– 安全に共有およびダウンロード

コンテナイメージはHTTPS経由で転送され、保管時には自動的に暗号化されます。
またIAMを使用してイメージへのアクセス制御を行えるようにポリシーの設定が出来るため細かく設定できます

– 高可用性や耐久性

コンテナイメージはs3に保存され、冗長化されるので安心して利用できます。

– デプロイワークフローを簡素化する

ECSやEKSに統合されているため、開発から稼働まで簡単に数sメルことが出来ます。

元記事を表示

API Gateway + Lambda Authorizer + Lambdaプロキシ統合 + AWS SAM CLIを組み合わせたときのCORS設定

表題の通りです。苦しめられたので解決方法を共有します。

ポイントとしては、

* プリフライト用にOPTIONSメソッドを受け入れる必要がある (Access-Control系のヘッダーも返す)
* AWS::Serverless::ApiのCorsプロパティを定義すれば、自動的にOPTIONSメソッドが作成され設定したヘッダーが返されるようになる
* [CorsConfiguration \- AWS Serverless Application Model](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-property-api-corsconfiguration.html)
* LambdaでAccess-Control系のヘッダーを返す
* 普通にレスポンスにヘッダーを含めればOK
* ↓「Lambda または HTTP プロキシ統合への CORS のサポートを有効にする」の項目を参照
* [REST AP

元記事を表示

本番環境でS3に保存されない件について

本番環境にデプロイしたときにAWSのS3に保存されずに、アプリケーション上に保存されてしまう件について改善したので記述しておきます。

##どこが間違っていたのか

“`config/development.rb
# 上記省略
config.active_storage.service = :amazon
“`

“`config/production.rb
# 上記省略
config.active_storage.service = :local
“`
間違っていたのは上記の記述で、開発環境ではS3に保存できるように記述を変更していたのですが本番環境でlocalに保存されるようになっていました。
production.rbには本番環境での設定、development.rbでは開発環境での設定を記述しているので漏れのないように変更加えておかないとな、、と反省いたしました。
なのでproduction.rbの記述を下記のように変更。

“`config/production.rb
# 上記省略
config.active_storage.service = :ama

元記事を表示

EBS拡張手順

#はじめに
EC2(Windows)にアタッチされているEBSを拡張する手順を記載します。

〇OS情報
OS名:Microsoft Windows Server 2016 Datacenter

〇EC2インスタンス情報
インスタンスタイプ:r4.4xlarge
拡張するEBS:Cold HDD(sc1) 1.5TBの拡張 (Dドライブ) 
        Cold HDD(sc1) 1.5TBの拡張 (Eドライブ)

#作業手順
##事前作業
・ボリューム拡張対象のEC2インスタンスの停止 ※オンライン拡張も可能だが、システムバックアップ取得を目的としているため、今作業では停止してから拡張を行う。
・AMI取得 ※必須ではないがロールバックしたい場合に必要。

##本作業
###1.AWSマネジメントコンソール上でボリューム変更
まずは、AWSマネジメントコンソールにログインし、サービス一覧から[EC2]→[インスタンス]の順で移動します。
【Cloud9】failed to write new configuration file /home/ubuntu/.gitconfig.lock

## Error

Rails チュートリアルをやるために Cloud9 を開いたところ下記のエラーが発生。
Tab 補完が効かないなど変な挙動になった。

“`
error: failed to write new configuration file /home/ubuntu/.gitconfig.lock

┌──────────────────────────────────────────────────────────┐
│ npm update check failed │
│ Try running with sudo or get access │
│ to the local update config store via │
│ sudo chown -R $USER:$(id -gn $USER) /home/ubuntu/.config │
└───────────────────────────────────

元記事を表示

現場未経験者がAWS SAPを取得するまでにやったこと【合格体験記】

#目次
[1.はじめに](#1-はじめに)
[2.筆者のスペック](#2-筆者のスペック)
[3.勉強期間と本番スコア](#3-勉強期間と本番スコア)
[4.勉強に使ったもの](#4-勉強に使ったもの)
[5.勉強の過程を詳しく](#5-勉強の過程を詳しく)
[6.受験の感想とアドバイス](#6-受験の感想とアドバイス)
[7.まとめ](#7-まとめ)
[8.【おまけ】SAP勉強して良かったこと](#8-勉強して良かったこと)

#1. はじめに
エンジニア歴1ヶ月ですが、スキルをアピールしてAWSの現場に入りたいという動機から、AWS SAP(ソリューションアーキテクト-アソシエイト)を取得しました!
現場未経験でプロフェッショナル資格を取るのは我ながら結構レアなケースだと思ったので、取得までの勉強法を共有してみます。主に、同じ駆け出しエンジニアの方のご参考になればと思います!

#2. 筆者のスペック
・取得済み資格:AWS SAA, DVA
・SES企業のインフラエンジニア
・__初現場配属から1ヶ月にも満たない、完全なる駆け出しエンジニア__
・AWSの現場は未経験

#3.

元記事を表示

AWS Snowballについて調べてみた!

# AWS Snowballについて調べてみた!
名前はよく聞くけど、個人で使う機会はなかなかないと思われるAWSサービスに、**AWS Snowball**があると思います。オンプレミスの大容量データを安全に迅速にAWSに持ち込めるというサービスのイメージですが、Snowballにもいくつか種類があって、ストレージやコンピューティングなどの用途ごとに分かれているみたいです。
今回はそんなSnowballについて改めてドキュメントなどをながめて理解を深めたいと思います!

## トップページを見てみる
[AWS Snowball(セキュアなペタバイト規模のデータ転送)| AWS](https://aws.amazon.com/jp/snowball/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc)より
まずはトップページからざっくりとポイントを抜き出してみます。

### 特徴
– AWS Snowball は AWS Snow ファミリーの一部

元記事を表示

AWSでControl Towerを使わずにマルチアカウントを実装してみた(概要編)

# はじめに
先日、ひょんなことから「AWSのマルチアカウント環境をいい感じに構築する」という案件対応をする機会がありました。これにあたりマルチアカウントの考え方を色々調査&検討したので、備忘録がてら記載しておきたいと思います。
ちなみにタイトルに書いている通り、Control Tower(ないしはLanding Zone)の考え方が色濃く反映されたものになります。

# AWSにおけるマルチアカウントの考え方
AWS初期の頃、まだマルチアカウントという考え方が浸透していなかった時代は、どんな用途でも1つのアカウントで対応するのが一般的だったと思います。例えば開発/検証/本番の各ワークロードを作りたい場合、1つのアカウント内に各環境用のVPCやセグメントを作成して管理していたりしました。
こういった方法でもやりたいことを実現できると言えばできるのですが、全てを1アカウントに集約していることによる弊害はあり、例えば開発者が誤って本番環境へ設定変更を行ってしまい障害につながるといった危険性など、様々な問題を内包していました。

これに対し、最近ではマルチアカウントという考え方が主流になって

元記事を表示

OpsWorks と Elastic Beanstalk の違い

## 勉強前イメージ

ansibleみたいな構成管理ツールと
Elastic Beanstalkはなんだっけ?

## 調査

### OpsWorks とは

ChefやPuppet を使って運用を自動化する構成管理のサービスで
システムの構成などを一元的に設定することができます。

詳細は [こちら]() をご確認ください

### Elastic Beanstalk とは

アプリケーションデプロイの自動化サービスで
運用管理などをAWSに任せてアプリをデプロイするだけでアプリケーションを動かすことが出来ます。

詳細は [こちら](https://qiita.com/miyuki_samitani/items/07f794f0d4e3c72803c5) をご確認ください

### 違い

– OpsWorks は `サーバの構成` を管理・デプロイするサービス
– Elastic Beanstalk は `アプリ` を簡単にデプロイするサービス

## 勉強後イメージ

ちょっと調べればわかったんだけど、
そういう管理ツールとかいっぱいあってややこしくて書いた

## 参考

元記事を表示

【AWS&Firebase】SESとTrigger Emailを連携してみた

どうもアッキーです。

毎日記事を更新しており、ついに100個近くまで迫ってまいりました。

やっぱりアウトプットはいいですね。

と言うことで今回は、AWSのSESとFirebaseのTrigger Emailを連携させてみたいと思います。

SESでの設定は割愛します。

もしまだSESでの設定を行っていない方は以下の記事をご覧ください。

・[【AWS】AWS初心者がRoute53+SES+S3+Lambdaを使って、独自ドメインに送られてきたメールをGmailに転送してみた](https://qiita.com/akki-memo/items/71cab2a38a0c5a6d904f)
・[【AWS】AWS初心者がRoute53+SESを使って、独自ドメインでGmailからメールを送信してみた
](https://qiita.com/akki-memo/items/616671ccb009a0202113)

SESの設定が済んでいる艇で話を進めていきますのでご了承ください。

それでは参りましょう!

#認証情報の作成#

恐らくSESで既に設定を終えている方は、1度SMTP

元記事を表示

[未経験からエンジニア転職成功]ポートフォリオ

#はじめに

今回は、2021年3月に転職活動が終了した際の僕のポートフォリオについて下記の方に向けて解説します。

“`ruby
・転職活動中の方
・プログラミング学習中の方
“`

そこで、まずは僕自身のことをお話させていただくと、2021年1月下旬にテックキャンプを卒業し、3月下旬(ここ最近)に自社開発+受託開発+SESをしている企業様に内定をいただきました。

また、それ以外にも`12社からスカウトされ、そのうちの4社が自社開発系の企業様で1社は東証一部上場の企業様からのスカウト`でした。

#使用技術

– HTML/CSS
– Bootstrap
– JavaScript/jQuery/Ajax
– Ruby 2.6.5
– Rails 6.0.0
– MySQL 5.6.50
– Nginx(Web Server)
– Unicorn(Application Server)
– Docker 20.10.0
– docker-compose 1.27.4
– CircleCI(CI/CD)
– Capistrano
– AWS EC2 (Amazon Linux2)/

元記事を表示

10GbpsでAWSとDirect Connect接続し、NetApp FASからクラウドへのデータ移行性能を測ってみた

##この記事のサマリー
– いくつか条件を変えてクラウドへのデータ移行性能をテストした結果を一覧表にしています。
– 移行先はクラウドインスタンス上で動作するNetApp Cloud Volumes ONTAPです。
– 移行にONTAPのSnapMirrorを使わず、ツールで上抜きコピーしています。
– NFS to NFSを前提に計測しましたが、CIFS to CIFSでもそれほど大きな違いはありませんでした。
– 環境の詳細を以下に記載しますが、結論としてはまず最初にネットワーク回線ネックがあらわれて、次に移行先のストレージの性能ネックとなりました。最後にインスタンスタイプによるボトルネックとなります。
– 回線はDirect Connectを使ったためストレージ間の遅延は2ms程度でした。
– 10GのAWS Direct Connect回線は非常に高速で、受け側のNASが十分に高性能であれば24時間で50TB以上のデータをクラウドに移行することも可能です。回線コストは1時間で約$3のため、24時間使っても1万円程度です。
– インターネットVPN(Nuro光Biz, 1Gbp

元記事を表示

AWS S3

## はじめに
AWSのストレージサービスの一つ、AWS S3 についての備忘録。

## AWSのストレージサービスについて

|サービス名|略称|ストレージタイプ|説明|コスト(1GBあたり/月)|備考|
|—|—|—|—|—|—|
|Elastic Block Store|EBS|ブロックストレージ|EC2にアタッチするためのボリューム。|凡用:0.12USD
コールドHDD:0.03USD||
|Elastic File System|EFS|ファイルストレージ|ファイル共有サービス。VPCに対してファイルシステムを構築し、AZごとにサブネットに対してマウントさせる。|標準:0.36USD
低頻度アクセス:0.0272USD|EFSの標準がストレージの中で最も費用が高い。|
|Simple Storage Service|S3|オブジェクトストレージ|データをオブジェクト単位で読み書きする。エンドポイントが作られるので、HTTPSなどでアクセスできる。|S3 を参照||

## S3

### 用語

|名称|説明|容量|
|—|—|

元記事を表示

高校生がwebアプリケーションを作ってみた!

#はじめに
記事を見ていただきありがとうございます。
恐縮ですが実務・業界共に未経験のため設計や図に間違いがある場合、***優しく***教えていただけると幸いです。
執筆時は高校を卒業していますが、ほぼ高校生ということでお願いします。
高校生なりに頑張って作ったので見ていってください。
コストの関係上、**2021/4/20**まで公開します。
記事中にも記載はありますが、各リポジトリのURLをまとめておきます。
・[アプリケーション repo](https://github.com/naruse666/portfolio_app)
・[docker repo](https://github.com/naruse666/laravel_docker)
・[k8s repo](https://github.com/naruse666/k8s_laravel)
・[ポートフォリオ作品](http://ada323091392e46e7a37439821217fde-1183638593.ap-northeast-1.elb.amazonaws.com)(2021/4/20まで)

#勉強期

元記事を表示

「AWS Certificate Manager」でHTTPS接続する

# なぜHTTPSにする必要があるのか

###「HTTP」と「HTTPS」の違い

HTTPS(Hypertext Transfer Protocol Secure)」も、HTTPと同じプロトコル(通信規格)の1つです。
最後の「S」はセキュア(Secure)のことで、HTTPSではSSL(Secure Sockets Layer)というプロトコルを使用します。
ただし現在は、SSLに変わる新しい仕組みのプロトコルTLS(Transport Layer Security)が使われているのですが、名残もあるため、SSLの名称がそのまま使われています。

「HTTP」と「HTTPS」の大きな違いは**「通信内容が暗号化されているかどうか」**です。
HTTPSに対応するサーバーでは、ウェブサイトの通信内容を暗号化してくれるので、ウェブの情報を安全にやり取りできます。
HTTPS通信は、ウェブセキュリティの第一歩ともいうべき重要な技術です。

#HTTPSの設定方法

色々な方法があるのですが、今回はタイトルにもある通り、**「AWS Certificate Manager」**というA

元記事を表示

Railsポートフォリオ作成 #12 AWSデプロイ

こんにちは:smiley:

今回はAWSデプロイを行いました。
[(前回記事 #11 メッセージ日本語化、ActionCableでチャットの非同期化)](https://qiita.com/yanoo/items/4863bc42cba49d7c5314)

私は、前職(ホテルの料飲部)における、コミュニケーションの課題を解決するアプリを作っています。

## 参考教材

+ Qiita記事:[【画像付きで丁寧に解説】AWS(EC2)にRailsアプリをイチから上げる方法](https://qiita.com/Yuki_Nagaoka/items/975b7598806d6ae0c0b2
)
今までに何回も挫折したため、いろいろな記事にお世話になりましたが、こちらを忠実に守ればデプロイできる、はずです。笑(ドメイン取得編の前まで)

+ Udemy: [AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得](https://www.udemy.com/course/aws-and-infra/)
こちらでAWSに関する基礎

元記事を表示

[AWS][nodejs] S3にある JPEG ファイルの EXIF 情報を削除して書き戻す

必要な npm パッケージは `aws-sdk`, `file-type`, `piexif`

`S3.getObject` でデータ取得して、`file-type` で JPEG 画像かチェックして、`piexif` で EXIF を削除して、`S3.putObject` で書き戻す感じです。

“`javascript
const AWS = require(‘aws-sdk’);
const FyleType = require(‘file-type’);
const piexif = require(‘piexif’);

const removeExif = (region, bucket, key) => {
const S3 = new AWS.S3({region: region});

return Promise.resolve({Bucket: bucket, Key: key})
.then(params => S3.getObject(params).promise())
.then(data => new Promise(

元記事を表示

mockmockでより現実に近い条件でIoTテストをしてみる(デバイス=>AWS IoT Core)

# やりたいこと
社内研修の一環で**「ウォーターサーバーの水ボトルの在庫管理&発注を自動化するIoTシステム」**をRuby on RailsとAWSを使って開発しています。

[前回はデバイスの代わりとしてMQTT Boxを利用](https://qiita.com/kakudaisuke/items/852ea4c5b0d13c4397c5)して、デバイス => IoT Core => DynamoDBのテストをしていましたが、それを**[mockmock](https://mock-mock.com/ja/)**を使うことでより実際の条件に近い状態でテストをしてみました。(ちなみに自社サービスです)

というのもMQTT Boxはデバイスモックを1台しか設置できないのです。
今回の開発ではデバイスが2台必要で、この場合、自分でポチポチ2個データを作って、ポチポチ送信ボタンを押さねばなりません。一回だけならいいですが、毎度毎度となるとやや面倒だったりします。

### MQTT Boxでできること

– MQTTプロトコルでIoT Coreに送信できる

### mockmock

元記事を表示

OTHERカテゴリの最新記事