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

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

aws light sail に bitnamiを使わずにSSL設定

今回は yomiplus.com のドメインを利用。

bitnamiがバグって上手く動かないので。
“`

Bitnami installation directory

Please type a directory that contains a Bitnami installation. The default
installation directory for Linux installers is a directory inside /opt.

Bitnami installation directory []: /opt/bitnami

“`
の連続。心折れたので以下の方法でインスコ。

・nginx

# certbot をインスコ
“`
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y certbot
“`

# nginxを止めて証明書発行
“`
sudo service nginx s

元記事を表示

NATインスタンス起動・停止のSlackスラッシュコマンドを作る

# はじめに
2,3年前に作成したスラッシュコマンドの詳細を、やっとこさですがまとめようと思います。
※ですので、一部情報が古い可能性があります。

# できること
/xxxnat status →NATインスタンスの状態を確認
/xxxnat start →NATインスタンスを起動
/xxxnat stop →NATインスタンスを停止

※実行結果が設定したSlackチャンネル全員に見える形で投稿されます

# 作ったもの(大きく分けて2つ)
1. NATインスタンスがstopped→runnninng/runnninng→stoppedに変わった時に通知するSlackbotを作る
2. 「/xxxnat start」「/xxxnat stop」と設定したチャンネルで発言すると、NATが起動/停止するWebhookを作る(「/xxxnat status」で今の状況も返してくれる)

# フロー
## 1. インスタンスステータス変化時に通知するSlackbot
![natbot_1.png](https://qiita-image-store.s3.ap-northeast-1

元記事を表示

【AWS】CloudFormationでセッションマネージャで接続可能なEC2を構築してみた(NATGateway編)


# 目次

1. [はじめに](#はじめに)
1. [セッションマネージャーとは](#セッションマネージャーとは)
1. [構築パターン](#セッションマネージャーの構築パターン)
1. [スタックの作成](#スタックの作成)
1. [よくある間違い](#よくある設定ミス)

# はじめに
EC2を使って検証してみよーっと
の前にVPCから構築しなきゃ。。。

ってこと皆さん経験あるでしょうか。
自分はしょっちゅうあります(笑)

1度作成したリソースをそのまま残しておけば検証は楽ですが、思わぬとこでコストがかかってしまったり、多額の請求につながってしまう恐れがあります。

簡単な検証をするためにいちいちサブネット作って、SGを設定して、エンドポイント作成したけど、セッションマネージャでうまく繋がらなかった時ってめちゃくちゃストレスですよね。。。
どこの設定を間違えているかか探す時間がもったいないし

ということでセッションマネージャーで接続可能な検証用EC2を手軽に構築できるCloudFormationテ

元記事を表示

S3を作成

## 初めに
今回、S3の作成方法について、ご説明作成いただきます。

## 手順

### 1.AWSマネージメントコンソールの検索欄に[s3]を検索し、s3に移動

![截屏2022-04-19 22.19.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531066/fcb3d91d-be29-1a4a-4bd0-ccbbff3c954f.png)
### 2.S3画面に「バケットを作成」ボタンをクリックする
![截屏2022-04-19 22.20.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2531066/25899145-355b-d2ce-18f7-ff6921a742af.png)

### 2.一般的な設定
1. バケット名 (test-bucket-yyh)※同じ名前のバケットがすでに存在かを注意

1. AWSリージョン(ap-northeast-1)
1. 既存のバケットから設定を

元記事を表示

AWS WAFでメンテナンスモード(アクセス制限)

AWS WAF

・CloudFront + Origins(S3 や ALB) という構成のWebサイトにて、
メンテナンスモードへ切り替えたいという要望をAWS WAFにて対処した際の備忘録になります。

# AWS WAFとは
・AWSにて、Webサイトを構築した際の入り口となることが多いCloudFront, ALB, API Gatewayの前段に配置することが出来、連携もあるようです。また、Managed rulesという基本的な防御内容を抑えたルール群が用意されており、セキュリティ対策としての導入を易しくしている印象を受けました。

詳しくは[公式Document](https://docs.aws.amazon.com/waf/latest/d

元記事を表示

【Laravel】HerokuでAWS S3画像アップロード

# 1.はじめに
大阪のLaravel初学者サウナーこと、kazumakishimoto([@kazuma_dev](https://twitter.com/kazuma_dev))です!
LaravelでAWS S3へ画像アップロードする方法について解説します!(インフラはEC2ではなくHeroku)

## 1-1.使用画像のイメージ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/687994/5c27dada-31e4-fb17-6dcd-4f8d25fb6d38.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/687994/efeabd07-c6f2-92bc-d69e-5db8920a643a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/687994/7b

元記事を表示

ECS/FargateでNGINXを起動(3分)

# 内容
* ECS/Fargateのイメージをつかむための入門記事です。
* 必要最小限の設定のみでNGINXを10台起動します。

# 手順

* 「新しいタスク定義の作成」をクリックします。

![ecs01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/7d0ef38a-1f3f-7a1b-c6e1-7815fa8c2d5d.png)

* 「FARGATE」を選択します。

![ecs02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/bb9754f3-24a4-41c0-bb66-e6cbb90d3894.png)

* 「コンテナの追加」選択後、下記を入力(その他はデフォルト)して「追加」をクリックします。

|項目|設定値|
|:—:|:—:|
|コンテナ名|nginx|
|イメージ|nginx|

![ecs04.png](https://qiita-image

元記事を表示

【AWS】今までの学習で学んだ用語をまとめてみた。

## AWS API
AWSが提供しているAPIでこれを使用することで、CLI上からコマンドをAWSに送信し、クラウドのリソースを操作することができます。
また、このAPIを実行するために用意されたCLIがAWS CLI
です。

## ARN
ARN(Amazon Resource Name)はAWSのリソースに付けられた固有の名前のことです。ホームページで言うとURLに近いですね。

例えばS3の場合は”arn:aws:s3:::my_buckets/”のような形のものです。
このARNが存在することによって特定のバケットやインスタンスを指定し、参照することが可能になります。

## CloudFormation
CloudFormationはAWSの静的リソースを管理するための仕組みのことです。

静的リソースとは、S3のバケットやEC2のインスタンス、DBのテーブルといったデプロイ時に1度だけ実行されるリソースのことです。

逆に、S3のバケットにデータを書き込むといった、繰り返し又は、操作するために実行される操作のことを動的な操作といいます。

少し話が反れま

元記事を表示

AWSを使う

# 参考

https://qiita.com/kazokmr/items/754169cfa996b24fcbf5

#
https://qiita.com/yamanashi7474/items/979084e0532f5633c010

# putty-gen

ppk->pemの相互変換。
 → Putty-genで可能(一度ロードしてから保存)
   またはConvertボタン
https://qiita.com/naka46/items/3297242f3386b5f9e3dc

# ssh接続の仕方

AWS、インスタンス、接続ボタンを押すと、次の画面下に接続用コマンドが表示される。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/555658/9f99fae3-bc29-20ee-0f7d-839de8947935.png)

[インスタンスに接続]ダイアログの右下の接続ボタンでWEB経由でコンソールにログインできる。

# sshトンネル/ssh転送設定

元記事を表示

DatabricksのAWS Graviton有効化クラスター

[AWS Graviton\-enabled clusters \| Databricks on AWS](https://docs.databricks.com/clusters/graviton.html) [2022/4/12時点]の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

:::note info
**プレビュー**
本機能は[パブリックプレビュー](https://docs.databricks.com/release-notes/release-types.html)です。
:::

Databricksクラスターでは[AWS Graviton](https://aws.amazon.com/ec2/graviton/)インスタンスをサポートしています。これらのインスタンスでは、Arm64命令セットで構築されたAWS設計のGravitonプロセッサーを使用しています。AWSはこれらのプロセッサーを持つインスタンスタイプは、いかなるAmazon EC2のインスタンスタイ

元記事を表示

コストパフォーマンスを3倍まで改善するDatabricksのAWS Graviton2サポートの発表

[Announcing Databricks Support for Aws Graviton2 With up to 3x Better Price\-Performance \- The Databricks Blog](https://databricks.com/blog/2022/04/18/announcing-databricks-support-for-aws-graviton2-with-up-to-3x-better-price-performance.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

本日、AWSのGraviton2ベースのElastic Compute Cloud (Amazon EC2)インスタンスをDatabricksでのサポート(パブリックプレビュー)を発表できることを嬉しく思います。GravitonプロセッサーはAmazon EC2におけるクラウドワークロードのベストなコストパフォーマンスを提供するためにAWSによってカスタムの

元記事を表示

AWS各サービスにかかっている金額

“`python
import datetime
from datetime import date, timedelta

