- 1. aws light sail に bitnamiを使わずにSSL設定
- 2. NATインスタンス起動・停止のSlackスラッシュコマンドを作る
- 3. 【AWS】CloudFormationでセッションマネージャで接続可能なEC2を構築してみた(NATGateway編)
- 4. S3を作成
- 5. AWS WAFでメンテナンスモード(アクセス制限)
- 6. 【Laravel】HerokuでAWS S3画像アップロード
- 7. ECS/FargateでNGINXを起動(3分)
- 8. 【AWS】今までの学習で学んだ用語をまとめてみた。
- 9. AWSを使う
- 10. DatabricksのAWS Graviton有効化クラスター
- 11. コストパフォーマンスを3倍まで改善するDatabricksのAWS Graviton2サポートの発表
- 12. AWS各サービスにかかっている金額
- 13. S3のオブジェクトロックと既存オブジェクトの一斉適用について
- 14. 【Terraform】When a network interface is provided, the security groups must be a part of it. のエラーが解消できない場合の対処法
- 15. import した aws_db_instance で想定しない差分が出るとき
- 16. node.jsでpresigned_urlを使用して画像データをs3に保存、表示する方法
- 17. AWSCloudFormation is not authorized to perform: eks:TagResource エラーの回避
- 18. ある日突然ThreadpoolWriteThreads(MAX)が急増して止まらなくなった件
- 19. AWSのRoute53でStripe Checkoutにカスタムドメインを設定する
- 20. AWSのメッセージングサービス SQS、SNS、EventBridge の主な機能比較
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

# 目次
1. [はじめに](#はじめに)
1. [セッションマネージャーとは](#セッションマネージャーとは)
1. [構築パターン](#セッションマネージャーの構築パターン)
1. [スタックの作成](#スタックの作成)
1. [よくある間違い](#よくある設定ミス)# はじめに
EC2を使って検証してみよーっと
の前にVPCから構築しなきゃ。。。ってこと皆さん経験あるでしょうか。
自分はしょっちゅうあります(笑)1度作成したリソースをそのまま残しておけば検証は楽ですが、思わぬとこでコストがかかってしまったり、多額の請求につながってしまう恐れがあります。
簡単な検証をするためにいちいちサブネット作って、SGを設定して、エンドポイント作成したけど、セッションマネージャでうまく繋がらなかった時ってめちゃくちゃストレスですよね。。。
どこの設定を間違えているかか探す時間がもったいないしということでセッションマネージャーで接続可能な検証用EC2を手軽に構築できるCloudFormationテ
S3を作成
## 初めに
今回、S3の作成方法について、ご説明作成いただきます。## 手順
### 1.AWSマネージメントコンソールの検索欄に[s3]を検索し、s3に移動

### 2.S3画面に「バケットを作成」ボタンをクリックする
### 2.一般的な設定
1. バケット名 (test-bucket-yyh)※同じ名前のバケットがすでに存在かを注意1. AWSリージョン(ap-northeast-1)
1. 既存のバケットから設定を
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.使用画像のイメージ



# 内容
* ECS/Fargateのイメージをつかむための入門記事です。
* 必要最小限の設定のみでNGINXを10台起動します。# 手順
* 「新しいタスク定義の作成」をクリックします。

* 「FARGATE」を選択します。

* 「コンテナの追加」選択後、下記を入力(その他はデフォルト)して「追加」をクリックします。
|項目|設定値|
|:—:|:—:|
|コンテナ名|nginx|
|イメージ|nginx|は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、インスタンス、接続ボタンを押すと、次の画面下に接続用コマンドが表示される。

[インスタンスに接続]ダイアログの右下の接続ボタンで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, timedeltaimport json
import urllib.request
import boto3
import os
import logginglogger = 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の属性を有効化にする。
①保持期間の設定
– バケットに設定したら、以降にアップロードされた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件オーバーも発生していました。
、[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