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

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

AWS JumpStartに参加してきました

AWSのサービスを本格導入を検討中です。
アーキテクチャ図を初めて描いたのですがいまいちこれでいいのか不安な部分がありました。

そんな時にアーキテクティングについて学ぶAWS JumpStartという無料の研修があることを知りました。

https://awsjumpstart221020.splashthat.com/

無料でオンラインで参加できるのでリモートワークをしている私にはちょうどいいと思い早速申し込み?
チームに分かれて、与えられた課題の解決のためのアーキテクチャを考えるという感じです。

Slack、Bluescape(ホワイトボーディングツール)、Chime(AWSが提供するオンライン会議ツール)などを使って数名でワイワイアーキテクチャを考えるのはなかなか楽しいものですね。

出来上がったアーキテクチャ図がこちら。

![スクリーンショット 2022-10-21 17.03.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1926542/0f34857a-6e6e-2e60-92

元記事を表示

処理を続けるLambdaを中断させる方法とか

JAWS-UG 朝会にてLTをやった内容をもうちょい深掘りしてみました。
Lambda の処理が止まらなくなったので、やったことをまとめてみます。

## やろうとしていたこと
KinesisからのストリーミングデータをLambdaで受け取り、よしなに処理したあとに別サービスへとAPI連携をしていこうとするつもりでした。

## CloudWatch にずっと出てくるログを見て・・・
メッセージを見るために何度かみているのですが、どうもずっと動いているようでした。
最初は継続しているのかな?と思いながら見ていたのですが、1分で出ている量がおかしいと思い、対処していくことにしました。

## まずは止めにかかる
### Lambda を一時停止させる
兎にも角にも Lambda は停止しないと無限課金されるので一旦処理を止めます。
止める方法は対象の関数から「同時実行」→「編集」から「同時実行の予約」の数を 0 に設定します。

これで処理は一旦止められたのでそこから見ていきます。
同時実行の設定を戻すと当然処理が再開されますので、一時しのぎです。

### Lamb

元記事を表示

【AWS】lambdaでCloudFrontのキャッシュを削除する方法

# はじめに
S3にアップロードした画像や動画は、CloudFront側で自動で検知して更新を反映してくれないので、いつまでもキャッシュされた古いデータを見てしまうということが起こり得る。
そのため、CloudFront側でキャッシュを削除する必要がある。これをLambdaでスケジューリング実行する。一応手動実行の方法も記載しておきます。

# CloudFrontのキャッシュ削除(手動実行)
手動実行でキャッシュを削除する方法は以下

![](https://storage.googleapis.com/zenn-user-upload/c52cb2fb7e0f-20221015.png)

![](https://storage.googleapis.com/zenn-user-upload/86f95bc403d4-20221015.png)

![](https://storage.googleapis.com/zenn-user-upload/0adfce76a593-20221015.png)

# CloudFrontのキャッシュ削除(Lambda)
Lambda実行でキ

元記事を表示

vagrant + amazon linux 2(実際のAWS EC2でも使える)サーバ構築~WordPressインストールまで

# 概要
AWS EC2環境を作るための練習でvagrantのAmazon linux 2イメージを使用してサーバ作成とWordPressのインストールまでの備忘録

:::note info
※これはvagrant init~BOX作成までを行った状態からの備忘録です。
:::

## 環境
* windows8.1
* ConEmu
* Vagrant
* bento/amazonlinux-2(vagrant box)

## 手順
### システム情報のチェック

~~~:Terminal
cat /etc/system-release
~~~
↓が表示されればOK
~~~:Terminal
NAME=”Amazon Linux”
VERSION=”2″
ID=”amzn”
ID_LIKE=”centos rhel fedora”
VERSION_ID=”2″
PRETTY_NAME=”Amazon Linux 2″
ANSI_COLOR=”0;33″
CPE_NAME=”cpe:2.3:o:amazon:amazon_linux:2″
HOME_URL=”https://a

元記事を表示

Amazon EKSでNGINX Ingress Controllerを利用する

# はじめに
Amazon EKSで[NGINX Ingress Controller](https://github.com/kubernetes/ingress-nginx)を利用する方法をまとめます。
Mac環境を想定しています。

# 実行環境の準備
1. AWS CLIの設定
[AWS CloudFormationを動かすためのAWS CLIの設定](https://qiita.com/miyabiz/items/fed11796f0ea2b7608f4)を参考にしてください。

1. EKSクラスタの構築
[Macでeksctlを利用してAmazon EKSのクラスターを構築する](https://qiita.com/miyabiz/items/75f83237795b0b7d52bd)を参考にしてください。

1. EKSのコンテキストの設定
[MacにてAmazon EKSの設定をする](https://qiita.com/miyabiz/items/b98d145cedb35dab9524)を参考にしてください。

1. Helmの設定
[Amazon EKS

元記事を表示

AWSでリザーブドインスタンスを活用し、RDSの支払い費用を半分に削減した話

# ?‍?自己紹介
初めまして。私は都内でwebエンジニアをしています。

今の会社はインターンを経て、新卒入社しました。早いもので社会人2年目になりました。

今は担当プロジェクトの開発チームリーダーとして日々プロダクトの改善を行なっています。

今回初めてQiitaに投稿を行うことにしました。励みになりますのでぜひ意見やコメントを頂けますと幸いです。

# ?背景
担当プロダクトはAWSを利用していたのですが、プロダクトの成長とともに、サーバ費が増加してきたことに加え、昨今の円安によりサーバ費用の増加が顕著になってきました。

ユーザー数が増えてきたのは嬉しい一方で、ユーザー数の増加と共に運用費用がかさんでしまってはビジネス観点からもよろしくないと考え、今回利用しているAWSのコスト削減へ踏み切りました。

# ?前提
## 利用しているAWSのサービス
今回のプロダクトで利用していたAWSのサービスの一例です。

– Amazon EC2
– Amazon Elastic Container Registry (ECR)
– Amazon Elastic Container Se

元記事を表示

【Terraform】複数ユーザーでAWSのインフラ管理する場合、S3にtfstateファイルを保管しよう

# はじめに
udemyを使ってTerraformの勉強をしたので、複数ユーザーでAWSのインフラ管理する場合についての学習備忘録です。

https://www.udemy.com/course/iac-with-terraform/

# 複数ユーザーでAWSのインフラ管理する
各々の環境でTerraformを実行すると、tfstateが各々の環境に作成され、整合性が取れなくなります。
そのため、tfstateファイルは、S3を使って管理します。

管理外のバケットが本番にできることや、ご適用を防ぐため、“`terraform管理対象“`と“`tfstateの保管先“`は、**別のアカウントにする**のが望ましいです。

# tfstateをS3へ保管する
tfstateファイルをS3バケットで保管するための設定をしましょう。

#### はじめにAWSコンソールからS3バケットを作成します。
![スクリーンショット 2022-10-16 20.07.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaw

元記事を表示

Amazon CodeGuruで静的解析を試してみる

DevOpsと合わせてセキュリティ対応で、DevSecOpsという言葉を耳にする機会が増えてきました

# Amazon CodeGuru で脆弱性等のチェックに使えるかどうか試してみた

– まず、使えるリージョンが限られています2022年10月時点では、

欧州 (ストックホルム)
欧州 (ロンドン)
欧州 (アイルランド)
アジアパシフィック (シンガポール)
アジアパシフィック (シドニー)
欧州 (フランクフルト)
アジアパシフィック (東京)
米国東部 (バージニア北部)
米国東部 (オハイオ)
米国西部 (オレゴン)

## OSSのソースに対してやってみます
– 結果から言いますと、脆弱性は出ていません

### 順序
1. GitHubのリポジトリを、自分でフォークします
1. Code G

元記事を表示

AWS SSMセッションマネージャー経由でSSH(プロキシ下、EC2自動起動)

AWS Systems Manager(SSM)セッションマネージャー経由でEC2インスタンスにSSH接続します。プロキシ環境下での接続方法や、SSH接続時にインスタンスを自動起動する方法も示します。

## EC2インスタンスを準備する

SSH接続先のEC2インスタンスを作成します。例えば以下のようにします。

1. VPCなどのネットワークとEC2インスタンスを作成します。(※料金を安くしたいときは、停止・再開できるスポットインスタンスを使用します)
1. 料金を安くしたいので、毎日深夜にインスタンスを停止するようにします。EventBridgeの「EC2 StopInstances API 呼び出し」を使うのが簡単だと思います。
1. SSMの前提条件を満たしていることを確認します。
1. SSMエージェントがインストールされていること。(※Amazon Linux 2などにはプリインストール済み)
1. `AmazonSSMManagedInstanceCore` ポリシーを含むIAMロールがインスタンスにアタッチされていること。
1. インターネット

元記事を表示

3年後に向けた備忘録_AWS認定ソリューションアーキテクト プロフェッショナル試験(SAP-C01)

# はじめに
2022年9月にSAP-C01の試験に合格しました。?
[試験バージョンが2022/11/15から改訂](https://aws.amazon.com/jp/certification/coming-soon/)されますし、単に運がよかっただけな気もしますが、
再認定(約3年後)の準備を始めるときに前回受験時のことを思い出すのも面倒なので、備忘録を残しておくことにします。?

## 試験の概要
[AWS Certified Solutions Architect – Professional](https://aws.amazon.com/jp/certification/certified-solutions-architect-professional) 
  180分75問(採点対象:65問)
  採点   100~1000(合格:750~)
  試験料  33000円(税込)
  出題形式 全て選択式(正答数は明示される、1~3つ)。問題の後戻り可能。

私の受験した試験バージョンでは、[試験ガイド](https://d1.awsstatic.com/ja_JP/

元記事を表示

AWS Tools for PowerShellとAWS CLIでロール切替なしのMFA認証

AWS Tools for PowerShellやAWS CLIでロール切替時にMFAするには `.configure` ファイル内でロールにMFAデバイスを設定しておけばいい。ロール切替時に、MFAコード(6桁の数字)を聞いてくれる。ではロール切替しない、IAMユーザー認証してそのまま要MFAの作業するにはというと、この手法が使えなさそうな感じ。

> 注意: 永続的な IAM 認証情報で mfa_serial パラメータを使用することはできません。
> ([AWS CLI 経由で MFA を使用してアクセスを認証する](https://aws.amazon.com/jp/premiumsupport/knowledge-center/authenticate-mfa-cli/))

大まかに言えば、このドキュメントにある手順でセッショントークンを取得し、一時的な認証情報として設定する必要がある。

# AWS CLI

上の引用文出典と同じだけど、こちらを参照。

https://aws.amazon.com/jp/premiumsupport/knowledge-center/a

元記事を表示

Security Hub とは

## 勉強前イメージ

AWSのサービスってくらいで実はあまり知らない

## 調査

### Security Hub とは

AWSの対象サービスのチェックを行って一元管理するサービスになります。
AWSにはいろいろサービスがありますが、使っっている対象サービスのチェックなどを一つ一つしていくのは大変です。
その為、AWSで対象となっているサービスのセキュリティアラートを集約して一つの管理画面で見れるようにしたのが
このSecurity Hubになります。

現時点では対象サービスは以下になります。

– Amazon GardDuty
– Amazon Inspector
– AWS System Manager
– AWS Health
– AWS config
– AWS Firewall Manager
– AWS IAM Access Analyzer
– Amazon Macie

### Security Hub のメリット

– データの集約

上記にも記載させていただいているサービスのセキュリティチェックを一つのSecutiry Hubで見ることができるので
個々

元記事を表示

【Terraform】Terraformの設定(terraform, providerブロック, dataブロック, outputブロック)

# はじめに
udemyを使ってTerraformの勉強をしたので、terraformブロック、providerブロック、dataブロック、outputブロックについての学習備忘録です。

https://www.udemy.com/course/iac-with-terraform/

# terraformブロック

Terraform全体に関わる設定ができる
* required_version : Terraformのバージョン設定
* required_providers: providerのバージョン設定

“`terraform
terraform {
required_version = “>=0.13”
required_providers {
aws = {
source = “hashicorp/aws”
version = “~> 4.0” # 4.0以上, マイナーバージョンを気にしない
}
}
}
“`

https://developer.hashicorp.com/terraform/langua

元記事を表示

RDS MySQL Workbench による import/export

# はじめに

実際には、RDS のバックアップと復元機能を使うが、RDS MySQL Workbench による import/exportは参考までに残す。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_CommonTasks.BackupRestore.html

# RDS の設定変更

RDS の DBパラメーターグループ の `log_bin_trust_function_creators` を`1`に設定し再起動。

# Import

Data Import/Restore > Import from Disk > Import from Self-Contained File でインポートするファイルを選択 > Default Target Schema で DB を選択もしくは新しく DB を作成 > Start Import を選択。

![スクリーンショット 2022-10-21 19.26.25.png](https://qiita-image-store.s3.ap-no

元記事を表示

AWS EC2 Route53 Apacheで静的テストページアップロードまでまとめ2022 (How To Host a Static Website in EC2 instance)

### おそらくすぐに内容変わりますが(2022年10月時点)。
### 意外と重要:Login AWS, Confirm region.

### ①Route53:Get original domain(ほかのドメインサーバーでも多分可)

### ②EC2:Start-up Instance(出来たら起動の都度キーペア作成する方がよさげ)

### ③When status is display “pass” while Instance running, you can go next.

### ④EC2:Click Elastic IP from menu. Do “Assign” and then “Associate”.

### ⑤Route53: Making A record in Hostzone.

(ここでNuxt.jsなど動的サイト運用時はレコードタイプをCNAMEにする?)

### ⑦Login into cloud server using TeraTerm. Install “Apa

元記事を表示

ALBで複数の証明書をアタッチしてマルチドメイン対応する on Fargate

WIP

元記事を表示

NAT Gawatewayを使ったLambdaのIPアドレスの固定化方法

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556658/6ec16fbf-ad49-b975-cf6a-642ab0476747.png)

## はじめに
株式会社マイスター・ギルド新規事業部のヒツジーです。
弊社新規事業部では、新規サービスの立ち上げを目指して
日々、アイディアの検証やプロトタイプの作成などを行っています!

技術の進歩は目覚ましいので、置いてかれないように新しい技術のキャッチアップにもいそしんでいます!
本記事は、以前書いた[FastAPI with Lambda + API Gatewayでサーバレスアプリケーションを作成する方法](https://qiita.com/drafts/cedd1825e5437663d3ce)の続編として、AWSのサービスであるNAT Gawatewayの使い方についてご紹介します。

アクセス制限がかかっている外部サーバーのDBにAWS Lambdaからアクセスするには、IPアドレスを固定化しないといけませんが、NAT Gat

元記事を表示

とりあえず触り始めるための Athena v CloudWatch Logs Insights

どちらもAWSサービス、データを検索できるやつです。

細かいチューニングや知見は後回しでいいから、ざっくり今すぐサクッと使ってもらいたい。

どうしても気になるのは費用ですが、どちらも「無茶苦茶(もの凄い量をもの凄い回数扱う)な使い方をしなければお安い」範囲だと思うので、その範疇ならあまり気にしなくていいかも。

## 使い分け

* [Amazon Athena](https://aws.amazon.com/jp/athena/) をオススメするケース
* データを正しくフォーマットして溜め、アドホックな検索を行いたい場合=DBテーブルに対してアドホックなSQLを連発したい
* 検索するまでの準備に対して、ある程度労力を割いてもよい
* [Amazon CloudWatch Logs / CloudWatch Logs Insights](https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) をオススメするケース
* 直近のデータからささっとグレップした

元記事を表示

[AWS] ssm-userが作成されるタイミング

# 結論
`ssm-user`は
– 最初のセッション確立時に作成される。
– ただし、Run Asを有効化している場合は作成されない。

## 少し説明

GithubのレポジトリのREADMEに書いてある通り、

https://github.com/aws/amazon-ssm-agent

>The first time a Session Manager session is started on an instance, the agent will create a user called “ssm-user” with sudo or administrator privilege. Session Manager sessions will be launched in context of this user.

`ssm-user`は**最初のセッション確立時**にssm-agentによって作成されます。インスタンスの起動時やssm-agentが起動したときには作成されません。

また、SSMには`SSMSessionRunAs`というタグをIAMユーザーやロ

元記事を表示

【Terraform】リソースの設定の変更を無視したい場合の対応方法

## はじめに
Terraform にて AWS リソースを tfstate に Import する際に、リソースの変更を無視するための対応を実施しました。
今回、その対応方法を記事として残したいと思います。
※こちらの対応は、`aws_s3_object` リソースにて実施しました。

## 対応を実施した際の Terraform のバージョン
v4.0.0

## リソースの設定の変更を無視したい場合
リソースに以下のように記載する。

“`terraform:書き方
resource “リソースの種類” “リソース名” {

lifecycle {
ignore_changes = [
変更を無視したい設定
]
}
}
“`

“`terraform:記載例
resource “aws_s3_object” “test_object” {
bucket = aws_s3_bucket.test_object.id
bucket_key_enabled = false
cache_control

元記事を表示

OTHERカテゴリの最新記事