import json
import urllib.request
import boto3
import os
import logging

logger = logging.getLogger()
logger.setLevel(logging.INFO)
today = date.today()

def lambda_handler(event, context):

url = ‘https://api.line.me/v2/bot/message/broadcast’

headers = {
“Content-type” : “application/json”,
‘Authorization’: ‘Bearer ‘ + os.environ[‘ACCESSTOKEN’]
}

cloudwatch = boto3.client(‘cloudwatch’,

元記事を表示

S3のオブジェクトロックと既存オブジェクトの一斉適用について

# S3 Object Lock利用シーン
①一定期間または無期限でオブジェクトの削除や上書きを防止したい
②WORM( write-once-read-many) ストレージを必要とする規制要件を満たすために
※SEC 17a-4、CFTC、FINRAの規制

リンク:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html

# 設定方法
まずは、Objectの属性を有効化にする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1348505/9d22284e-4b31-1f60-1361-60423e2974bb.png)

①保持期間の設定
– バケットに設定したら、以降にアップロードされたObject全部自動的に適用される
– オブジェクトごとに設定する。
> 以下2モードのどちらかを設定する
Governance mode <特殊権限で外せる>

元記事を表示

【Terraform】When a network interface is provided, the security groups must be a part of it. のエラーが解消できない場合の対処法

