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

AWS関連のことを調べてみた2020年03月02日
目次

Node.js で DynamoDB のデータを読む

参考ページ
[Amazon DynamoDB Step 3.2: Read an Item](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.03.html#GettingStarted.NodeJs.03.02)

“`js:get_item.js
#! /usr/bin/node
//
//
var AWS = require(“aws-sdk”);

AWS.config.update({
region: “us-east-1”,
})

var docClient = new AWS.DynamoDB.DocumentClient()

var table = “Movies”
var user = “Scott”

var params = {
TableName: table,
Key:{
“user”: user,
}
}

docClient.get(params, function(err, data

元記事を表示

AWS ソリューションアーキテクト アソシエイト リージョンとAZ

#はじめに
AWSソリューションアーキテクトアソシエイト資格取得のための勉強をアウトプットしていきます。
# リージョンとは
大まかに言うと「地域、国」のことです。
AWS は世界中にサーバーを持っており、リージョンという大きな単位でまとまっています。
東京リージョン、ソウルリージョン、北カリフォルニアリージョン、など多数存在します。
![AWS リージョン.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/522222/eb43df5e-d4b9-a063-732c-e49b90cbb601.gif)
##特徴
複数のリージョンにシステムを分散配置することで、障害耐性を高めることができます。

#AZ(アベイラビリティゾーン)とは
各リージョンに、アベイラビリティーゾーンと呼ばれる複数の独立した場所があります。AZ(アベイラビリティーゾーン)とは、物理的、ソフトウェア的に自律しているデータセンタの集合の単位です.
スクリーンショット 2020-03-02 10</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>AWS</div>
<div class='tag-cloud-link'>初心者</div>
<div class='tag-cloud-link'>ソリューションアーキテクト</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/avicii2314/items/5e277517f1918fce413a'>元記事を表示</a></div>
<h3 id=3分でAWS Athenaを試す

3分でAthenaの機能を試してみる。

Athenaで何が便利か、こういう使い方もある、とかいうのは特に伝えない。
これだけ覚えておくだけでも、Accessで扱い辛い2GBを超えるデータを扱えたり
複数のCSVファイルでもまとめて楽に扱えるという利点はあると思う。

まずは触ってみて考えたい人向け。可能な限り画像付きで丁寧に解説する。

## 前提条件
– AWSを契約しておりアカウントがあること
– S3にデータを置き、クエリを投げるので(もしかしたら)数円レベルの課金がかかることを良しとすること

## 1.CSVファイルをS3に置く
[これ](https://owl-public.s3-ap-northeast-1.amazonaws.com/opendata/testdata.csv)と[これ](https://owl-public.s3-ap-northeast-1.amazonaws.com/opendata/testdata2.csv)を任意のS3フォルダに配置。

ファイルはこんな感じ。シンプルなもの。

“`text:testdata.csv
ID,Name,Pr

元記事を表示

AWS S3 の使い方 (Node.js)

AWS S3 を Node.js で使ってみます。

1)バケットの一覧

“`js:s3_list.js
#! /usr/bin/node
//
// s3_list.js
//
// Mar/02/2020
// —————————————————————
var AWS = require(‘aws-sdk’)

s3 = new AWS.S3({apiVersion: ‘2006-03-01’})

s3.listBuckets(function(err, data) {
if (err) {
console.log(“Error”, err)
} else {
console.log(“Success”, data.Buckets)
}
})

// —————————————————————
“`

2)バケット内のファイル一覧

