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

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

インフラ素人のFlutterエンジニアがAWS SAA試験を受験してきました。

今回はAWS SAA試験を受験してきたため、その体験談をまとめたいと思います。

### 1.受験当時のAWSへの理解度

・AWS業務知識
業務では基本Flutterを書いているため、AWSを業務で使用した経験はありませんでした。

IT知識という点ではFlutter, Firebase, Railsなどへの理解はありましたが、AWSなどのパブリッククラウドへの理解はほとんどなかったです。

### 2. まずは受験に備えて、試験範囲を把握しましょう

まずはこちらの公式サイトのリンクで、試験内容をざっくりと把握しましょう。
[https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/:embed:cite]

簡単に公式の試験内容をまとめると、求められるAWSの知識としては

AWSの各種サービス(EC2, EBS, RDS, ELB, S3)などにおいて、サービスを構築した経験
AWSの各種概念(IAMなどの責任共有モデル、リージョン、AZ)への理解

元記事を表示

EC2へのssh接続コマンドを短縮したい(エイリアス、関数)

#sshコマンドが地味に長い

MacのターミナルからAWS EC2に接続する際にsshコマンドを打ちますが、
毎回このコマンドを全部打つのが面倒に感じることはないでしょうか?
ちなみに、sshコマンドは以下のような書き方になります。
(Amazon Linux2に接続する場合)

“`
$ ssh -i < キーペアのパス > ec2-user@< EC2のipアドレス >
“`

なので今回は、以下のようにコマンドを短縮していきたいと思います。
#####短縮版sshコマンド

“`
$ sshec2 < EC2のipアドレス >
“`

だいぶ短くなりましたね!
接続したいEC2のIPアドレスを調べて、「sshec2」の後にスペースを入れてコピペするだけで
接続できるようになります。
※この「sshec2」は任意のコマンド名になりますので、ご自身で自由に設定できます
※使用するキーペアは固定化されます

#コマンド短縮の設定方法

ホームディレクトリにある、「.bashrcファイル」を編集して、関数を追加します。
エイリアスじゃダメなの?と思う方もいるかもしれませんが、

元記事を表示

AWS CloudWatch Synthetics Monitoring を CloudFormation で設定する

参考) [Using Synthetic Monitoring – Amazon CloudWatch Documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html)

## リソース

管理コンソールから CloudWatch Synthetics の Canary を作成すると、以下のリソースが展開される。
これを参考にして CloudFormation で各リソースを作成する。

