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

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

【AWS】AWS Codeシリーズ

#はじめに
AWS認定試験取得に向けてAWSの知識を整理するためのまとめです。
今回はAWS Codeシリーズについてまとめます。

ソフトウェアやアプリを開発してリリースするまでは下記のような流れになると思われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/718108/e7f5682c-c89f-dddf-277c-114d1fb7a665.png)
AWSで各工程のサービスと、この一連の流れ(CI環境)を実現できるのがCodeシリーズになります。

# AWS Codeシリーズとは
AWSではコードシリーズと呼ばれる、下記の4つのサービスが提供されています。
AWS CodeCommit、AWS CodeBuild、AWS CodeDeploy、AWS CodePipeline
一つ一つ見ていきましょう。

# AWS CodeCommit
ソースコードを管理するサービスです。
完全マネージド型なので、ソースコード管理サーバのバックアップやスケールなどを
気にすることなく利用

元記事を表示

AWS利用して栃木県コロナデータのレポート出力を自動化する構成を考えてみた

## はじめに
栃木県のコロナのデータは以下サイトにデータの公開と可視化がされています.
しかし, データはいつ公開されているかはわからず比較的全体的な
データの可視化しかされていません.
そこで, コロナの感染状況のデータを自動的に取得してレポートとして公開する方法を考えましたので
ご覧いただけると幸いです.
※あくまでも, レポートとして公開することを目的としているので内容等の考察は行いません.

また, 今回は栃木県のコロナデータをもとにノートブックアウトプット資料の自動化を行っていますが,
他の形式データでも応用可能なので栃木県のコロナの状況には興味のない人にも適応できる内容かな
と思います.

※これはあくまでも個人で作成したものです.

## データセット
https://www.pref.tochigi.lg.jp/e04/welfare/hoken-eisei/kansen/hp/coronakensahasseijyoukyou.html

上記, URLのExcelデータを使用しています.

## 使用技術
開発環境

* macbook air (2020) in

元記事を表示

【AWS】Terraformでアクセスを分散、WebサーバーをHTTPS化する その2(Route53)

## 概要
TerraformでAWSサービスを使用して、

– 負荷分散
– 独自ドメインの設定
– SSL証明書を作成してHTTPS化

上記の3つを含めた構成を作成する手順をまとめました。

