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

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

CodeBuildを使ってみよう -本編-

#構成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/659469/0dfb9111-b2fb-a515-1f14-6d67ea564542.png)

# ビルド対象のディレクトリ構造(SpringBoot)
SpringBootプロジェクトをGradleでビルドし、イメージ化してECRにプッシュします。

“`:ディレクトリ構造
.
├── Dockerfile
├── build
├── build.gradle
├── gradle
├── gradlew
├── settings.gradle
└── src
“`

#ビルドプロジェクト作成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/659469/439d15fc-115f-90b2-47d0-06b84be549ec.png)

ビルドプロジェクトの主な設定は以下の通りです。Dockerを使用する為、特権付与の項

元記事を表示

CloudFormationのテンプレートを速攻で探しやすく整理する(2)

[前回の記事](https://qiita.com/harashin-midnight-only/items/6c3c1a4ad7e02902668f)では、クラウドの設計監理ツール[ForkMe!(フォークミー)](https://reindeer.tech/ja/index.html#forkme)を使って、CloudFormationのテンプレートを見通しよく整理する方法をご紹介しました。
今回は引き続きForkMe!を使って、テンプレートを流用する際の探しやすさをもう一段レベルアップさせる方法をご紹介します。

#1. テンプレート探しで重要なのは「要件データ」
単純に考えると、大量アクセスを想定するサイトとそうでないもの、予算のある案件とそうでないもの、ECサイトと社内システムでは、設計が異なるはずです。よって[ForkMe!(フォークミー)](https://reindeer.tech/ja/index.html#forkme)では、以下のような要件データでテンプレートの検索、比較が行えるようになっています。

* 想定性能(rps)
* 見積価格
* ユーザー数やデータ送

元記事を表示

CloudFormationのテンプレートを速攻で探しやすく整理する(1)

CloudFormationのテンプレート管理に、GitHubを利用する方は多いと思います。GitHubのバージョン管理やCIワークフローはパワフルなので、システムごとのテンプレート運用には効果的です。

しかし新しいシステムに別案件のテンプレートを流用したいと思った時、案件毎に分かれたリポジトリを探るのは結構大変です。記憶を頼りにリポジトリを開いていく作業は場当たり的で無駄が多いし、やっと見つけてカスタマイズを済ませた後、より最適なテンプレートが別にあったことに気づいたりすると、本当にげんなりします。

よって今回は**CloudFormationテンプレートの流用性**を向上させるために、それらを見通しよく整理する方法をご紹介します。

#1. ForkMe!にテンプレートをアップロードする
テンプレートの整理に、クラウドの設計監理に特化した[ForkMe!(フォークミー)というツール](https://reindeer.tech/ja/index.html#forkme)を使います。JSON/YAMLファイルのインポートに対応しているので、手元のテンプレートをとりあえずどんどんア

元記事を表示

S3 + Laravel + herokuで画像アップロードまとめ【忙しい人のため用】

LaravelとherokuでのS3を用いた画像アップロード記事はいくつか転がっているので、こちらの記事では要点だけを抑え、なるべく短時間でデプロイできるよう見やすく仕上げたつもりです。
そのため、S3に対する理解がとぼしくなる恐れがございます。(S3については少し調べてくるといいかもです。)
エラー解決も含め、みなさんの何かの参考になれば幸いです。

【設定環境】
M1 mac OS Big Sur 11.2.2
Composer 2.0.13
Laravel 5.8
PHP 7.2

画像アップロード&表示までの流れ(目次)

① S3の設定

② AWS SDK for PHP のインストール

③ ファイル操作用パッケージのインストール

④ Herokuの環境変数を設定

⑤ コントローラー(保存),ビュー(送信と表示)

⑥ S3のアクセス権限の許可

① S3の設定

AWSのアカウント作成

→ [AWSアカウント作成の流れ](https://aws.amazon.com/jp/registe

元記事を表示

EC2インスタンスを見失ったときにはリージョンが間違っている可能性が高い

EC2コンソールで作成したはずのインスタンスがない…!という事象に遭遇。
いやそんなことはないやろ、ターミナルからsshでログインもできているし。

# 結論…リージョンが違った

EC2コンソール上で指定しているリージョンが違ったようです。
リージョンを確認するにはsshでAMIにログイン後

“`
[ec2-user@ ~]$ curl -s http://169.254.169.254/latest/metacement/availability-zone | sed -e ‘s/.$//g’
“`

で確認できます。これはAZ(アベイラビリティゾーン)の値からリージョンを取得する方法のようです。
コマンドを実行すると `us-east-1` と出ました。おいおい東京じゃないじゃないか…
東京で設定しているつもりで東京にリージョンを設定していたのでそりゃ出てこんわな。

参考
https://qiita.com/tt2004d/items/46ea80cd7cb20212e50e

# リージョンの移動方法

上記コマンドでリージョンが確認後、東京に移動したくなりました。

元記事を表示

AWS EC2インスタンスにIAMロールを割り当てる

EC2インスタンスへのIAMロールの割当手順をまとめました。
以下サイトを参考にしてます。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html

1. EC2コンソールへアクセス
1. ロールを割り当てたいインスタンスにチェック
1. アクション→セキュリティ→ IAMロールを変更と進む

画像の赤枠のところをクリックしてください。
![インスタンス___EC2_Management_Console.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652172/593c2c22-f6aa-bdc7-b7d4-f9fbe4ac841c.png)

4. 割り当てたいロールをプルダウンから選択して「保存」をクリック
![IAM_ロールを変更___EC2_Management_Console.png](https://qiita-image-store.s3.ap-northeast-1.

元記事を表示

AWS rootアカウントに対するMFA(多要素認証)の割当

AWSをいじっていてrootアカウントに対するMFAの設定をどこからやるのかちょっとわかんなくなってしまっていたので調べました。
これに限らずAWSは何かと忘れやすいので適宜アウトプットして定着しておきたい。

# ①IAMコンソールにアクセス
IAMって検索してリンクをクリックする。「rootユーザーなのにIAMなのかよ!」とは思ったけど気にしない。
その時rootアカウントにMFAが設定されていないと以下の画像のような画面になっている。
![IAM_Management_Console.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652172/00cd752a-67e2-bb41-4860-95cf4c824dbd.png)

赤枠で囲った「セキュリティアラート」ってとこに「このアカウントのrootユーザーには多要素認証(MFA)が有効になっていません」と出ているので「MFAを有効にして」のとこのリンクをクリック

# ②以下の画像から「MFAの有効化」をクリック
![IAM_Manageme

元記事を表示

AWSクラウドプラクティショナー学習3日目

# AWSのサービス

180以上のサービスの組み合わせでインフラを構築できる!

# グローバルインフラストラクチャ

サービスごとに世界中のどこにいても使える→要件に応じて選択可能

## 地域の単位

– リージョン…世界で24個。日本だとTokyoが有る
– ローカルリージョン…リージョンの補佐的な位置づけ。
– アベイラビリティゾーン…リージョン1つにつき2つ以上
– データセンター…AZ1つにつき複数

### リージョンの選び方

– 保有するデータ、システムがリージョンの法律・システム所有企業の要件を満たしているか
– ユーザーやデータセンターに近いか
– 必要なサービスが揃っているか(使えるサービスはリージョンごとに異なる)
– コスト効率がいいか(リージョンによって価格は異なる)

### なぜAZは複数あるのか?

特定のAZが使えなくなったとしても別のAZでカバーするため
→障害を意識した設計(Design for Failure)

### データセンターは物理的に守られている

– 見た目ではデータセンターとわからない
– 警備が頑丈
– 場所は

元記事を表示

CodeBuildを使ってみよう -テスト編-

#対象プロジェクト(SpringBoot)

http://myhero2.s3-website-us-west-2.amazonaws.com/dashboard

こちらのポートフォリオではバックエンドのフレームワークとしてSpringBootを使用しています。CodeBuildでSpringBootのソースコードをイメージ化してECRにプッシュするプロジェクトを作成します。

#ローカル環境でビルドのテスト
CodeBuildでビルドプロジェクトを作成する前に、ローカル環境でamazonlinuxイメージを使用してコンテナ内でイメージをビルドし、ECRにプッシュできることを確かめます。ディレクトリ構造は以下の通りです。

“`:ディレクトリ構造
.
├── Dockerfile
└── SpringBootProject
├── Dockerfile
├── build
├── build.gradle
├── gradle
├── build.sh
├── gradlew
├── settings.gradle

元記事を表示

【AWS】S3のオブジェクト構成とデータ構造

#プログラミング勉強日記
2021年5月30日

#オブジェクト構成
 S3のオブジェクトは、`key`, `value`, `バージョンID`, `メタデータ`, `サブリソース`の要素から構成されている。
 keyはオブジェクトの名前で、一意に識別するためにキー値が設定されている。valueはデータそのもので、バイト値で構成される。(データの名前がkeyでデータそのものがvalue)
 バージョン管理されていると、バージョンIDが振られていく。バージョンIDは英数字の羅列になっていて、これでバージョン管理されている。メタデータはオブジェクトに付随する属性の情報で追加で加えられる。サブリソースはバケット構成情報を保存・管理するためのサポートを提供する。

#データ構造
 S3のデータ構造は以下のようになっている。まず、S3という大きな枠があってその中にバケットを作る。バケットは様々なリージョンを指定して作る。そしてその下にオブジェクトとして様々なファイルが格納されている。

![image.png](https://qiita-image-store.s3.ap-northeast

元記事を表示

【Laravel】【jQuery】未経験から入社して約一年経ったので、1か月間でちょっとしたWEBアプリケーションを作ってみた

#はじめに
当記事を開いていただきありがとうございます。
タイトルの通り、未経験から新卒社員として開発事業部に入社して約一年が経ちました。そこで、学んだことを活かして、一か月間でLaravel、JQueryを用いたちょっとしたWEbアプリアプリケーションを作ってみました。当記事は作ったアプリケーションの紹介と感想をまとめたものです。

#投稿者の情報
・2020年4月に未経験から新卒社員として開発事業部に入社
・入社後は主にサーバー側の実装を担当
・Laravel,jQueryは案件では少ししか触ったことがない
・2020年10月、AWSアソシエイトの資格を取得し、以降2件ほどインフラ構築にチャレンジさせてもらった

#公開中のテスト環境
https://view-saurus.com/
!注意!
最低限の機能のみのテスト環境です。予期せぬ不具合が発生する場合があります。予めご了承ください。
テスト環境の出力は一回のみ可能です。
テスト環境についてのご指摘、ご質問を当記事にコメントすることはお控えください。
zipでの出力のため、chromeの場合は出力時に警告が出る場合があります。

元記事を表示

Terraform と Amazon API Gateway でS3バケットにファイルアップロードする

# はじめに
Amazon API Gateway の AWS サービス統合では、Lambda を通さずに直接サービスにアクセスすることができて、No-Code、Low-Code な感じでサービスを構築することができる(実際には YAML とか VTL とか知らないといけないから、No-Code ではないか)。

今回は、S3バケットにファイルをアップロードする API Gateway を構築してみる。

なお、参考にしたのは以下の公式ドキュメントだ。

– [API Gateway API を介して Amazon S3 のバイナリファイルにアクセスする](https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-content-encodings-examples-image-s3.html)

# Amazon API Gatewayの構築
アップロードする API は API Gateway の “`prod/uploader“` に PUT するメソッドを作ることにしよう。

元記事を表示

【試験合格記】AWS 認定 データアナリティクス – 専門知識(DAS-C01)

お疲れさまです。
表題の試験に合格したため記録として残したいと思います。

# 結果
合格(776点)

# 試験内容の出題分野と比重

[AWS-Certified-Data-Analytics-Specialty_Exam-Guide.pdf](https://d1.awsstatic.com/ja_JP/training-and-certification/docs-data-analytics-specialty/AWS-Certified-Data-Analytics-Specialty_Exam-Guide.pdf)

|分野|名称|割合|
|:—————–|:——————-|:——————-|
|1|収集|18%|
|2|格納およびデータ管理|22%|
|3|処理|24%|
|4|分析および可視化|18%|
|5|セキュリティ化|18%|

# 所感
旧試験であるビッグデータの出題内容から比較するとデータレイクの選択とデータ分析のアーキテクチャに振りが強くなったように感じました。
以前のようにノールック

元記事を表示

Webアプリ公開のためのインフラ環境をCloudFormationで構築してみた

#目次
[1.はじめに](#はじめに)
[2.前提](#前提)
[3.独自ドメインの取得](#独自ドメインの取得)
[4.ネットワークの設定](#ネットワークの設定)
[5.セキュリティの設定](#セキュリティの設定)
[6.仮想サーバおよび独自ドメインの設定](#仮想サーバおよび独自ドメインの設定)
[7.通信のhttps化およびデータベースの設定](#通信のhttps化およびデータベースの設定)
[8.稼働確認](#稼働確認)
[9.まとめ](#まとめ)
[10.cloudformationテンプレート](#cloudformationテンプレート)
[11.参考](#参考)

#はじめに
WebアプリをAWSのEC2上へデプロイする場合、インフラ環境には以下のような様々なAWSリソースを使用することになり、毎回手作業で設定をしていくと、時間もかかりますし、設定ミスをする可能性も出てきます。そこで今回、Webアプリをインターネットに公開するためのインフラ環境を、AWSのCloudFormationでコード化し、構築しましたので、大まかな手順を整理します。

■ AWSインフ

元記事を表示

RDS / Aurora のパフォーマンスインサイト API を使って S3 に SQL トップ 10 とその待機イベント内訳を転記する

こちらは[この記事](https://qiita.com/hmatsu47/items/b689db489e75836b0d7d)の続きです。

– **[RDS / Aurora のパフォーマンスインサイト API を使って S3 に分単位の SQL トップ 10 を転記する](https://qiita.com/hmatsu47/items/b689db489e75836b0d7d)**

今回は、SQL トップ 10 に加えて、**SQL トップ 10 の待機イベント内訳**も(同じ S3 バケットに別のプレフィックスを付けて)転記します。

# 待機イベント内訳が必要になるケース

処理時間の長い SQL(文)のチューニングを行う場合、基本的には`EXPLAIN`などを使うことで原因調査が可能です。
ただ、

– 単純な`INSERT`文や主キーで一意に絞り込んだ`UPDATE`文が遅い
– ほかに処理時間が長い更新・削除や DDL が並行して実行された形跡がなく、ロック待ちで遅くなったとは考えづらい
– 特に CPU 使用率や I/O 負荷の上昇なども見られない

元記事を表示

AWS 認定ソリューションアーキテクト アソシエイト(SAA-C02) に合格しました

## はじめに
AWS認定ソリューションアーキテクト – アソシエイト(SAA-C02)試験に合格しました。
お約束なのでメモを残しておきます。

## 自分のレベル

プロジェクトの開発環境としてAWSを使っていますが、利用者として雰囲気で触っているだけで、実は良く分かっていない所が多いです。
チュートリアルやハンズオンをポチポチ試すことはありますが、IAMが良く分からなくてついルートアカウントでやってしまうレベルです。
一度AWSのことを体系的に学習したいと思ってSAAを受験することにしてみました。

(追記)
元ネットワーク屋なので、VPCやゲートウェイ、ルーティング周りの知識はそれなりにありました。
この辺の問題が出たらボーナスチャンスくらいの印象だったので、ちょっとだけ楽できたかもしれません。

## 合格までの勉強期間
約1か月。
実働は20~30h程度でしょうか。
ちなみに机上での学習オンリーで、AWSのトレーニングや、実際にAWSを触りながらの勉強は一切やっていません。
実務のことを考えるとあまり良くはないのかもしれませんが、資格を取るという観点では机上だけで問題ないと

元記事を表示

phpについて

PHPの次は何を勉強しようかな。

元記事を表示

【AWS】EC2もろもろ

# はじめに

こんにちは。rattsl(@rattsl)です。
今回はAWS EC2についてハンズオンで色々いじったのでメモとして残します。
間違えて認識している部分があったらご指摘ください。

## サーバーについて

AWSとレンタルサーバーの違いは?6つの違いと用途別の違いを解説

余談ですが本題に入る前に。

はじめはとりあえずインフラはAWS使っときゃよくね?と思ってました。
しかしこの記事を読んで、どのサービスのインフラもAWSを使ったらいいというわけではなく、レンタルサーバとクラウドの利用体系の特徴からそのサービス(クライアントの予算等を含め)に最適なインフラを利用し運用するのがベストだということが分かりました。

## EC2
### EC2とは
`従量課金型仮想サーバー`
レンタルサーバーは、イニシャルコストが発生しサーバーを立てるまでに時間がかかるのに対し、AWS EC2は数分で構築可能でイニシャルコストが秒単位で課金されていく特徴を持つ。

利用する単位を`インスタンス`と呼び、任意のAZに立ち上げてサーバーとして利用する。

元記事を表示

2019年のAmazon SageMakerハンズオンでのハマりポイント

##はじめに

2019年5月にAWS主催で開催された[Amazon SageMaker 機械学習エンジニア向け体験ハンズオン](https://pages.awscloud.com/event_JAPAN_hands-on-ml_ondemand.html)が、一般に公開されています。

SageMakerを含むAI/MLサービスに興味がわいてきたので、専門知識-データアナリティクスと、機械学習の試験勉強も兼ねてハンズオンを実施したのですが、SageMakerのバージョンが1.xx時代のもので、今は2.xxにバージョンが上がっているため、このまま実施するとあちこちでエラーとなり、どはまりします。

このSageMakerハンズオンを実施する皆様が、私のようにはまらないように、本記事を投稿させていただきます。

## ビルトインアルゴリズムを利用したハンズオン
####1. 学習の実行でAttributeErroreエラーが発生
学習の実行で、AttributeError: ‘Series’ object has no attribute ‘as_matrix’ が発生します。

`

元記事を表示

ECSでマイクロサービスアーキテクチャを構築し、HTTPSで公開するCloudFormationテンプレート

# はじめに
30代未経験からエンジニアを目指して勉強中のYNと申します。
自分の学習記録としてまとめます。

# 全体像
ECSクラスタ内では、service discoveryを使って複数のservice間で通信を行うことができます。
今回は、下記のように簡単な2つのserviceを連携させます。

* `https://subdomain.domain.com` => Frontend ECS serviceから`Hello from FRONTEND-server!`が返ってくる
* `https://subdomain.domain.com/backend` => Frontend ECS serviceからBackend ECS serviceを介して`Hello from BACKEND-server!`が返ってくる

![ECS_CICD_pipeline-Page-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572098/5c4c22de-ee97-b034-2885-2d5e8

元記事を表示

OTHERカテゴリの最新記事