“`js:s3_listobjects.js
#!

元記事を表示

AWS SSHでEC2踏み台サーバーを経由してRDSに接続

##はじめに
今回、VPCやRDSインスタンスは作成済みでの説明になります。
踏み台サーバーなどを用意し、最終的にSequel Proで見るまでの流れをまとめております。
##セキュリティーグループ作成
**踏み台用のEC2インスタンスのセキュリティーグループ**
スクリーンショット 2020-03-01 17.57.38.png

**RDSのセキュリティーグループ**
1番目と3番目の2つ追加しました。2番目は、API用のものなので関係ありません。
1番目に踏み台用のセキュリティーグループが含んでいます。←ココを入れ忘れるとSequelでタイムアウトになり弾かれます。
スクリーンショット 2020-03-02 3.04.36.pngAWSハンズオン教材としての「ソリューションアーキテクト – アソシエイト試験突破講座」

AWSの膨大でそれぞれに深さもあるサービス群に対して、初学者として「ある程度広くハンズオンで経験してみたい」と思うと、それにどれだけの学習量とAWS利用費用を見込めばいいのか、そもそもどう具体的な学習範囲と方法を決めて見積もればいいのか悩むところがあります。「AWS認定ソリューションアーキテクト – アソシエイトがカバーされるレベル」という線引きをし、対策講座コンテンツをハンズオン教材としたところ、わりと効率よく広範なハンズオンを体験できたと思うので、参考としてまとめておきます。

# 学習範囲を決める

私のスタート地点は、AWSについてはOrganizationsとIAMを中心に1年間触ったというかなり偏ったところからでした。AWSは学ぼうと思えばどこまでも学び続けられ、時間と費用を投じることができてしまいます。主要機能を体験し、その他はひとまず保留(除外)できる学習範囲の目安として、以下を設定しました。

* [AWS認定ソリューションアーキテクト – アソシエイト](https://aws.amazon.com/jp/certification/certified-soluti

元記事を表示

ChormebookでAWS EC2に接続(Linux利用)

# 背景

今まではWin/MacでAWS EC2に接続するパターンを試していましたが、
手元にChromebookがあり、Linuxが起動出来るなら接続できるでしょ、と
考えれば普通に出来ることをやってみました。

忘れたときの自分の参照用が主です。

#[Chromebook](https://www.google.co.jp/intl/ja_jp/chromebook/)

Googleが開発しているノートPC/タブレット用のOSです。
最近、TV-CMが活発です。
元々は、リモートワークを見越して[Amazon Workspaces](https://aws.amazon.com/jp/workspaces/)のクライアントアプリに、
ChromeOSが含まれているので検証をしようと思って購入しました。
[Workspaces Client](https://clients.amazonworkspaces.com/)はこちらから。

## [ASUS C204MA](https://www.asus.com/jp/Laptops/ASUS-Chromebook-C204MA/

元記事を表示

AWSソリューションアーキテクト試験の対策方法

## はじめに

2020年3月22日以降は、現行の試験内容がアップデートされるとのことなので
下記の対策方法が必ずしもフィットするとは限りません。

## AWS Certified Solutions Architect – Associate とは

そこかしこで詳しく記述されていると思われるので割愛。以下ではSAAと記述します。

## 前提

– 筆者
– AWSを使用した簡単なシステム構築経験アリ
– 下記対策でSAA合格
– 勉強時間はおおよそ、通勤時間と土日を使い1ヶ月程度
– 正直なところ、AWS未経験でもITに関する基礎知識が多少あれば下記対策で合格可能と思います
– 下記対策で落ちたとしても知ったこっちゃないので、そこはよしなにお願いします

## 具体的な対策方法

– AWS使用経験がある場合

1. [ここ](https://aws.koiwaclub.com/) のWEB問題集(80~129番)をひたすら解き続ける
2. 間違えた問題を解き直す

– AWS使用経験が無い場合

1. 参考書を買う
– 教本は

元記事を表示

プログラミングスクール卒業後3ヶ月たった所感

2019年10月に最近youtubeでよく広告を見る某プログラミングスクールに通い、11月より機械学習エンジニア・データサイエンティストとして現職につきました。
卒業後3ヶ月経った今、スクールで学んだことで役立ったこと、今大変なことなどをつらつらと書いていきたいと思います。

# 経歴
2015年4月 食品会社の研究・開発職として4年間務める
2019年7月 プログラミングスクール学習開始
2019年10月 プログラミングスクール卒業
2019年11月 機械学習エンジニア・データサイエンティストとして転職

# スキルセット
## 言語の使用状況
| |スクール|転職後 |
|:–|:–:|:–:|
|HTML|○|○|
|CSS|○|○|
|JavaScript|○|○|
|SQL|○|△|
|Linux|○|○|
|Ruby|○|-|
|Python|-|○|

## フレームワークの使用状況
| |スクール|転職後 |
|:–|:–:|:–:|
|SCSS|○|○|
|jQuery|○|△|
|Vue|-|○|
|Ruby on Rails|○|-|
|Flask|-

元記事を表示

AWS Amplify フレームワークの使い方Part10〜Storage編〜

# はじめに
AmplifyはS3を画像などのストレージとしての利用も簡単にできます。

# 設定の流れ
## amplifyにstorageを追加
いつものコマンドを叩いて、設定を開始します。

“`console
$ amplify add storage
“`
## サービスの選択
画像ファイルの保存に使用するため`Contetnt`を選択。

“`console
? Please select from one of the below mentioned services Content (Images, audio, video, e
“`
## 名前の設定
Storage管理におけるプロジェクト名とバケット名を設定。

“`console
Please provide a friendly name for your resource that will be used to label this catego
ry in the project: <プロジェクト名>
? Please provide bucket name: <バケット名>
“`
## 権限

元記事を表示

Amazon Linux2でyumできない時に疑うべきこと

## 結論
VPCエンドポイントのポリシーの設定を疑いましょう。

## 事象

EC2(Amazon Linux2)で、`yum update` が通らなかった。

“`
$ sudo yum update
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Could not retrieve mirrorlist http://amazonlinux.us-east-1.amazonaws.com/2/core/latest/x86_64/mirror.list error was
14: HTTP Error 403 – Forbidden

One of the configured repositories failed (Unknown),
and yum doesn’t have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a

元記事を表示

AWS サーバー構築手順(ネットワーク編)

勉強したことを忘れないようにメモ

##概要

AWSの第一段階の勉強として基本的なWEBサーバーをAWSを使用して構築してみた。

ネットワーク構築から各サーバーの立ち上げをまとめる

##やった流れ
・ネットワーク設定
・ユーザー設定(IAM)
・EC2インスタンス作成
・CloudWatchでの料金ログチェック
・CloudTrailでのアクションログチェック
・ストレージ設定(EBS,S3)

###詳細
####◆ネットワーク設定
・CloudWatchでの料金ログチェック
・CloudTrailでのアクションログチェック
・公開用サーバーと非公開用サーバーの立ち上げ
・各サーバーにIPアドレスを設定

####◆ユーザー設定(IAM)
・AWSではルートユーザーのログインは推奨されていないので、Admin権限を持つユーザーを新規作成

####◆EC2インスタンス作成
・使用するOSのスペックによって値段が変動する
・Elastic IPで固定IPの指定が可能。EC2の稼働に応じて料金発生
・セキュリティグループ設定(簡単に言えばファイアウォール)

####◆ストレージ

元記事を表示

【AWS】プライベートサブネット3分クッキング(ハンズオン)

# はじめに

先日、プライベートサブネットとパブリックサブネットの違いをまとめた記事を書きました。

[【AWS】パブリックサブネットとプライベートサブネットの違いとは](https://qiita.com/hesma2/items/29db7ccb8678a84d267a)

じゃあ実際、どう作んのよって話を今回紹介したいと思います。
せっかくなのでハンズオン形式で、画像と合わせて説明していきます。

また今回作成するプライベートサブネットには、NATゲートウェイをアタッチします。
NATゲートウェイをアタッチせずともプライベートサブネットと呼べるのですが、せっかくなので作っていこうと思います。

# レシピ

私が思いつく限りでは、3通りあると思います。

1. マネジメントコンソールで作成
2. `awscli`(コマンド)で作成
3. `CloudFormation`で作成

今回は1のレシピで解説していきます。

# 前提条件

– AWSのアカウントを持っている

## 1. サブネット作成

AWSマネジメントコンソールにアクセスします。
サービス一覧から`VPC`を

元記事を表示

Lambda入門#5 Lambdaと連携したAPI Gatewayのバージョン管理

さぁ、今日もlambdaを触っていきます!

# 参考URL
クラウドメソッドさんの記事を参考にしてやってます。

APIゲートウェイのバージョン管理(lambda連携)

[API Gateway + Lambda]ステージとエイリアスを使ってバージョン管理してみた

## 前回までのおさらい lambdaのエイリアス設定

最初の状態ではAPIゲートウェイに紐づいている“`$LATEST“`の結果が返ってきます。
では、実際に紐づけを行う前に“`$LATEST“`がどのようになっていて、エイリアスでprodステージとdevステージとの違いが分かるように整理しておきます。

そこでちょっと、おさらいなのですが、lambdaのエイリアスとバージョン管理の方法にも触れておきます。

__1.lambdaでバージョンを作成__

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138274/00474acb-d2f

元記事を表示

コロナウイルス対応のため、学習コンテンツの無料開放にひと肌脱いだ話。

##0.まえおき

新型コロナウイルスによる、学校の休校を受け、
教育業界において、コンテンツの無料開放などが流行っています。

そんなさなか、とある老舗の参考書出版会社さまから、
コンテンツ無料解放をしたいと相談を受けたのが金曜日の夜。。。

すばらしい社会貢献!
ひと肌脱ぐことになり、私の休日(ほぼ徹夜)は消え去りました。
(えぇ、もちろん私も無償奉仕です。)

CORS

##1.要件/状況
**・PDFの書籍データがある**
**・誰にでも見せたいけど、ダウンロードとか印刷をされてしまっては困る。**
 (過度には誰にも見せたくない、、、)
**・サーバとか何もない**

という、本当にゼロからのスタートです;;

##2.実現方法概要
**1.PDF(URL)の保護**

元記事を表示

【初心者向け】AWS EC2デプロイ時にでるエラーを解決する

自作したアプリケーションをAWS上にデプロイする際に、いくつかエラーが出てつまづいたので、どうやって解決したかをまとめ的な感じでつらつらと書いていきます。
各エラーの内容にはそこまで踏み込まず、解決するという部分にフォーカスしてます。

なお、デプロイ時は、下記のQiita記事を参考に行いました。
題の通り、世界一丁寧でした。。。誠に有難うございます。。。

[世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで](https://qiita.com/naoki_mochizuki/items/814e0979217b1a25aa3e)

##環境

macOS:10.14.6
Ruby:2.5.7
Rails:5.2.4.1

## ①ssh: connect to host [作成したEC2のElasticIP] port 22: Operation timed out

これは、EC2インスタンスにsshログインした時に出たエラー。

“`
$ ssh -i [app名].pem ec2-user@[作成したEC2のElasticIP]
ssh: co

元記事を表示

【初心者のためのポートフォリオ作成】 Rails6 + MySQL + AWS + Capistrano + Circle CI ①アプリ作成〜githubへのpushまで

# はじめに
未経験からのWEBエンジニアへの転職を目指し、railsでポートフォリオを作成しました。
今回はその復習を兼ねて、アプリ作成〜デプロイ、さらにCapistranoとCircle CIを使ったCI/CDまでの流れを記事にしたいと思います。

アプリケーションの中身は一旦置いておいて、上記過程を把握することを目的としています。

ただ、それなりに詳しく書いていきたいと思うので、アプリケーションの作り込み以外の部分は、参考にしていただいて問題ないかと思います。

また、エラーが出れば都度参考記事とともに対応策も記述していきますので、これからポートフォリオ作成を始める初学者の方の参考になればと思います。

本記事は第1回目として、“`rails new“` からgithubへのpushまでを説明していきます。

# 使用技術
– Rails 6
– MySQL
– Rspec(テスト)
– Capistrano
– Circle CI
– AWS(VPC,EC2,ALB,RDS,S3,Route53,ACM)

# アーキテクチャ
最終的には、以下のような構成をイメージして

元記事を表示

プログラミングを学んで2ヶ月半でAWS認定ソリューションアーキテクト-アソシエイト-を取得したので勉強法をまとめてみる

# はじめに
プログラミング未経験からスクールに入学し、2ヶ月半後の卒業するくらいのタイミングでAWSのソリューションアーキテクトアソシエートを取得しました。
勉強期間は2週間フルコミットしました。
取得しようと思った理由は①AWSを触ってみて楽しかったから、②取得できたら就活の時に自走能力アピールできるかなと思ったからです。

最近勉強法などを聞かれることが多いので簡単にまとめておこうと思います。

※こちらは2020年3月1日受験時点での内容となります。ご了承ください。
※また、試験内容は2020年3月23日以降バージョンが変わりますのでご注意ください。

# 筆者の前提知識レベル
– 基本情報技術者試験 取得済み
– ポートフォリオ作成時にAWSサービス使用経験あり(IAM, EC2, S3, RDS, ELB, CloudFront, Route53, ACM)

# 試験について
試験についての情報はたくさんあるので詳細は割愛しますが、テストセンターに行って受験します。
オンラインで申し込んでテストセンターさえ空いてればすぐにでも受験できます。
僕は申し込んでから5日後くらい

元記事を表示

AWS AmplifyのAPI認証はどれがいいのか?

# はじめに
`Amplify add api`をすると、API認証の種類を選ぶことができる。
設定できるオプションの特徴をまとめる。

# 比較

### API Key
**一番手軽。テスト用。**
必ず指定した日にちごとに再設定しなければならない。
-1を指定すると自動更新されるとの記事を見かけたが、自分の環境では更新されなかった。

### Cognito User Pools
**本番にも使える。基本はこれにしておけば間違いない。**
ユーザごとのアクセス制御である。Amplifyのユーザー認証と組み合わせて、ログインしたユーザに対してアクセスできるリソースを指定して用いる。

### IAM
**未認証ユーザにも使える。公開APIにしたいときにおすすめ。**
ロールベースのアクセス制御である。Amplifyの場合、デフォルトだと、authRole, unAuthRoleが生成されるので、それぞれ認証ユーザ、未認証ユーザにアクセスさせたいリソースを指定して用いる。

### OIDC Auth
**外部の認証を使いたいときに使う。**
上記3認証方式と組み合わせて使うと

元記事を表示

AWS Well-Architected Framework「信頼性」

信頼性の柱の5つの設計原則をざっくりまとめてみたいと思います。
この内容はnoteのほうで投稿したものと同じ内容になります。
「[③信頼性](https://note.com/yoriasanuma/n/nea8acb9fec07)」

####1, 復旧手順をテストする

障害のシュミレーションをし、復旧手順が適切であるか、検証しましょう。オンプレミス環境でも復旧手順の検証をできるといいのですが、手順が適切でなかった場合、壊れて使えなくなったシステムを再構築するのは多くの時間や費用がかかるので、復旧手順の検証はリスクがあります。一方クラウド環境では、再構築にかかるコストが抑えられるため、障害のシュミレーションが容易にできるようになりました。それにより、実際に障害が起きる前に適切な復旧手順を用意しておくことができます。また自動化ツールを使い、シュミレーションを自動化することもできます。

####2, 障害から自動的に復旧する

復旧手順を自動化しましょう。システムの使用状況をモニタリングし、障害発生時に自動で通知・対処・修正することができます。

####3, 水平方向にスケールし

元記事を表示

OTHERカテゴリの最新記事