![](https://hirose-public.s3-ap-northeast-1.amazonaws.com/qiita/2020/06/25/9a6cbfbd-25f8-49f7-8252-b2c8ad602926.svg)

## CloudFormation テンプレート

### Parameters

以下をパラメタ化した。

– CanaryName : Canary の名前。配下にいろいろリソースを作る都合上からか、Ca

元記事を表示

[AWS]S3でReact.jsを超爆速簡易型Webホスティングする

Reactを勉強中、それとなくおもしろおかしいWebページをスクラッチで作成することができたので、メンバーに~~自慢~~公開した。

今までメンバーに~~自慢~~公開する際には、Heroku、GitHub ioなどを使用していたが、S3で爆速にできることが判明したので備忘録として残す。

# はじめに
ドメインとの紐付けやSSL対応などは実施しておりません。
なので公開する際には十分に気をつけてください。

# ReactPjの準備
[公式ドキュメント](https://ja.reactjs.org/tutorial/tutorial.html)参照。

“`
$ npx create-react-app my-app
$ cd my-app/
$ yarn build
“`

# S3で公開するデプロイようのバケットを作成
S3のコンソールから「バケットを作成する」を押下。
![スクリーンショット 2020-07-12 0.04.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300430/6

元記事を表示

Dynamo DB ベストプラクティス(個人用メモ)

## 参考サイト

DynamoDBのテーブルを1つだけにする設計のコツ(考え方編)

DynamoDBのテーブルを1つだけにする設計のコツ(汎用的手法編)

多対多の関係を管理するためのベストプラクティス
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/bp-relational-modeling.html

DynamoDB でリレーショナルデータをモデル化するためのベストプラクティス
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/bp-relational-modeling.html

グローバルセカンダリインデックス
ローカルセカンダリインデックス(スパースインデックス推

元記事を表示

QuarkusがJava Lambdaを救う!?

すごいですQuarkus!!!!!!
JavaのLambdaのコールドスタートがチョッパヤです!!

以下の公式サイトを参考に試しました。

https://quarkus.io/guides/amazon-lambda#tracing-with-aws-xray-and-graalvm

# テスト対象

前回の[AWS LambdaのJavaは遅い?](https://qiita.com/moritalous/items/632333088948aad7f8c9)とほぼ同じですが、以下が異なります。いずれもQuarkusの制限?制約?です。

* アノテーションが付いてる
* httpClientがUrlConnectionHttpClient

ソース全体

“`java
package example;

import javax.inject.Named;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.s

元記事を表示

Golangはじめて物語(第2話: Gin+ECS+Fargateといっしょ編)

# はじめに
[前回](https://qiita.com/neruneruo/items/1ef52f908e4497103a59)の続編。
サーバレスの走り切り処理を書いたのだから、今度は常駐処理を書いてみよう。

JavaではWebアプリケーションサーバはSpringがデファクトになりつつあるが、GoのWebアプリケーションフレームワークはGinが良いという話を聞いた。今回は、Ginを試してみつつ、せっかく作ったのだから常駐のサーバレスコンテナで動かしてみよう。

統合開発環境は前回に引き続き、VSCode+Remote Development Extension Pack+EC2を使った。
Cloud9でいいじゃんという話もありつつ、ここはもう好みの問題だということで、こっちを使い続けた。
※Cloud9も使いやすくて好き。

Go言語ランタイムのインストールなんかも、前回の記事を参照。

# 全体構成
以下のようになる。アプリケーションの仕様は以下の通り。
※Ginのサンプルプロジェクトを少しだけ改造。

– /articleのリソースにPOST(BODYにJSONで“`{

元記事を表示

未経験が受託企業に入って1年経ったので、学んだスキル全部書いてみる

#はじめに 

2019年6月にキャリアをスタートさせました。
Railsエンジニアとして1年でいろいろなことを学んできたので、簡単にまとめていきます。

いろいろなキャリアの積み方があるのでどれほど成長できてるのかは不明ですが、ほんの一例としてご参考ください。
※表現のおかしい点等ありましたら、ご指摘頂けますと嬉しいです。

前回:[未経験が受託企業に入って半年経ったので、学んだスキル全部書いてみる](https://qiita.com/wann/items/2ccbe77ba7939b03ba9c)

#簡単な経歴

・一般大卒
 パソコンスキルはitunesで音楽入れる程度
・某アパレルチェーンで3年勤務
 内2年管理職
 パソコンスキルはWordで毎週報告書を書く程度
・2018/12〜  Mac購入
       某オンラインスクールで勉強開始
・2019/3〜 独学開始、都内もくもく会に週1参加、Menta契約、アプリ作成
・2019/6〜 就職
・2020/7 現在(2年目)

#半年〜1年で学んだこと

##1)技術関連

###Ruby/Rails
4ヶ月くらいは毎

元記事を表示

【aws-cli】リージョン一覧を出力するコマンド

# 検証環境

aws-cli 2.0.30

# 有効になっているリージョンの一覧を出力する

## コマンド

“`sh
$ aws ec2 describe-regions
“`

## 出力

“`json
{
“Regions”: [
{
“Endpoint”: “ec2.eu-north-1.amazonaws.com”,
“RegionName”: “eu-north-1”,
“OptInStatus”: “opt-in-not-required”
},
{
“Endpoint”: “ec2.ap-south-1.amazonaws.com”,
“RegionName”: “ap-south-1”,
“OptInStatus”: “opt-in-not-required”
},
{
“Endpoint”: “ec2

元記事を表示

高卒フリーターから、Web系自社開発企業のエンジニアになるまで

# はじめに
一浪して入った大学を中退し、webエンジニアを目指して学習を開始してから約半年間、
晴れて__web系自社開発企業様からサーバーサイドエンジニア__として内定を頂けたので、学習過程や、就職活動で得た知見を共有したいと思います。
就職活動中の方のご参考になれば幸いです!

僕のスペックは以下の通りです。
__今年23歳/高卒/フリーター/社会人経験なし__
謙遜ではなく、どう考えても高スペックではありません。
こんな僕が内定を得るためには、そう選択肢はありません。やるべきことは決まっていました。

__モダンな技術を使用したポートフォリオを作ること。__

以下、学習手順と、就職活動内容を書きます。

# 目次
0. ポートフォリオ紹介
1. ProgateにてHello World (2020/1月)
2. ドットインストールを貪る (2020/2月)
3. モダンな技術にチャレンジ(Docker,AWS) (2020/3月)
4. ポートフォリオ作成 (2020/4月~6月)
5. いざ、就職活動へ (2020/6月~7月)
6. 就活を終えての所感

AWS ネットワーク基本概要

## リージョン
AWSの各サービスが提供されている地域のこと
日本でサービスを展開する場合は通常tokyoリージョンを使う

## アベイラビリティゾーン
同一リージョン内のある独立したそれぞれのデータセンターのこと。
1つのリージョンは2つ以上のアベイラビリティーゾーンがある。
離れた距離にデータセンターを持つことで災害に対応できるようにしている。

例えばEC2を立ち上げるとき、まずリージョンを選び、アベイラビリティーゾーンを選びます。
そのとき複数のアベイラビリティゾーンにサーバをそれぞれ立ち上げれば、災害などで障害が起こっても、他のサーバは大丈夫なので、障害に強くなる。

## VPC(バーチャルプライベートクラウド)
AWS上に仮想ネットワークを構築できるサービス。
AWS上にサーバを作るときは、まずVPCを作り、その中をサブネットでわけ、そのサブネットの中にサーバーを設置するという流れになる。

リージョンをまたいで作ることはできず、いつのVPCは一つのリージョン内を選択する。
VPC内に複数のサブネットを作れ、それぞれのサブネットの内のアベイラビリティゾーンは違うものが

元記事を表示

AWSコスト削減でやってみたこと

#はじめに

サービス開始後、時間が経つにつれ肥大化するAWSのコスト。
とうとうその金額に白羽の矢が立った為、[AWSのコストを削減する9の方法](https://aws.amazon.com/jp/blogs/news/9ways-to-optimize-aws-cost/) を実際に試したので、その実施内容を紹介します。

##1. 未使用状態のAmazon EC2やAmazon RDS インスタンスへの支払いを止める
効果が最も高かったのがこれです。すぐに着手すべき最強の一手でした。

###EC2のスケジューリング
DEV環境やSTG環境は平日夜間・休日は使用しないしない為、平日日勤のみ起動するようにしました。
Auto Scalingで管理していたので、[Auto Scaling のスケジュールに基づくスケーリング](https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/schedule_time.html)を利用しました。また、公式に[AWS Instance Scheduler](https://aw

元記事を表示

「自分用メモ」AWSのベストプラクティスとなる主な設計原則

■主な設計原則には次のような内容がある。

 ◎スケーラビリティ
 ◎デプロイ可能なリソース
 ◎環境の自動化
 ◎疎結合化
 ◎サーバー代わりのマネージドサービス
 ◎柔軟なデータストレージオプション

元記事を表示

【AWS】WordPress「画像を切り抜く際にエラーが発生しました。」の対処方法

#現象
Amazon LinuxインスタンスでWordpressをたてた。その際に画像を編集すると「画像を切り抜く際にエラーが発生しました。」とエラーが発生し、画像を切り抜けない。

#原因
原因はphp-gdというプログラムがインストールしていないため。
実際にphp-gdがインストールされているか、下記コマンドを入力して確かめたが、やはりインストールされていなかった。

“`
yum info php-gd
“`

表示結果

“`
$ yum info php-gd
読み込んだプラグイン:xxx
利用可能なパッケージ
名前 : php-gd
アーキテクチャー : xxx
バージョン : xxx
リリース : xxx
容量 : xxx
リポジトリー : xxx
要約 : A module for PHP applications for using the gd graphics
: li

元記事を表示

【AWS】EC2インスタンスにnode.jsをインストールしてサンプルプログラムを実行

# 環境
Windows 10 Home
Tera Term 4.105(Macの人はTerminal)

# 前提
・Amazon Linux EC2
 -SSH接続可能
 -アウトバウンドのHTTP接続が可能

# node.jsをインストール
“`shell:ec2-linux
$ cd ~
$ wget https://nodejs.org/dist/v12.18.2/node-v12.18.2-linux-x64.tar.xz
“`
[公式サイト](https://nodejs.org/ja/download/)から最新バージョンのリンクを取得
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286189/93d30e4d-a654-cdc2-2cc3-5dbdbfba2964.png)

node-v12.18.2-linux-x64.tar.xz

“`shell:ec2-linux
$ cd ~
$ wget https://nodejs.org/dist/v12

元記事を表示

Amazon Rekognitionによる同一人物検出

[前回](https://qiita.com/i_12121226/items/50bb4f048d121c893268)に引き続き、Amazon Rekognitonを使って同一人物の検出を行ってみました。

# 概要
Amazon Rekognitionのcompare_facesというAPIを使って同一人物の検出を行います。compare_facesに2つの画像を入力するのですが、1つ目が検出したい人物の映った画像、2つ目が検出対象の画像となります。

# 実行環境

OS:Windows10
言語:Python3.7

# 事前準備

AWS CLI(aws configure)にて、以下の認証情報をセットしておきます。

AWS Access Key ID
AWS Secret Access Key
Default region name
Default output format

# ソースコード(face_compare.py)

“`py:face_compare.py
import boto3
import sys
from PIL import Image,Im

元記事を表示

【AWS SDK】EC2自動構築用スクリプト

##目標
AWS SDK(AWS SDK for Ruby)を利用してEC2自動構築を行う。

##はじめに
AWS SDKの基礎知識をまとめた後、実際の動作をAWS SDK for Rubyを利用したEC2自動構築で試してみます。

##AWS SDK
AWSが提供しているAPIの一種で、AWSがサポートする様々なプログラミング言語にライブラリとしてインポートして利用します。
現在以下の言語がサポートされており、各種プログラムからのAWSリソース操作を可能にします。

・C++
・Go
・Java
・JavaScript
・.NET
・Node.js
・PHP
・Python
・**Ruby(本記事ではこれを利用)**

##AWS CLI、SDK利用時の認証
AWS CLI(OSコマンドライン上やシェルスクリプト、PowerShell上で利用)、AWS SDK(各種プログラミング言語上で利用)を利用する際には認証情報が必要となります。
認証情報の設定方法には以下3つの方法が存在しており、参照優先度が異なります。

| 項番| 優先度 | 認証情報の設定箇所 |
|:—-:|:-

元記事を表示

大戦略の設計フレームワークを作成する

# DIMEをベースとした大戦略の設計フレームワークを作成する
下記の記事で、進化心理学のマズローの要求階層モデルを利用して大戦略レベルにおける戦略の判断モデルを作成した。
https://qiita.com/aLtrh3IpQEnXKN7/items/e7552ffc1ec31de1b8c5
大戦略において戦略の判断も重要だが、大戦略を設計、運用する設計図も重要である。
2020年のアメリカ、中国、ロシアは**DIME**と呼ばれる概念で大戦略を設計、運用している。
**DIMEとは・・・国家戦略を考える際に重要となる、外交(Diplomacy)、インテリジェンス(Intelligence)、軍事(Military)、経済(Economy)の4要素を組み合わせた国家の安全保障の基本戦略。**
今回の記事では**DIME**をベースとして、大戦略の設計、運用を行うフレームワーク作成する。

#21世紀の新しい戦争のスタイル、超限戦
## 超限戦とは
中国人民解放軍の喬良、王湘穂によって提唱された21世紀の新しい戦争の形態。
超限戦の記載されている以下の文言が21世紀の新しい戦争の形態で

元記事を表示

rails サーバー途中から立ち上がらない

$cd アプリ名
$rails s
でいつも立ち上げているのですが立ち上がらなくなりました。
どうしたら立ち上がりますか?スクリーンショット 2020-07-11 9.09.27.png

元記事を表示

(AWS初心者)なんのためにVPC構築するのか?

## (結論)EC2(Webサーバー)をつくるためにVPCを構築する 
▼EC2を作成するためには?
VPCをつくって、更にそこからネットワーク(サブネット)を分けて、その中にサーバーを設置する。

▼じゃあそのVPCを作成するためには?
リージョンを選択してアベイラビリティーゾーンにまたがってVPCをつくる。

見返した時、パッと思い出せるよう,一つ一つ調べてみた。

## リージョンとは
AWSの各サービスが提供されている地域のこと。日本にあるのは東京リージョンのみ。
日本でサービスを展開する場合は東京リージョンに提供してもらえばよい。

## アベイラビリティーゾーンとは
独立したデータセンターのこと。

【用語】
・データセンター・・・顧客のサーバー機などを収容し、運用管理している施設。ドラマとかでよくみるやつ。

元記事を表示

OTHERカテゴリの最新記事