AWS関連のことを調べてみた2022年04月29日

AWS関連のことを調べてみた2022年04月29日
目次

EC2にデプロイしたDjangoからAWS SESを使う

# はじめに
EC2からメールを送信する方法はいくつかあります。
自分用メモとして、その中でも一番メジャーであろうSESを使ったメール送信について残しておきます。
# ドメインの取得
メールを送信するためにはドメインが必要となります。(~@mail.comの部分ですね)
こちらは以下のサイト参照で取得しておきましょう。
### Route53から直接購入する場合
「ドメインのRoute 53への登録」までですね。
https://dev.classmethod.jp/articles/relaxing-send-limit-and-removing-sandbox-restriction-in-ses/

### 他のサービスを使う
ドメインはRoute53で買わずとも、他のドメイン登録サービスを使うこともできます。
有名なのはお名前.comですね。
先にドメインを取得しておいて、お名前.comの設定ページのネームサーバー欄にRoute53のNSレコードを貼り付けたら完了です。
お名前.comで取得するとキャンペーンとかで安くなる事が多いのでおすすめです。

こちらもDeveloper

元記事を表示

EC2(Amazon Linux2)の起動テンプレート作成

今回はEC2起動時に事前登録したテンプレートから起動する設定をお試ししてみます。検証用で何度も同じ設定のサーバを立てる際の工数削減や設定間違いの防止に便利な機能です。

# 今回のゴール
起動テンプレートを利用して、以下環境が設定済み状態でEC2起動を起動できるようにする

[AWS環境]
・指定VPC内の所定のサブネットにデプロイ
・グローバル(パブリック)IPを付与
・指定AMI(Amazon Linux2)を利用
・インスタンスタイプをスポットインスタンスに指定

[OS環境]
・ホスト名を”test-server”に設定
・タイムゾーン、言語を日本仕様に設定
・モジュールを最新版にアップデートする
・”test-admin”というユーザを追加し、パスワード認証でログインできるように設定

# 作業の流れ

①VPCとサブネットおよびセキュリティグループを作成
②起動テンプレートを作成
③EC2の起動・デプロイ
④設定の確認

# 実際の設定
まず①ですが、この作業は各所に詳しい記事がありますので、本記事では割愛します。一般的にEC2をデプロイして

元記事を表示

【AWS】AWS Organizations 組織内のリソースにタグを強制する方法(SCP、タグポリシー)

こんにちは。AWS SysOps 業務担当のチョンです。

今日は、AWS組織のセキュリティを高める方法の一つである「ポリシー」という機能の中で、組織・組織単位(OU)内のリソースに対してタグを強制する際に使える①サービスコントロールポリシー(SCP)と ②タグポリシー について書いてみます。

こちらの記事は、
1.そもそもSCP、タグポリシーってなに?
2.SCP、タグポリシーを使ってタグを強制する方法
のテーマで書いていきます。

## 0. SCPとタグポリシーを有効にしましょう。

まずSCPとタグポリシーを使うために、サービスの有効化が必要です。
AWS Management Consoleの「組織」>「ポリシー」画面より有効化することができます。
青い文字になっている各ポリシーを選択して中に入ると、そのポリシーの詳細確認と有効化・無効化などの操作ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2203079/e4b20aa3-3d72-a0dd-af8b-f

元記事を表示

非 Owner ユーザーにおける CodePipeline と GitHub v2 Source Action の連携

# 背景

CodePipeline で GitHub を Source Action とする場合、v1 と v2 が選択できる。
2022/04 現在、v1 は非推奨の方法となっている。

> GitHub バージョン 1 アクションは OAuth トークンを使用して GitHub で認証し、別のウェブフックを使用して変更を検出します。これはもはや推奨される方法ではありません。
https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/update-github-action-connections.html

必然的に v2 を選ぶことになるが、非 Owner な GitHub アカウントで作業したときにハマったのでメモしておく。