# はじめに
TerraformでAWSのEC2を構築していた際に、“aws_autoscaling_group“ブロックで「`When a network interface is provided, the security groups must be a part of it.」のエラーが出ました。
基本的には[こちら](https://github.com/hashicorp/terraform-provider-aws/issues/4570)で議論されている内容で解消すると思いますが、私の場合は例外で別の箇所が原因でエラーが起きていたので対処法を残しておきます。

# 対処法

結論としては“launch_template“の“version“を“Latest“に指定することです。
私の場合は最初に“apply“した“aws_launch_template“ブロックのコードに誤りがあり、正しくない起動テンプレートが“Default“になっていました。

2回目以降“terraform apply“を実行すると、起動テンプレートが新しいバージ

元記事を表示

import した aws_db_instance で想定しない差分が出るとき

# 概要

`terraform import` で RDS の MySQL をインポートした。
差分が出ないように記述したものの、以下のような差分が出てしまう。

“`hcl
# module.rds.aws_db_instance.primary will be updated in-place
~ resource “aws_db_instance” “primary” {
+ character_set_name = “”
+ domain = “”
+ domain_iam_role_name = “”
id = “hoge”
+ identifier_prefix = “”
+ kms_key_id

元記事を表示

node.jsでpresigned_urlを使用して画像データをs3に保存、表示する方法

この記事ではpresigned URLを使用してs3に画像を保存、表示する方法を学んでいきます。

### Presigned Urlとは?

presigned URLは、特定のS3オブジェクトへの一時的なアクセスを許可するために,
ユーザーに提供することができるURLです。URLを使用して、ユーザーはオブジェクトをREADするか、オブジェクトをWRITEする(または既存のオブジェクトを更新する)ことができます。

### 環境,事前準備
– “aws-sdk”: “^2.1116.0”
– バックエンド(express(Node.js)), フロント(vue, react, angluar, Svelte etc)
– awsのアクセスキー (IAMでs3の操作権限を持つユーザーを作成し、アクセスキーを取得してください)
– s3にbucketを作成

### Presigned Urlを作成するAPI

“`
const AWS = require(“aws-sdk”);
const uuid = require(“uuid/v4”);

const s3 = new

元記事を表示

AWSCloudFormation is not authorized to perform: eks:TagResource エラーの回避

## 概要

– AWS CloudFormationでEKS Clusterリソースを作成する際、EKSへのタグ付けに失敗した。
– cloudformationのcreate-stack実行時に付与したRoleに、`eks:TagResource`のポリシーが不足していたことが原因だった。

## 発生事象

– CFnからEKS Clusterを作成するため、以下のコマンドを実行。

“`
aws cloudformation create-stack –stack-name ${STACK_NAME} \
–role-arn arn:aws:iam::${ACCOUNT_ID}:role/\
–template-body file://01_template/${TEMPLATE_FILE} \
–parameters file://02_parameter/${PARAMETER_FILE}
“`

– CFnの以下のエラーが発生していた。

> Resource handler returned message: “User: arn:aws

元記事を表示

ある日突然ThreadpoolWriteThreads(MAX)が急増して止まらなくなった件

こんにちは、catooです。

前回は、Opensearch(ElasticSearch)の429エラーについて記載したのですが、
最近突然起こった障害について備忘録として記載しようと思います。

ある日、突然起こったこと
運用しているシステムは配信系のシステムなのですが、起こったことは主に2つ下記です。

### OpenSearch 環境
バージョン:Elasticsearch 6.4
サービスソフトウェア:R20220323-P1

## アプリログのWarningが大量発生
OpenSearch向けのリクエストが429エラーとしてしばしば弾かれることは前の記事にも記載しましたが、この日は一味違いました。
通常大量トラフィックの発生についても多くて1件程度の発生で収まっていた429エラーなのですが、この日はなんと30000件オーバーも発生していました。
![スクリーンショット 2022-04-18 14.14.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaw

元記事を表示

AWSのRoute53でStripe Checkoutにカスタムドメインを設定する

Stripeが提供するリダイレクト型の決済APIがStripe Checkoutです。

通常リダイレクト先の決済ページは、`https://checkout.stripe.com`を含むURLです。

もし表示されるURLを、独自のストア・サービスのドメインに変更したい場合は、Stripe Dashboardから設定を行う必要があります。

この記事では、Stripe DashboardとAWSのDNS管理サービスRoute53を利用して、カスタムドメインを設定する方法を紹介します。

## 作業前の注意点

– カスタムドメインは**月10USD**の有料オプションです。
– Route53管理画面にアクセスし、DNSの設定が行える状態であることをご確認ください。
– **Step3**の接続チェックに**3時間半以上**かかります。
ワークショップなどで紹介する場合には、Step2までを早い段階で済ませる構成にしましょう。

## Step1: Stripe Dashboardから、設定したいドメイン名を登録する

カスタムドメインの設定は、[Stripe Dashboard

元記事を表示

AWSのメッセージングサービス SQS、SNS、EventBridge の主な機能比較

# はじめに

本記事は、AWSの***メッセージングサービス***である [SQS](https://aws.amazon.com/jp/sqs/)、[SNS](https://aws.amazon.com/jp/sns/)、[EventBridge](https://aws.amazon.com/jp/eventbridge) の主な機能を簡単に比較してまとめたものになります。(2022/04/16現在)
サービスを選定する時の気づきになれば幸いです。

各サービスの機能の詳細は、AWS Black Belt Online Seminarの資料を一読してから、詳細はAWSのドキュメントを読むようにすると頭に入りやすいです。

***SQS***
[AWS Black Belt Online Seminar SQS](https://d1.awsstatic.com/webinars/jp/pdf/services/20190717_AWS-BlackBelt_AmazonSQS.pdf)
[Amazon Simple Queue Service のドキュメント](https://d

元記事を表示

OTHERカテゴリの最新記事