## 目次
本記事は「2. Route53でDNS設定」について記述。
「1. ALBの作成」まではこちら → [【AWS】Terraformでアクセスを分散、WebサーバーをHTTPS化する その1(ALB) ](https://qiita.com/ramunauna/items/250d1dfc16468c5b8522)

1. アプリケーションロードバランサー(ALB)の作成
– ALBの作成
– ターゲットグループの作成 / ターゲットの登録
– リスナーを設定
– ALBのDNS名からHTTPアクセス確認
1. Route53でDNS設定 __←本記事はここから__
– ドメインの取得(例はfreenomの無料ドメイン)
– ホストゾーンの作成
– DNSレコードの定義
– ネームサーバーの設定を加える
– 取得したドメインへHTTPアクセス確認

元記事を表示

MENTAでインフラ/サーバー周りをコーチングしてもらったことを振り返る

## 背景

AWSのデプロイで詰まっていたところ、MENTAでお声掛け頂いてから8月の1ヶ月間MENTAにてメンターの@adachin0817にコーチングの下、インフラ周りの実装を行いました。その成果物としては以下のインフラ構成図の通り。

![Tamari-Baインフラ構成図_Qiita用](https://user-images.githubusercontent.com/69702983/130358185-61db1a10-eee2-4b77-8503-5583eaa2b27b.png)

具体的にはCircleCIによる自動デプロイ、EC2の本番環境、Dockerによる開発環境構築を行いました。
ちなみに今回はポートフォリオということもあり、AWSはコスト削減のためALBやRDSは利用していません。

リポジトリ: https://github.com/Hiroto-Iizuka/Tamari-Ba

内容は以下に全てまとめているので是非ご覧いただければ幸いです。

#### アウトプット
– [【CircleCI】AWSにデプロイしたRails6アプリをCircleCI

元記事を表示

API Gateway でLambda実行後、特定のページにリダイレクトする ②

#はじめに
前回の続きですが、題名の内容だけ知りたい方も参考になる書き方をします。

前回の続きだと、⑧htmlから起動などのLambda実行後、htmlページにリダイレクトするよう設定します。
[APIGateway+Lambdaで、WebページからEC2の起動・停止・スペック変更を操作する①](https://qiita.com/holdout0521/items/f0cb3182bfb3785388a0)

#事前準備
・Lambda作成
・ApiGateway作成
・S3などにhtmlを設置

#やりたいこと
##初見の方用
`https:aaa.bbb.html`からLambdaを実行し(apiを叩き)、apiをリクエストしますが、レスポンス時`https:aaa.bbb.html`にリダイレクトさせます

“`html:https//aaa.bbb.htmlページ


ec2を起

元記事を表示

terraformでec2サーバーのキーペアを設定して起動する

# 概要
過去にterraformによりAWSのec2インスタンスを作成した

https://qiita.com/kazato110tm/items/59d4a780d2262ab96aaa

しかし、これではssh接続の際のキーペアが設定されていないため、terraformでec2にキーペアを設定する方法をまとめる

terraformのためには認証キーの登録が必要なため別途以下で対応

https://qiita.com/kazato110tm/items/3a581f156f51fd257f76

# キーペアなしでEC2インスタンスを構築
## EC2を起動する

EC2をterraformで起動するための最低限のスクリプトは以下の通り
リージョンとAMI, インスタンスタイプを`main.tf`に記載する
今回はAmazon Linuxを使用

“`main.tf
provider “aws” {
region = “ap-northeast-1”
}

resource “aws_instance” “default” {
ami = “ami-09

元記事を表示

AWS SecretsManager motoを使用してpytest する方法

#secretsmanager motoを使用してのpytest

pytestをする必要があったので検索しましたがあまり日本語がなさそうな雰囲気。。。
別にmoto使用しなくても全てmockにしてしまってもいいけどね。
なんとなく知的好奇心が沸いたので試してみました。
なので記事にしてみました。

##必要モジュール
boto3
moto
pytest

##実装箇所

“`secrets_manager.py
import json
import boto3
import logging

# log_level
logging.getLogger().setLevel(logging.INFO)

class SecretsManagerClass:

def __init__(self, secret_name):
logging.info(secret_name)
self.secret_name = secret_name

def _open_boto_session(self):
return b

元記事を表示

AWS(EC2 + RDS) でLaravel環境構築

![スクリーンショット 2021-08-21 11.04.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620908/9d5b0f0f-ac4f-587f-c72e-f25e51314eec.png)
AWS EC2のインスタンス作成〜Laravelのマイグレーション実行までの備忘録です。

実行環境
MACOS

#EC2インスタンスの作成

##リージョン選択
画面右上のリージョンを選択します。

今回は「東京リージョン」を選択します。
詳しい違いは以下のサイトが参考になりました。
https://www.t3a.jp/blog/infrastructure/aws-best-region/

簡単にいうと、
スピード重視:東京、大阪
金額重視:バージニアなど
を選ぶとよいです。

![スクリーンショット 2021-08-21 10.04.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620908/292

元記事を表示

[Python]ローカルPCからSSHトンネリングを行いDB接続する方法 メモ

* Pythonで踏み台サーバー経由でDB接続する方法についてメモする。

## 環境構成

* ローカルPCから踏み台サーバー(EC2)を経由し、DB(Aurora)に接続するようなケースを想定

![python_db_tunnel.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/586535/86c562fa-9e65-17fd-f7fb-ac715eab8e43.png)

## コード

* `conf/setting.conf`

* 踏み台サーバーとDBの接続情報を記述する。

“`conf
# 踏み台サーバー接続情報
[BASTION]
BASTION_HOST = YOUR_BASTION_HOST_IP
BASTION_PORT = 22
BASTION_HOST_KEY = None
BASTION_USERNAME = YOUR_BASTION_USERNAME
BASTION_PASSWORD = YOUR_BASTION_PASSWOR

元記事を表示

AWSアクセスキー流出と対策について

#きっかけ
AWS上のセキュリティについて調べるきっかけとなったのは、github上へのアクセスキーの流出です。
ポートフォリオ作成途中、Docker環境上でいろいろ試行錯誤するためにアクセスキーをベタ打ちしてしまっていたのを忘れてローカルリポジトリにpushしてしまいました。
即座に、AWSから警告のメールが届きよくよく調べてみるとそのままでは、不正利用されてしまい高額請求がくる恐れがあることがわかりました。
そこで以下に流出した際のとるべき対応と対策をまとめます。

#流出してしまったら
以下、AWSから指示された対応手順に沿って記載します。
##①アクセスキー無効化、削除する
まずは、一番にアクセスキーを使用できない状態にしましょう。**(これが一番大事です)**
**たとえ公開リポジトリを削除したとしても、すでにアクセスキーが漏洩してしまっていたら悪用されてしまいます。**

すでにアプリケーション等で使用している場合は、交換する必要があるのでまずは削除せずに以下の手順で無効化します。
①二つ目のアクセスキーを作成する
②流出したキーを無効化する
③アプリケーションに新しい鍵を

元記事を表示

【AWS】 CloudFormationで基本的な構成のEC2とRDSを作る

#ご挨拶
CloudFormationの学習の中で簡単なものを作ってみました。
#やりたいこと
CloudFormationでパブリックサブネットにあるEC2とプライベートサブネットにあるRDSを作成したい。
構成イメージ図は以下になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612471/a355451d-cbad-86eb-2fd2-f635ccc6822b.png)
#前提と最終ゴール
1. VPCとパブリックサブネットは既存のもの(デフォルト)を使用
2.東京リージョンで作成することを想定
3. CloudFormationを使用できるIAMユーザなどは作成済み
4. EC2インスタンスに使用するキーペアは作成済み
5. 最終ゴールはWordPressのテストページが表示できるようになること

#テンプレート作成
作成したテンプレートは以下になります。
[gitリポジトリ](https://github.com/mattsun129/CloudFormation-s

元記事を表示

AWS IAMについて

##はじめに
 こんにちは。今回はSCS試験対策でのIAMについてBluckBeltで学習した内容のメモ書きとして記録しようと思います。

 よろしくお願いします(。・ω・)ノ゙
##AWS IAMとは

* AWSのリソースをセキュアに操作するためのサービスであり、認証認可の仕組みを提供してくれる。
* 多要素認証(MFA)でセキュリティの強化もしてくれる
* 一時的な認証トークンを用いた権限の委任
* ADなどによるAWSリソースへの一時的なアクセスの許可
* 無料

![スクリーンショット 2021-08-19 062249.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993659/e2911f3c-d0ea-0e07-e9e1-1cf43d5c4f05.png)

##ルートユーザーとは
 個人学習とかでAWSコンソールにログインする際に一番最初に作成しなければならないAWSアカウントで、**クレジット情報やすべてのリソースに対して完全なアクセス権があるため極力使用しないこと**がベストプラク

元記事を表示

内部ALBに静的IPアドレスを設定する

## はじめに
本記事では、不定期にIPアドレスが変わる内部ALB に、内部NLB とLambda を使用して静的IPアドレスを設定する方法について紹介しています。

どうしても内部ALB に静的IPアドレスでアクセスできるようにしたい場合の1つの案になります。

この構成に関する詳細は、下記のAWSブログで記載されております。

https://aws.amazon.com/jp/blogs/networking-and-content-delivery/using-aws-lambda-to-enable-static-ip-addresses-for-application-load-balancers/

## この案の全体構成図
![00_static_ip_alb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283246/fef594df-fc60-2e95-d976-d869ac178adc.png)

##構築の簡単な流れ
###前提条件
内部ALB が構築済みであること。
(構成図内

元記事を表示

【AWS】Terraformでアクセスを分散、WebサーバーをHTTPS化する その1(ALB)

## 概要
TerraformでAWSサービスを使用して、

– 負荷分散
– 独自ドメインの設定
– SSL証明書を作成してHTTPS化

上記の3つを含めた構成を作成する手順をまとめました。

## 目次
1. アプリケーションロードバランサー(ALB)の作成
– ALBの作成
– ターゲットグループの作成 / ターゲットの登録
– リスナーを設定
– ALBのDNS名からHTTPアクセス確認 __←本記事はここまで__
1. Route53でDNS設定
– ドメインの取得(例はfreenomの無料ドメイン)
– ホストゾーンの作成
– DNSレコードの定義
– ネームサーバーの設定を加える
– 取得したドメインへHTTPアクセス確認
1. AWS Certificate Manager(ACM)でSSL証明書の作成
– SSL証明書の作成
– SSL証明書の検証
– HTTPSリスナーの定義
– HTTPSアクセス確認

本記事ではアプリケーションロードバランサー(ALB)の作成までをまとめた。

## 構成図
目標構成図はこち

元記事を表示

【AWS】Transfer family for FTPを構築する

## きっかけ
– とある案件で現行システムを大体AWSにリフトアップする案件があり、既存FTPサーバをTransfer family for FTPを含む構成で実現したく、事前にカスタムIdp含む構築手順の検証をするため

## 構築Step
1. Lambda 構築
1. API Gateway 構築
1. Transfer Family For FTP 構築
1. 動作確認(カスタムIDプロバイダ)

### 1. Lambda 構築
– 新規Lambdaをデフォルト設定で作成
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3437393838362f32306664316662302d656334612d383264332d613566302d35656135343364393964396.png](https://qiita-image-store.s3.ap-northeast

元記事を表示

AWSのRDSサービスでPostgreSQL(+PostGIS)を構築

## はじめに
QGISサーバーの構築について色々と試しているのだが、その際にローカルで作成したQGISプロジェクトファイルをアップロードして、QGISのWebClientでも問題なく表示できるか試そうとしている。
しかし、QGISプロジェクトファイルが参照しているデータ先を共通の宛先にしないと表示確認が面倒なので、別途外部からの接続が可能なDBサーバーを用意しようと考えている。
EC2の様にインスタンスを立てて普通にPostgreSQLを入れればできるのだが、せっかくなのでRDSを使ってみて、楽さを実感しようと思った。記事にする様な内容でもないかもしれないが、時間もかからないので一応メモとして残すことにした。

## メモの内容

1.AWSサービスのRDSよりPostgreSQL構築
2.外部から接続するための設定追加

## 1.AWSサービスのRDSよりPostgreSQL構築

RDS for PostgreSQL バージョンに同梱されている PostGISのバージョンはこちらのサイトに記載があるので、今回はこれを見て、**”PostGIS2.5.2″** のバージョンが

元記事を表示

The service is unavailable. で EBS ボリュームを変更できないタイミングがある

Amazon EBS ボリュームはホスト側のメンテナンスにより変更操作ができないタイミングがあります。

## エラー内容
EBS のボリューム変更操作を行うと以下のようなメッセージで変更操作に失敗する場合があります。

“`
The service is unavailable. Please try again shortly.
“`

AWS 側の障害かな?と思いましたが、[Service Health Dashboard](https://status.aws.amazon.com/) では特に異常は報告されていません。

## 原因
エラー発生後に、Personal Health Dashboard で以下の通知を受け取りました。

> Your volume can’t be modified at present due to an operational activity that is being performed on the systems hosting your volume. Your volume is in a healthy state. Th

元記事を表示

awscliの導入と認証キーの登録

# 概要
AWSで開発をするにあたりaws-cliというものがあるとのことで導入してみる

https://aws.amazon.com/jp/cli/

# install
brewでaws-cliをインストールする

“`
$ brew install awscli

$ aws –version
aws-cli/2.2.31 Python/3.9.6 Darwin/20.5.0 source/x86_64 prompt/off
“`

# 認証キーを導入する

過去の記事ではIAMユーザーの認証キーを記載したファイルを直打ちで作成したが、aws-cliのコマンドでも作成が可能とのことで作成する

https://qiita.com/kazato110tm/items/59d4a780d2262ab96aaa

“`
$ aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

元記事を表示

AWS Transit Gateway とは

## 勉強前イメージ

VPCとVPNつなげる的なやつ

## 調査

### AWS Transit Gateway とは

中央ハブを介してVPCとオンプレのネットワークを接続するクラウドルーターの役割をします。
ネットワークが簡単になり、複雑なVPCの接続をしなくて良くなります。

### AWS Transit Gatewayのメリット

– 簡単に接続

クラウドルーターとして機能し、アーキテクチャを簡素化します。
グローバルアプリケーションを構築する場合リージョン間ピア接続を使用して
Transig Gatewayを接続できます。
また、トラフィックを複数のパスに負荷分散させることで帯域を広げることが出来ます。

– 可視性と制御の向上

AWS Transit Gateway network managerを使用すれば
VPCとエッジ接続を中央コンソールから監視できます。
問題を素早く特定し、イベントに対応するのに役立ちます。

– セキュリティの向上

VPCとAWS Transit Gateway間のトラフィックはパブリックインターネット上に公開されません。
リージョ

元記事を表示

AWS EMRこと始め

## これは何

Spark を使用してサンプルクラスターを起動し、Amazon S3 バケットに格納する単純な PySpark スクリプトを実行していきます。

## S3作成

適当にS3を作成します。

![スクリーンショット 2021-08-21 21.28.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/cbc2cc9e-46a8-35a2-019e-5641a0caf70d.png)

## フォルダを作成する

以下のフォルダを作成します。

output:ログと進行中のアウトプットを入れます。
script:PySparkスクリプト、csvファイルを入れます。

先ほど作成したオブジェクトへ行き、上記フォルダを作成します。

![スクリーンショット 2021-08-21 21.36.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/f9eaee23-6cf1-3c69

元記事を表示

OTHERカテゴリの最新記事