# v2 連携するために必要な手順

以下が詳しい。

https://qiita.com/KensukeTakahara/items/6ed83e83620b86b748b7

https://docs.aws.amazon.com/ja_jp/codepipeline/lates

元記事を表示

サクッとWEBアプリに高負荷をかけたテストしたい

# 対象読者

– WEBアプリに対して、高負荷をかけてもサーバが落ちないか確認したい。
– 高負荷をかけることで設定したCPU/メモリ使用率を超えた場合に、Auto Scaringすることを確認したい。
– ブラウザを何個か立ち上げて、画面をひたすら叩くような人力テストをしたくない。

# 解決策

このApachBench(ab)を利用します。

https://httpd.apache.org/docs/2.4/programs/ab.html

# 利用手順

まずはターミナルを立ち上げて、abコマンドと叩きます。
Macの場合、標準で入っているぽいです。
Windowsの場合は、Windows Subsystem Linux(WSL)を導入しましょう。
以下は、WSLでabコマンドを叩いたときの挙動です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533960/69654208-5ed6-a41e-f33d-b5581766b11c.png)
コマンドが見つからないと表示さ

元記事を表示

【Athena】テーブルの中身をダウンタイムなしでデータを入れ替える

## テーブルデータを入れ替えたい!

Athena参照するデータはS3にあって柔軟にデータを入れ替えることが可能です。
不要になったデータは削除したり、新たに必要なデータを追加したりということが簡単に行なえます。[2019年よりINSERT INTOも対応](https://aws.amazon.com/jp/about-aws/whats-new/2019/09/amazon-athena-adds-support-inserting-data-into-table-results-of-select-query/?fbclid=IwAR2OhlV695_w_CuNZqHPRyHtVVg6oSXBGJgXEySFUTqcEU30hyhk3orZ2OY)されたので、さらにデータの追加も簡単になりました。

## データの入れ替え時に正しくない状態のデータが一時的に存在してしまう
例えば日付ごとのデータを管理していて、2022年4月1日のデータを削除して、新たにデータを入れるとします。
そうすると一時的に2022年4月1日のデータが空になってしまうことになります。この瞬間に他のユーザー

元記事を表示

【Terraform】よく使うTerraformコマンドまとめ

# はじめに
Terraformを勉強したくて、備忘録として、よく使われるTerraformのコマンドをまとめたいと思います。

# よく使われるTerraformコマンド
1.Terraformのバージョン確認
“`
$ terraform version
“`

2.ワークディレクトへスイッチ
“`
$ terraform -chdir=
“`

3.ワーキングディレクトの初期化
“`
$ terraform init
“`

4.実行計画の参照
“`
$ terraform plan
“`

5.tfファイルの変更箇所を許可
“`
$ terraform apply
“`

6.インフラストラクチャの破壊
“`
$ terraform destroy
“`

7.実行計画のアウトプット
“`
$ terraform plan -out “`

8.実行計画の破壊
“`
$ terraform plan -destory
“`

9.実行計画の適用
“`
$ terrafor

元記事を表示

AWS公式資料で挑むSCS認定(51)-こんな時どうする(全分野その28)

##### [前回] [AWS公式資料で挑むSCS認定(50)-こんな時どうする(全分野その27)](https://qiita.com/mingchun_zhao/items/d3bf57f54d0f2dbbf329)

## はじめに

今回も引き続き、「こんな時どうする」集の作成です。

## 分野1: インシデント対応

– Amazon CloudFrontが配信しているコンテンツへ、許可されていない国からの不正アクセス発生
– 地域制限(地理的ブロック)を使用し、CloudFrontディストリビューション経由で配信しているコンテンツに対し、特定地域のユーザーによるアクセスを回避できる
– 方法1: CloudFrontの地域制限機能を使用し、国レベルでアクセス制限
– ディストリビューションに関連するすべてのファイルへのアクセスを制限
– 方法2: サードパーティーの位置情報サービスを使用し、国レベルより詳細なレベルでアクセス制限
– ディストリビューションに関連するファイルのサブセット

元記事を表示

コグニティブ関連サービスまとめ(AWS、Azure、GCP)

コグニティブ関連サービスをまとめ中

||AWS|Azure|GCP|
|:–|:–|:–|:–|
|画像からテキスト抽出|△
[AWS Textractでテキスト抽出やーる(Python3.6)](https://qiita.com/SatoshiGachiFujimoto/items/470925399dd7e0511609)|○
[Azure Computer Vision APIでテキスト抽出(Read API)やーる(Python3.6)](https://qiita.com/SatoshiGachiFujimoto/items/fd56e3a9a12f617467c3)
[HoloLensでテキスト認識(Azure RecognizeText API)をやーる](https://qiita.com/SatoshiGachiFujimoto/items/7b194fca62334b393314)
[HoloLens2 × Azure Cognitive Services(Read APIで文字認識し読み上げ)](https://qiita.co

元記事を表示

ssh: connect to host github.com port 22エラーが発生した

# はじめに
Qiita初投稿です。
至らない点があればご教授いただけると幸いです。
## やりたかったこと
本番環境にgit pullしたかったがそもそも接続できていなかったようなので
SSH接続のテストのコマンドを打ったところタイトルのエラーが発生した。
“`
$ ssh -T git@github.com
ssh: connect to host gitlub.com port 22: Connection timed out
“`
## 試したこと
・EC2のアウトバウンド編集
・port22ではなく、port443への接続
・SSHキーの再設定

を試してみたがどれも解決には至らなかった。
port443への接続に関しては別途proxyの設定が要りそう(理解していない)。
## 解決策
非常に頭を悩ませたSSH接続だったが思わぬところで解決した。
“`
$ vi ~/.ssh/config
“`
configを開く。
“`
Host github
HostName github.com
IdentityFile ~/.ssh/id_rsa
User gi

元記事を表示

【10分AWSハンズオン】ExpressをAWS Lambda+API Gatewayにデプロイする

# やること

Lambda 上の Express にアクセスできるようにする。

# 学べること

* サーバレス Express アプリケーションの作り方
* Lambda へのデプロイ
* API Gateway と Lambda の連携

# 扱わないこと

* Infrastructure as Code
* TypeScript
* CI/CD

# STEP 1 : Serverless Express

1-1. 適当なディレクトリに Node.js プロジェクトを作成し、必要なパッケージをインストールします。

“`sh
$ npm init -y
$ npm i express @vendia/serverless-express
“`

:::note warn
`Node.js` がインストールされている必要があります。
`n` という Node.js のバージョン管理ライブラリを使用するのがおすすめです。
Mac を使用している方で、Homebrew がインストール済みの方は、以下のコマンドで Node.js をインストールできます。

“`sh

元記事を表示

AWS – Capistranoを使ってデプロイした際のエラー奮闘記

こんにちは。
早く駆け出しエンジニアになりたい@iloveomeletteです。

標題にある通り、Capistranoを使ってデプロイした際に少々苦戦したので、
共有していこうと思います。
ポケモンのジム戦のようにエラーを解決するたび、またエラーに遭遇するということを繰り返してました。しょうもないエラーも紹介しつつ解決までの過程を書いていきます。
誰かの参考になれば幸いです。

尚、ご指摘箇所がございましたら
ご教授いただけますと幸いです。

それでは以下の目次でお送り致します。

| ラウンド | エラー項目 |
|:-:|:-:|
| 1 | VS 『supports platforms』 問題 |
| 2 | VS 『An error occurred while installing mysql2 (0.5.3)』 問題 |
| 3 | VS 『Mysql2::Error: Unknown database ‘アプリ名_production’』 問題 |

## 前提

それでは、まず環境などの前提部分からですね。

– macOS Monterey 12.3.1

元記事を表示

【Spring】AWSデプロイで初心者がぶち当たる疑問に答える

# 概要
ローカル環境(Eclipse)でSpring Boot(Java)アプリケーションを開発し、その後AWSでデプロイに挑戦しようとする初心者がぶち当たるであろう疑問と、その解決策を順を追って説明します。

私自身、AWSやその周辺知識ゼロの状態から独学でデプロイに成功できましたが、知っている人からすれば当たり前でも初心者ゆえにわからないことが多く、解決に時間を要しました。本記事では、初心者なら私と同じような疑問をもつのでは?と感じた部分に触れていきます。

# 本記事のゴール
– DBを利用するローカルのSpringアプリケーションをjar化し、デプロイできるようになる(具体的には下記)
– Eclipseからjarファイルを作成しEC2に配置できるようになる
– EC2で環境変数を適切に設定し、RDSのDBに接続できるようになる
– AWSデプロイという、初心者が尻込みしがちな未知の作業に対するハードルを下げる

# 本題
こちらの記事を参考にデプロイに挑戦、またデプロイに必要な周辺知識について調べていたところ疑問点が複数出てきました。

– [【初心者必見】

元記事を表示

ECSのログインでInvalidParameterExceptionのエラーになった際の解決方法

# 概要
ECSにログインしようとしたらエラーで弾かれるため、その解決方法のメモ。

# 前提条件
– AWSのECSを組んでいること
– ECSログインを試みるとエラーになること

# エラーの事象
## ECSログインコマンドでのエラー

“`bash
$ aws ecs execute-command \
–region ap-northeast-1 \
–cluster {cluster名} \
–task {task名} \
–command “sh” \
–interactive

The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.

An error occurred (InvalidParameterException) when calling the ExecuteCommand operation: The execute command failed because exe

元記事を表示

【初心者】AWS Lambda Function URLs (関数URL) を使ってみる

# 1. 目的
– たまには新機能のキャッチアップもしないといけないと思い、ちょっと便利そうなAWS Lambda Function URLs(関数URL) を使ってみることにした。

# 2. やったこと
– 「[PokeAPI](https://pokeapi.co/)」(ポケモンデータの検索ができる公開API)にアクセスしてデータを取得するLambda関数を作成し、関数URLの機能を有効にして、インターネットからアクセス可能なURL(関数URL)を設定する。
– 上記のURLに対してブラウザからアクセスする。Lambda関数が実行されて、ポケモンデータの取得が行われ、結果が表示できることを確認する。

# 3. AWS Lambda Functions URLs とは(自分の理解)
– インターネット上にエンドポイント(関数URL)を作成し、そこをたたくことでインターネット経由(https経由)でLambda関数の実行が可能な仕組み。
– 従来は同様のことをやりたい場合、API Gatewayが必要だったが、場合によっては省略することができる。

# 4. 構成図

![func

元記事を表示

AWS Certified Solutions Architect – Associateの合格記と振り返り

# はじめに
エンジニア歴3年目にしてようやく取得することができましたので、同じ資格を目指す人の参考になればと、直近で行った勉強法などをまとめておきます。これから記載する勉強方法などを試せばこれぐらいは狙えるという目安のため、まずは結果報告から
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1700794/88df0d5e-9625-042a-2e53-3a4ecea42592.png)

720点が合格ラインなので、ギリギリ気味ですがまあ及第点っていう感じかなと個人的には思っています。

# 勉強期間と勉強法
## 勉強期間
2021/11月~2022/4月の受験日まで大体半年弱
※これより前の勉強として~2021年の夏前ぐらいまで半年程度は勉強してましたが、少し期間が開いているので省略します
 詳しく知りたい方は先に同期入社の方が記事にしているのでこちらを確認ください、やってることは大体同じですが、当時は業務で全く違う未経験分野を扱っていたこともあり、ここまで追い込めなかった。。。

元記事を表示

Amazon Managed Blockchain(Hyperledger Fabric)ハンズオン体験記のフレームワークを2.2に更新してみる

以前、[こちら](https://qiita.com/mine820/items/0639698e7f9b1fe8842f)の記事で、Amazon Managed Blockchain(Hyperledger Fabric)のハンズオン体験記を書いたが、フレームワークのバージョンが1.4でしか動かなかったため、今回2.2で確認しなおしてみました。

基本的には、[こちら](https://docs.aws.amazon.com/ja_jp/managed-blockchain/latest/hyperledger-fabric-dev/managed-blockchain-get-started-tutorial.html)にある手順通りにやれば動くのですが、テキストベースでわかりづらいため、前回からの変更点をわかりやすく書いてみたいと思います。

またせっかくなので、今回はリージョンをバージニア北部(us-east-1)にしてみたいと思います。
(特に見えていませんが ^^;)

# フレームワークのバージョン
今回は、フレームワークのバージョンを2.2にします。
![image.p

元記事を表示

Lambda と Aurora Serverless で超実用的な Twitter Bot をつくってみた

builders.flash の連載記事「AWSドリル」を応用し、AWS Lambda と Amazon Aurora Serverless を組み合わせて、1日3回献立をつぶやくスーパー便利な Twitter Bot を作成しました。
(AWSドリルでは DynamoDB を使用していますが、Aurora Serverless を使ってみました)
![構成図.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1952854/8023ee53-69b7-98b3-1d08-fc7ee08faf3b.jpeg)
個人的に気になっていた機能、「Data API」も使用しています。
下記ブログ記事で詳しく説明しているので、ご興味ある方は読んでいただけると嬉しいです。

https://blog.usize-tech.com/useful-twitterbot-by-lambda-and-aurora-serverless/

(参考)AWSドリル第一回記事はこちらから↓↓

https://aws.amazon.

元記事を表示

Genvidクラスタのクラウドデプロイに必要なインスタンスの種類(AWS / Azure)

# Genvidのクラウドオーケストレーションで使用されるVM
Genvidは「インタラクティブな動画配信」を実現するSDKです。Genvidの体験を実現するシステム全体を「Genvidサービス」と呼びますが、ゲームの内部データと動画視聴を行うブラウザ、動画配信を行う配信サービスの3つをつなぐ通信処理を行う部分を「Genvidクラスタ」と呼びます。

その大部分はサーバーミドルウェアで構成されており、複数のクラウドサーバーインスタンスを使用します。
クラウドサーバーのオーケストレーションにはHashicorp社 Nomadが採用されており、Terraform、Consul、Vaultといった同社のクラウドリソース管理ツールが活用されています。

![GenvidClusterServices.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19010/686f237c-a23c-4501-e1de-e75ac002278b.png)

https://www.genvidtech.com/doc/ja/S

元記事を表示

AWS公式資料で挑むSCS認定(50)-こんな時どうする(全分野その27)

##### [前回] [AWS公式資料で挑むSCS認定(49)-こんな時どうする(全分野その26)](https://qiita.com/mingchun_zhao/items/d8edf10fe216f0cd2480)

## はじめに

今回も引き続き、「こんな時どうする」集の作成です。

## 分野1: インシデント対応

– CloudFrontが配信するコンテンツへの不正アクセスが報告された、コンテンツへのアクセスを制御するためリクエストにヘッダーを挿入してからオリジンに転送したい
– AWS Lambdaの拡張機能`Lambda@Edge`を使用し、エッジでリクエストにヘッダー挿入可能
– Lambda@Edgeは、CloudFrontの配信コンテンツに対しカスタマイズ関数を実行するコンピューティングサービス
– 米国東部(バージニア北部)リージョンでNode.jsまたはPython関数を作成し、ビューワーに近いAWSロケーションで実行できる
– サーバーをプロビジョニング/管理する必要ない
– 自動ス

元記事を表示

OTHERカテゴリの最新記事