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

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

AWS Certified Database – Specialty 合格しました

先日、AWS認定データベース専門知識の試験を受験し、合格しました!
その記録を残しておきます。

AWSのデータベース関連の実務経歴としては、RDS PostgreSQLが直近1年ぐらいです。DMSは検証でちょっとだけ触りました。

AWS認定試験の履歴 (リンクは合格体験記)

– 2019年9月 AWS Certified Solutions Architect – Associate
– 2019年10月 [AWS Certified Big Data – Specialty](https://qiita.com/suzuki-navi/items/8b2fe5a35a4439013461)
– 2019年11月 [AWS Certified Machine Learning – Specialty](https://qiita.com/suzuki-navi/items/3664bfbc102052717426)
– 2020年10月 AWS Certified Database – Specialty (今回)

# 勉強方法

AWSが公開しているYouTubeの動画を見

元記事を表示

AWS S3 MacローカルディレクトリのファイルをS3に差分同期する

# 目的

– AWSのS3の任意のバケットにMacローカルのディレクトリの差分だけを同期する方法をまとめる

# 実施環境

– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– S3
– 下記の方法でバケットを作成した。
– [AWS S3のバケットの作り方](https://qiita.com/miriwo/items/41e488b79fb58fa7c952)

# 前提条件

– 下記の方法でMacローカルのファイルを同期することがすでにできていること。
– [AWS S3 Macローカルの

元記事を表示

Amazon Web Services入門 (AWSの基礎)

# はじめに
ITシステムやアプリケーション構築する際に「サーバーレス」というのが当たり前になっています。
クラウドの中で最もシェアが高く世界中で利用されているのが AWS です。
![Amazon-Web-Services_logo835x396.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229633/5abec582-9624-d757-303d-21a58c4cf813.png)
AWS には、サーバーレスアプリケーションの構築と実行に使用可能な、一連の完全マネージド型サービスが用意されています。サーバーレスアプリケーションでは、コンピューティング、データベース、ストレージ、ストリーム処理、メッセージキューイングなどのバックエンドコンポーネントのために、サーバーのプロビジョニングやメンテナンス、管理を行う必要がありません。また、アプリケーションの耐障害性や可用性を心配する必要もなくなりました。

AWS の機能を基準にしてクラウドやオンプレミス環境との機能やコスト比較することがIT構築で必須と

元記事を表示

NginxでAWS ELBのHealth Checkログを出力させない方法

NginxでAWS ELBのHealth Checkをアクセスログとして出力させない方法を紹介します

# 環境

![Nginx](https://img.shields.io/badge/nginx-1.19-green.svg) ![LB](https://img.shields.io/badge/LB-AWS%20ELB-orange.svg)

# 方法

## コンフィグ

“`nginx
map $http_user_agent $loggable {
~ELB-HealthChecker 0;
default 1;
}

access_log /var/log/nginx/access.log main if=$loggable;
“`

## 解説

mapとaccess_logに分けて少し解説していきます

### map

`map $first $second {…}`とすると、`$first`を`{…}`に沿って評価して返り値を`$second`にマッピングします
今回の場合は`$http_user_ag

元記事を表示

【挫折経験アリ】プログラミング未経験から独学10カ月でAWS,Laravel,Nuxt.js製webサービスをリリースするまで

#プログラミング初心者こそ個人サービス作るべき

一度プログラミング学習に挫折したこともある僕ですが、学習を再度開始して半年ほど経ってから個人開発を始めました。

まず前提ですが、この記事は以下の方向けです。

  • プログラミング頑張りたい初心者
  • プログラミング学習継続してるのに中々成果が出ない方
  • 個人開発でアプリケーションつくりたいから参考にしたい方

少しでも、プログラミング初学者の方の学習継続のヒントになれば幸いです。

まず初めに、一念発起して本気で個人開発したwebアプリがこちらです。

https://connectee.jp/

サービスの目的は3つあります。
**1. オンラインイベントの開催にかかる負担を減らす。**
**2. 難しいイベント集客のサポートのため、出不精の人でも集客できるくらい、拡散されやすい仕組みを作る。**
**3. 来客者の期待値と主催者のイベント内容のミスマッチをなくす。**

まだまだ機能的に足りていませんが、サービスが目指す世界は以上の3つです。

##サービ

元記事を表示

AWS運用改善サービスランキング【AWS Management Governance】

AWSを運用していると下記の様な悩みがでてきます。

* 便利さとセキュリティが両立できない。問題発生によりどんどん運用が面倒になる
* ソフトウェアバージョン管理ができていない(知らないうちに古いバージョンのまま使い続けていた)
* 同じような環境作成の依頼が何度も来る。(特にテスト環境など)
* コスト管理が面倒(組織や部署ごとに算出できていない)
* AWS運用改善案がでてこない(これは悩みではないかも)

私は大規模ECサイトの運用に1年ちょっと携わっています。
このECサイトは2015年に構築されたシステムであり、
今のベストプラクティスとはかけ離れていることから
上記のような悩みが出てきてしまいました。

そこでAWS Management GovernanceのAWSサービスの中でAWS運用改善効果の高い順にランキングしました。
導入難易度も考慮に入れています。
この順序で導入を検討してみるのが良いのかなと思います。

### AWS Management Governance(旧 Management Tools)とは
[AWS での管理とガバナンスの概要](https

元記事を表示

[AWS SAM] Lambda関数からS3アクセス

1. [[AWS SAM] 概要、Hello World](https://qiita.com/takmot/items/27f7145f953fc62bdf6b)
2. [AWS SAM] Lambda関数からS3アクセス (※本記事)

# Lambda関数からS3にアクセスする

変更必要点

– Lambda関数にS3アクセス権限を与える
– Lambda関数から参照するバケット名を環境変数に追加する

変更後テンプレートは以下のようになる

“`yaml
Parameters:
DataBucketName:
Type: String
Default: ‘for-dev-bucket’

Resources:
GetAllDataFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: get-all-data/
Handler: function.lambda_handler
Runtime: python3.8
En

元記事を表示

[AWS SAM] 概要、Hello World

1. [AWS SAM] 概要、Hello World (※本記事)
2. [[AWS SAM] Lambda関数からS3アクセス](https://qiita.com/takmot/items/6c8cefe94f80a214aeb0)

# AWS SAM(AWS Serverless Application Model)

## サーバレスアプリケーション

Lambda関数、トリガとなるイベントリソース、およびLambda関数から操作するリソース等を組み合わせたもの

## AWS SAM

サーバレスアプリケーションのデプロイに特化したAWS CloudFormationの拡張機能
CloudFormationと比べて簡潔にテンプレートを記述可能
SAMはCloudFormationの拡張機能のため、CloudFormationの文法と共存可能
SAMでサポートしていないサービスについてはCloudFormationの文法で対応

CloudFormationと同様にYAMLまたはJSONでSAMテンプレートを記述する
デプロイ時にCloudFormationによってSAMテ

元記事を表示

AWSクラウドプラクティショナー 直前対策】

#【AWSクラウドプラクティショナー 直前対策】

10/24に試験を受けます。
自分の直前対策用です。

##Amazon CloudWatch Logs⇔AWS CloudTrail

###・Amazon CloudWatch Logs

AmazonEC2インタンス、AWS CloudTrail、Route 53、およびその他のソースのログファイルを監視、保存、アクセスできる。

###・AWS CloudTrail

AWSアカウントのガバナンス、コンプライアンス、運用監査、リスク監査を行うためのサービス
AWSインフラストラクチャ全体でアカウントアクティビテイをログに記録し、継続的に監視し、保持できる。
→取得するログはユーザーアクティビティに関するものである。EC2インスタンスのログを取得することはできない。

##EBS⇔インスタンストア

###・EBS

EC2インスタンスにアタッチ。
AZ内に自動レプリケート。
スナップショットは、S3に保存される。

###・インスタンストア

ホストのローカルストレージ。
インスタンス状態に依存するため、一時的。

##Dyn

元記事を表示

Amazon Elasticsearch Serviceを最小構成で作ってみた

※最小構成(コスト的に)で構築する手順を書いていますが、注意が必要なので前置きが長いです。まずは作ってから考えたい人はスクロールして前置きを読み飛ばしてください
※構造を理解するために書いたものです。一部予想図で書いています
※Elasticsearchの具体的な操作方法は知りません。環境構築するためのお話です

# Amazon Elasticsearch Service(AmazonES)の位置づけ
Elasticsearch は、Elastic社が中心となって開発しているオープンソース製品名。
AmazonESは、このオープンソースをSaaSとして利用できるようにしたもの。

AWSの他のサービスと比べて、癖が強い感じがするので、癖の部分を”ポイント”としてまとめますた。
そのうえで、最小構成でAmazonESドメインを構築する手順を記載します。

## ポイント1:通信経路について

管理コンソールのドメイン作成ウィザードで、以下の選択があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaw

元記事を表示

最初のStackを騙せ!cdk deployを騙せ!

# はじめに

タイトルの元ネタは特に説明しません。今回はAWS CDKで複数のStackを作った時に発生するdeployエラーの回避方法について書きます。

# 発生しうるdeployエラー

CDKを実装する時に、設計思想的な観点からもリソース数制限の観点からもStackを分ける実装をおそらくすることは結構あると思います。この時、`cdk deploy`時に以下のようなエラーが発生することが度々ありました。

“`
Export Stack:XXXX cannot be deleted as it is in use by StackXXXX
“`

これが起こってしまうのは大体以下のようなStackを実装した場合だと思います([コード全体](https://github.com/ufoo68/sampleStack))。

“`typescript:sampleStack/lib/stackA.ts
import * as cdk from ‘@aws-cdk/core’
import * as lambda from ‘@aws-cdk/aws-lambda’

expo

元記事を表示

【AWS】QuickSightのダッシュボードで直近10日間のデータをデフォルト表示する

## はじめに
フィルタの相対日付を使うのではなく、パラメータとコントロールを使った動的デフォルト設定をやろうと思ったら、ちょっとトリッキーな対応が必要だったので共有します。

## やりたいこと
パラメータの動的デフォルト値を使って、ダッシュボードで常に直近10日間のデータをデフォルト表示するようにしたい。
(貼り付けたコントロールのデフォルトのフィルタ条件を「FROM日付=9日前」~「TO日付=本日」にしたい)

## 手順
1. AthenaにQuickSightのユーザーテーブルを作成する(カラムはuserのみでOK)

“`
CREATE EXTERNAL TABLE IF NOT EXISTS db_name.user (
user string
)
LOCATION ‘s3://XXXXXXXX/USER/’
TBLPROPERTIES (‘classification’=’csv’)
“`

1. 上記のS3上にQuickSightのユーザー名のみを記載したcsvファイルを配置する

“`(例) user.csv
Yuto.Yama

元記事を表示

AWSからのアカウント停止メール!?

休み明けの月曜日
メールを開くとAWSから以下のようなメールが届いていた

>Dear Amazon Web Services Customer,
>
>Your AWS Account is about to be suspended. There is still an outstanding payment problem with your account, as our previous communications did not lead to successful payment of your past due AWS charges.
>~以下略~

英語はもっぱら駄目なのでGoogle先生に翻訳してもらうと

>アマゾンウェブサービスのお客様へ、
>
>AWSアカウントが停止されようとしています。以前の連絡ではAWSの延滞料金の支払いが成功しなかったため、アカウントには未解決の支払いの問題がまだあります。
>~The following is omitted~

朝っぱらから背筋が凍るメール
(以前からメールは来ていたが埋もれて気づけなかった。。。)

[AWS

元記事を表示

実践編!Amazon S3/Google Cloud Storage エンタープライズデータ保護のテクニック 中編

##はじめに
前回は **[実践編!Amazon S3/Google Cloud Storage エンタープライズデータ保護のテクニック 前編](https://qiita.com/vxse_japan/items/b593c2c023fa0ac8fbd4)** としてデータ保護が必要な理由や実装のために必要なモジュール、検証環境を説明してきました。今回は続編として、アクセラレーターやリカバリにおける注意事項について解説していきます!

##3-2-1 ルール
みなさんはデータ保護の実装で必須と言われている 3-2-1 ルールをご存知でしょうか。3-2-1 ルールとは

– [ ] 3つのコピー
– [ ] 2つのメディア
– [ ] 1つの異なるロケーション

を意味します。データ被災に対する基本的な考え方で、これに加えて保持期限ベースの世代管理あるいはシングルクラウド非依存といった実装をします。商用レベルの実装です。例えば以下のように設計します。

– [x] MSDP on EBS & S3 & Glacier
– [x] EBS & S3
– [x] Tokyo & N

元記事を表示

CodePipelineを「例え話」で説明してみた話

# はじめに
自社内で開催しているAWS勉強会にて**CodePipeline**について説明する機会があり、そのまま説明しても理解が難しいだろうと思って「例え話」で説明してみたのですが、
「なんとなくだけど分かった!」風なリアクションをもらえたので公開したいと思います。

# 前提
勉強会の受講者の知識レベルは以下の通りです。

– そもそも、CI/CDが分からないし聞いたこともない。ピンとこない。

# 例え話
色々と考えた挙句、辿り着いたのが以下の例えです。

「**コンビニのバックヤードに置かれている段ボールに入ったペットボトルを冷蔵ケースに品出しするバイト**」

をテーマにして、

1. 店舗に新しいペットボトルが届く
1. ペットボトルをバックヤードに運ぶ
1. ペットボトルに破損が無いかチェックする
1. 問題なければ冷蔵ケースに並べる
1. お客様が購入する

という一連の流れがあった場合に、

「届いたペットボトルをバックヤードに運べば、あとは、CodePipelineが自動的に破損チェックをやって、冷蔵ケースに並べてくれるんですよ。すごいですよね?便利ですよね?楽

元記事を表示

CognitoにGoogleでサインインしたときメアド以外のGoogleの情報を取得したい

ほぼ自分用メモ。

# 前提

CognitoにGoogleでサインインするとこまではできる。
GoogleのトークンをCognitoのカスタム属性に入れるなりして参照可能な形にできる。

# やりたいこと

https://www.googleapis.com/admin/directory/v1/users/
このAPIを叩いてログインユーザーのGoogleアカウントの情報を引っ張りたい。
(他のGoogle APIでも大体やり方は同じじゃないかと思います)

# やりかた

### APIの仕様を調べる

#### 目的のAPIを探す。

今回使うのはAdminSDKのAPIなのでここから探します。
[Google API Reference](https://developers.google.com/admin-sdk/directory/v1/reference)

使いたいAPIはこちら。
[Users: get](https://developers.google.com/admin-sdk/directory/v1/reference/users/get)
![スクリ

元記事を表示

Elastic File Systemをざっくり知る。

#この記事について
Elastic File Syestemについてざっくり説明する営業資料記事的な感じ。
まだEFSを触ったこと無い人、調べてる途中の人、良さがわからんって人向けです。

「今からNFSインスタンスを構築するって?ならElastic File Systemを試してみない?」

#Elastic File Systemってなぁに
Amazon Web Services社が提供する**フルマネージド型のファイルシステム。**

・容量の心配無し(サイジング不要の従量課金)。
・メンテナンスの心配無し。
・EFSへのファイル伝送時は暗号化されてて高セキュア。

という、**最強のファイルシステム。**

EBSと比べると費用が3倍だったり、IOPS速度は汎用SSDと比べてちょっと遅かったり、
バックアップにはAmazon Backupの設定が必要だったりするけど、
そんなデメリット消し飛ばすくらいメリットや構成案の幅が増えるサービスである。

長年の課題だった**Autoscaling時の先祖返り対策がこれ一発で解決した。**
(今までは別途NFSインスタンス立てて、それの

元記事を表示

MacのターミナルでAWSのS3に接続してバケットの一覧を表示する

# 目的

– MacのターミナルでAWSのS3に接続してバケットの一覧を表示する方法をまとめる

# 実施環境

– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |

– S3
– 下記の方法でバケットを作成した。
– [AWS S3のバケットの作り方](https://qiita.com/miriwo/items/41e488b79fb58fa7c952)

# 必要なもの

– バケット作成をしたAWSアカウントのアクセスキーとシークレットアクセスキー(AWSのユーザアカウント登録時にダウンロードされたCS

元記事を表示

Heroku上の画像をAWSのS3へ保存する方法

# はじめに
AWSはAmazon Web Servisesの略で、Amazonが提供しているクラウドサーバーのサービスです。
多くの人や企業で使用されているサービスであり、使う容量や期間によっては完全に無料で使うことができます。

# Heroku上の画像をAWSに保存する理由
Herokuに保存した画像は24時間に一度リセットされる仕様になっています。
画像を外部のサーバーに保存することで、画像が消えてしまうという現象を防ぐことができるため、今回は外部サーバーとしてAWSを利用します。

# S3とは

AWSのサービスの一つで、12ヶ月間、5GBまでのストレージを無料で利用することができるサービスで、画像などを保存しておくことができます。

# 今回の手順
AWSへの登録はできている前提で進めます。(登録していない方はAWSで検索して、新規登録してください。)

* IAMユーザーを作成する
* S3に画像の保存先を用意する
* ローカル環境で画像の保存先をS3に変更する
* 本番環境で画像の保存先をS3に変更する

# IAMユーザーを作成する

### IAMとは

I

元記事を表示

cloud9からlambdaを動かす際の注意点(No module named ~のエラーなど)

#はじめに
AWS関連で、cloud9からlambdaを動かす際に少し躓いたことがあったのでその辺をまとめていきます。lambdaはサーバーレスでプログラムを実行してくれるので非常に便利で、私もスクレイピング等の定期実行のために使いはじめました。
この記事は主に初めてcloud9、lambdaを使う方向けになると思います。
#実践
まず新しくcloud9の環境を作成。名前はexampleにしておきます。
![2020-10-21 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/806955/13bf3056-bb4e-999a-91b8-062019841120.png)
これが終わると下のような画面に移ります。画面右に表示されている漢字の「入」のようなボタンをクリック、さらにCreate a new Lambda function(画像のオレンジ色の部分)をクリックしてlambda-functionを作成できます。
![2020-10-21 (3).png](https://qiita-imag

元記事を表示

OTHERカテゴリの最新記事