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

AWS関連のことを調べてみた2023年07月22日
目次

署名付きアップロード・ダウンロードの構成をterraformで作る。

# はじめに
[前回](https://qiita.com/sakai00kou/items/ba5618f0a67064355752)、[AWSブログ](https://aws.amazon.com/jp/blogs/news/large-size-files-transferring-by-serverless-s3presignedurl-and-clientside-javascript/)で公開されていた署名付きアップロード・ダウンロードの構成をAWSマネジメントコンソール画面から構築しましたが、色々と使えそうなので、terraformの勉強も兼ねてterraform化したので公開しようと思います。

– 【前】[API Gateway、Cognito、Lambda、S3を使って署名付きアップロード・ダウンロードを実装する。](https://qiita.com/sakai00kou/items/ba5618f0a67064355752)

**元のブログ記事**
– [AWS のサーバーレスと Amazon S3 署名付き URL、クライアントサイド JavaScript

元記事を表示

AWS Well-Architected Framework で出てくる難しい言葉を俺なりに分かりやすくしてみた

AWS Well-Architected Framework は6つの柱から成るベストプラクティス集ですが、独特な言い回しがあって理解するのが大変、という意見をよく耳にします。
この記事ではそういった言葉を自分なりに咀嚼して出来るだけわかりやすく解説したいと思います。

## 全体
ドキュメントは[こちら](https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/framework/definitions.html)
ドキュメントにもありますが、W-Aでよく出てくる特有の用語があります。

### コンポーネント
EC2とかS3とかデータベースとかそういったリソースも含みますが、アプリケーションに欠かせないコードや運用ドキュメントなんかも「コンポーネント」と表現します。有形か無形かではなく、ワークロード(後述)に重要な”要素”かどうかがポイントです。
この用語は比較的 **運用上の優秀性の柱** でよく出てきます。

### ワークロード
AWSアカウントやVPC、ももちろんこれの一部ですがそれだけはありません。皆さん方開発チー

元記事を表示

AWS CloudFormationでよく使われる関数をわかりやすく解説する

CloudFormationテンプレートを作成するにあたって関数の理解は必須です。私が自分で環境を構築して、実際に利用したものをご紹介します。

序盤で紹介する3つの関数、**Ref、Sub、GetAtt**を理解すれば、基本的にCloudFormationテンプレート作成は問題ないかと思います:sparkles:

## 組み込み関数とは
CloudFormationテンプレート内で使用できる特殊な関数です。これらの関数を使用することで、テンプレート内で生成されるリソースの情報を取得することができるようになったり、またその値に対して加工したりすることができます。たとえば基本になる**Ref関数**では、リソース作成時に出力される値を取得することができます。

上記ではVPCが作成されるときに生成されるVPCIDを同じResource内で生成するパブリックサブネットの作成元として参照することができます。
![スクリーンショット 2023-07-19 23.28.06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c

元記事を表示

AWSに入門する前に知っておきたいネットワーク基礎知識

# はじめに

急遽 AWS でインフラを構築しないといけない機会が訪れ、AWSに再入門しました。僕のAWSの経験は初心者向けハンズオンを何個か試した程度だったのでとても浅く、ネットワークの知識も忘れかけていたので、この機会に取り急ぎネットワーク基礎知識を復習から始めました。

その後どうにかAWSでインフラを構築できたので、これからAWSに入門しようとしている方の役に立てばと思い、記事にまとめました。

:::note warn

本記事には AWS に入門する際に必要な最低限のことしか書いてありません。可能ならネットワークについて体系的に勉強してから AWS に入門するのがオススメです。また、僕は AWS の経験も浅いので、場合によってはこの記事に書いていてある知識だけでは足りない可能性もあります。

:::

# ネットワーク基礎知識

ネットワークとは、簡単に言うと複数のコンピュータを接続する技術です。複数のコンピュータが接続できるようにするためにルールが定められており、それぞれのルールは **プロトコル** と呼ばれ、たくさんのプロトコルによってネットワークが成立しています。

元記事を表示

使う時だけEC2インスタンスを起動し、SSH接続元にのみポート(443)を開放する

# 要約
 SSH接続時にEC2インスタンスを起動し、SSH接続が無ければEC2インスタンスを停止する。
併せて、SSHクライアント側に対してポート(この記事の例としてhttps/443)を開放/閉鎖する。
その結果、利用料の最適化とセキュリティ対策の強化ができる。
 この記事では、Systems Manager のノード管理サービス「セッションマネージャー」機能による実装を述べている。但し、AWSについてベースの知識や経験があり独力で設定ができる方への気付きを指向したものである。

# 背景
 必要時に直ぐに使えるように開発用サーバー(EC2インスタンス)は、常時起動するか、あるいは、定時で起動/停止する運用が見受けられる。開発途中のプログラムを稼働させるのだから、その前提でセキュリティを適切に設定する必要がある。しかし、デバッグ等で試行錯誤している状況が想定され、セキュリティを適切に設定することは事実上は困難である。また、開発用サーバーでプログラムを稼働させる実際の時間は、その起動時間よりも遥かに少ないことも多い。
 この記事は、Systems Manager のノード管理サービス

元記事を表示

EC2のAutoScaling時にEIPを自動で付与する(IMDSv2版)

## この記事を書いたきっかけ
* EC2へのアクセス元のネットワークがIPホワイトリスト形式でアクセス制限を行っていたため、EIPで固定化する必要があった
* 既存の記事で紹介されている実装はインスタンスメタデータv1が前提となっており、v2では稼働しなかった

## 前提知識
* [Auto Scaling で追加したEC2 インスタンスにEIP を自動で紐づける – Qiita](https://qiita.com/kanadeee/items/955eb8710e97a4ed5fd3)

## 事前に用意するもの
* EC2 Auto Scaling設定
* EIP

## 必要な設定
* 以下のポリシーを含めたIAMロールにEC2に付与し、EC2自身が空いているEIPの参照と割り当てが行えるようにする
* 起動テンプレートのUser Dataに以下のスクリプトを記載し、起動時に空いているEIPの参照と割り当てを行わせる。その際、**メタデータを参照するためのトークンを取得する**
“`
#!/bin/bash

## EIPの自動割り当て処理
TOKEN=`curl -X

元記事を表示

初心者がAWSでWebサイトを公開するまで

# やりたいこと
AWSでWebサービスを公開するまでの流れをまとめました。
公式が用意しているサンプルWebサービスを使ってWebサイトの環境構築を学びます。

参考にした公式チュートリアルはこちらです。
https://aws.amazon.com/jp/getting-started/hands-on/build-serverless-web-app-lambda-apigateway-s3-dynamodb-cognito/

# サンプルWebサービスの説明
まずサンプルWebサービスがどんなものかをざっくりと説明します。

![いらすとやユニコーン](https://2.bp.blogspot.com/-kwlzIOtHvuM/XOPXUYPc19I/AAAAAAABS7k/YyQ6OZTB2O4Wg4HSlYMgfOKkOy5E99uUgCLcBGAs/s800/yumekawa_animal_unicorn.png)
シチュエーションは以下です。
> あなた(の会社)はユコニーンを世界各地に派遣する能力を持っています。
そこで世界中の人がユニコーンをタクシーのように乗り

元記事を表示

AWS初心者、Skill Builderをはじめました

Skill BuilderをこれからはじめるAWS初心者の方向けに、同じ目線からSkill Builderをはじめてみて感じたことを紹介する記事です。

## Skill Builderとは
一言で言えば、AWS公式のオンライン学習ポータルサイトです。
500を超える学習コンテンツが、すべて無料で提供されています。
個人およびチームでサブスクリプション契約をすると、追加機能が利用できるようになります。
詳細はリンクをご覧ください。

https://aws.amazon.com/jp/training/digital/

## Skill Builderを触ってみる
私がSkill Builderの利用開始直後に着手したのは、 *AWSome Day Online Conference* でAWS初心者に最適なコースとして紹介されていた **AWS Cloud Quest: Cloud Practitioner** です。
しかし、始まってすぐに全編英語であることが判明し、日本語に比べ学習効率が悪いと判断し早期に撤退しました。(そもそも内容自体が完全な初心者には優しくないように

元記事を表示

[小ネタ] Terraform で Amazon SES のSMTPパスワード(IAMアクセスキー)を発行する際はSESと同じリージョンで発行しよう

## SMTPのパスワードを `ses_smtp_password_v4` に切り替えたらメール送信できなくなった

[Amazon SES](https://aws.amazon.com/jp/ses/) といえば、AWSのメール送信サービスですが、昔は日本リージョンがなく、米国リージョン(`us-east-1` など)を使うのが普通でした。

そんな米国リージョンの歴史あるSESを使っているサービスをTerraformで管理していたのですが、つい先日 [TerraformのAWSプロバイダ](https://github.com/hashicorp/terraform-provider-aws) を新バージョンに切り替えていた際に 「**`ses_smtp_password` が deprecated になっている**」 という警告が出ました。

“`terraform
resource “…” {
name = “SMTPPassword”
# !! ses_smtp_password は非推奨だよ (※最新版では削除) !!
value = aws_iam_

元記事を表示

S3のライフサイクルルールの設定

# :raised_hand: 前置き
本編ではないので読み飛ばしちゃって大丈夫です。
## 🙂 使用しているWAFサービス
現在の案件ではWAFとして[WafCharm](https://go.wafcharm.com/wc/cpc/lp_202306/?ref_type=wc_gsn&utm_source=google&utm_medium=cpc&utm_campaign=wc_site-top)という製品を使っていて、
毎月のレポートでサービスへの攻撃状況を把握しています。
WafCharmはメールでサポートに連絡すると割とすぐに返信があるのでサポートもしっかりとしている印象。

## :fearful: 問題点
ただ、月次のレポートでは、
「攻撃が多いIPアドレス」「攻撃が多い国」「ヒットしたBlockルール」のTOP10はわかるが、
そこから「攻撃が多かったIPアドレスがどんなBlockルールにヒットしたのか」
などはWafCharm上では解析出来ないのが私としては少し残念なところ。

どうしたらレポートの詳細がわかるのかとサポート様に確認したところ、
詳細はA

元記事を表示

APIサーバをデーモンで動かすためのsupervisorの設定

SupervisorとはPython製のプロセス管理ツール
プログラムなどを簡単にデーモン化することができる。

今回はEC2にデプロイしたGolangのAPIサーバをsupervisorで動かすことを想定する。

### 導入手順

“`shell:bash
sudo yum install python3
sudo pip3 install supervisor
echo_supervisord_conf > ~/supervisord.conf

# 移動させる
sudo mkdir /etc/supervisord/
sudo mkdir /etc/supervisord/conf.d
sudo mv ~/supervisord.conf /etc/supervisord/supervisord.conf

# オリジナルとっとく
sudo cp /etc/supervisord/supervisord.conf /etc/supervisord/supervisord.conf.org
“`

### 設定ファイルの作成

/etc/supervisord/super

元記事を表示

CloudFront+S3による動画配信メモ

## はじめに
とあるプロジェクトでUnreal Engineを用いたゲーム内にて動画を埋め込み要望があり、mp4の動画ファイルを変換する必要があったのでその時のメモになります。

## 構成
配信用としてCloudFront+S3の基本構成にて実施

## MediaConvertを用いてmp4ファイルをCMAF形式に変換
UE(Electra Media Player)の場合、HLSの分割フォーマットがISO/IEC-14496-12 または CMAF セグメントとしてフォーマットされている必要がある。

>バリアント ストリームは、ISO/IEC-14496-12 または CMAF セグメントとしてフォーマットされている必要がある: ISO/IEC-13818-1 準拠の MPEG2 トランスポート ストリーム セグメントはサポートされていません。
https://docs.unrealengine.com/5.0/ja/electra-media-player-in-unreal-engine/

そのため、MediaConverterの出力グループはCMAFを指定

元記事を表示

【小ネタ】SecurityGroupにリソースが紐づいてるか確認スクリプト書いてみた

## はじめに
不要セキュリティグループを一掃しようと思いスクリプトを書いてみました。
本スクリプトでVPCリソースと紐づいているセキュリティグループをあらかた判別出来ます。

## 実行例
スクリプト
“`get_security_group_attachment.sh
#!/bin/bash

# 引数からプロファイル名を取得
profile=”$1″

# 引数が渡されていない場合はデフォルトのプロファイルを使用
if [ -z “$profile” ]; then
profile=”default”
fi

# セキュリティグループのリソースIDのリストを作成
security_group_ids=$(aws ec2 describe-security-groups –query ‘SecurityGroups[].GroupId’ –output text –profile “$profile”)

# CSVファイルにヘッダーを書き込む
echo “セキュリティグループ,Attachment ID” > result.csv

# スクリプトの実行
for se

元記事を表示

2023年のAWSアップデート追いかけてみる(まとめ)

どうも、若松です。

軽い思いで始めたアップデート追っかけ祭りですが、どうやらこのままいくと10記事以上になりそうなことがわかったので、まとめページを用意しました。
(ほんと2~3ヶ月分で1記事のつもりだったんですが、、)

# 記事一覧
https://qiita.com/t_wkm2/items/ff6eba1cc3871305ac81

https://qiita.com/t_wkm2/items/c2375c5af1ae6bbfdfd6

https://qiita.com/t_wkm2/items/429a294b986b58be9317

# まとめ
みんなで追いかけていきましょー

元記事を表示

aws opensearch tutorialをcdkで実装

### 参考

cdk自体はこちらで練習した方がいいかもしれません
aws cdk workshop
https://cdkworkshop.com/

opensearch入門
Amazon OpenSearch Service Intro Workshop
https://catalog.us-east-1.prod.workshops.aws/workshops/26c005b2-b387-454a-b201-9b8f37f92f92/ja-JP/creating-opensearch-domain

tutorial
https://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/search-example.html

cdk docs
で自分が使っているcdkのバージョンのAPI Referenceのリンクを得ることができます.

### ここから

opensearchのリソースを作ります.
“`typescript
const movies = new opensearchservi

元記事を表示

マルチクラウド対応!!コスト透明性プラットフォーム: Vantage のアップデートまとめ

## Vantage とは
Vantage は マルチクラウドに対応したクラウドコスト管理のためのプラットフォーム (SaaS) です。ドキュメントなどでは Cloud cost transparency platform と表現されています。クラウドサービス使用料の管理をシンプルにし、料金の予測や今月はどのリソースにいくらかかったか、どのリソースの利用が多かったかなど、支出状況を簡単に把握できます。

https://www.vantage.sh/

3 大クラウドの AWS, Azure, Google Cloud の他、Snowflake や Datadog, New Relic などの複数の SaaS にも対応し、対応サービスも順次増えています。これらのサービスのコストを 1 つのレポートで確認できるのが大きな魅力です。

Vantage を使用するメリットや提供される機能の概要は以前別の記事を投稿しているので、もしよければこちらもご参照ください。

https://qiita.com/hayao_k/items/914ee1c5bf786e98529e

本記事では Vant

元記事を表示

テストインスタンス/カットオーバーインスタンスの起動に失敗!?

# 僕の近況 (だれも聞いていない)

初投稿から少し空いてしまいました。コンニャクンです。
最近一段と暑くなってきましたね…
出不精の僕ですが、クーラー代節約のためにちょこちょこ出社しています。(行くまでは暑いけど仕方ない…)

今はAWS資格の[AWS Certified Security – Specialty](https://aws.amazon.com/jp/certification/certified-security-specialty/)を目指して勉強中、、、のはずですが、Veeam V12やvCenter Converter Standaloneの検証をやったりなど、全然手についていません(笑)
今は受験料半額セールをやっているのでこれを機に取得してみます!

# 今回の経緯
最近の業務の中で、[AWS MGN(Application Migration Service)](https://aws.amazon.com/jp/application-migration-service/)を使って、オンプレのvSphere環境にある仮想マシンをAWSに移行

元記事を表示

Github ActionsでAWS S3にNuxt.jsで作成したアプリケーションを自動デプロイする

– 意外と本タイトルの手順を簡潔に説明した記事ってない気がします。
– なので書いておきます。
– なきゃ、かけえぇ。

:::note warn
知れること:Github Actionsを活用してリポジトリにPushされたら、S3バケットにアプリケーションをデプロイする方法
知れないこと:バケットの設定は本記事では紹介しません。バケットのオブジェクトをパブリックに公開する設定にしておきましょう。
:::

> 以下の記事は、Terraformでやってますけど、S3の公開設定をしてるので興味があれば見てみてください。
https://qiita.com/ayumu_/items/ba0674f226e2acfa114f

## 目次
1. Github Actionsとはなにか(超簡潔に)& 本記事でやっていること
1. 手順
1. おわりに

## 1. Github Actionsとはなにか(超簡潔に)& 本記事でやっていること
#### Github Actionsとはなにか(超簡潔に)
– Githubに完全統合されているCI/CDのことです。
– Github以外のダッシ

元記事を表示

バックアップなしでtfstateを誤って削除してしまったら

## 概要
バックアップ取ってないのに, tfstate消しちゃった~
どうしよう~
となった時にどうするのか書いてみます。

とはいったものの
* tfstateはしっかりバックアップをとる(弄る時は)
* S3で管理している場合はバージョニングをした方がよい
* AWS Backupでも良いかも

ということにつきます。

tfstateの挙動については下記の記事がすごく参考になります。
https://chroju.dev/blog/terraform_state_introduction

## 実際どうなるのか
terraformの管理下から外れるので,
手動で作成したリソースと同じになります。

この状態で `terraform apply` をすると,
同じ構成のリソースができるか, 名前被りで失敗します。

`terraform destroy` ももちろんできないので,
リソースを手動で削除するしかないです。

厳しいです。

## 戻すにはどうすればよいのか
**元のtfstateの構成にもどす**

**諦めて既存リソースを手動で消して作り直す**
しか

元記事を表示

2023年のAWSアップデート追いかけてみる(6月前半編)

どうも、若松です。

前回の記事に引き続き6月前半のアップデートを追いかけます。
ちょうどAWSのセキュリティ年次イベントであるre:Inforceの時期だったこともありセキュリティ多めです。

(追記)一覧にまとめました

https://qiita.com/t_wkm2/items/2b0fcf742b94c2eacea2

# AWSアップデート2023年6月前半編
#### [Amazon Detective は検索グループを Amazon Inspector に拡張します](https://aws.amazon.com/about-aws/whats-new/2023/06/amazon-detective-finding-groups-amazon-inspector/)
今までDetectiveはGuardDutyが対象でしたが、Inspectorも対象範囲に入ったようです。
なかなか手が回らないサーバー周りの脆弱性対策にとってありがたい存在になりますね。

#### [Amazon Inspector が AWS Lambda 関数のコードスキャンの一般提供を発表](h

元記事を表示

OTHERカテゴリの最新記事