- 1. Elastic Network Interfaceが削除できない
- 2. これだけは絶対やって!AWSの利用料をメールで通知して使いすぎを防止!!
- 3. Presigned URL を用いた S3 multipart upload を行う (by JavaScript + Python Chalice)
- 4. REST APIでDynamoDBのテーブルを操作
- 5. CloudFront+S3+Route53の構成で「wwwあり・なし」のドメインを運用する時の設定
- 6. 未経験からAWS認定を取得した話
- 7. 想定外のメール大量送信によるSNSサブスクリプションの非アクティブ化に対処する
- 8. 簡易IPアドレス自動ブロック機能の実装
- 9. CDKでセキュリティグループからの通信のみを許可するインバウンドルールを作成する
- 10. AWS ストレージまとめ(S3、EBS、NFS、FSx)
- 11. 【Api Gateway】CORS有効化実行時にエラーとなる場合の対処法
- 12. AWSのAutoScalingについてまとめ(SAA試験対策)
- 13. AWS cloud9 connectingのまま
- 14. CloudWatchログアラームの作成が面倒なので、Excelから設定値を読み込んで作成できるようにしてみた。
- 15. 【AWS】EC2+dockerで外部からアクセスできるWebサイトを構築する手順
- 16. 【AWS】Glue ConnectionでAurora PostgreSQL 14に接続しようとすると失敗する
- 17. Amazon SQSの標準キューの順序を検証
- 18. AWSクラウドプラクティショナー受験記録 ~AWS歴2年半でも油断できなかった~
- 19. スポットインスタンスでゲーム用サーバの構築
- 20. 【直前の速習におすすめ】AWS DevOpsProfessional勉強メモ【随時更新】
Elastic Network Interfaceが削除できない
# 課題
Elastic Network Interface(ENI) が削除できない■削除できない表示
![2023-02-06_084220.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2292878/70b42c83-984b-628d-4df4-8959e9ecfa88.jpeg)# 解決方法
1. まず説明をきちんと読む・・・・
(CloudFormation 利用時に見に覚えがないサービスが一緒に展開されていたりする)■赤枠が説明書きがある箇所
![2023-02-06_08445202.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2292878/e356ba65-255f-25b3-386c-10dfe921d0e7.jpeg)2. 対象となるサービスを削除
EFSの削除後、ENIも一緒に削除されていた■何故か利用されてたEFS
![2023-02-06_085251.jpg](
これだけは絶対やって!AWSの利用料をメールで通知して使いすぎを防止!!
## 予算の作成
### 予算1:無料利用枠を超えたら通知
**$0.01でも費用が発生したら** メールで通知します。
1. マネジメントコンソールを開きます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/df2ff52a-f6cd-6cc6-9fa9-1d3cd6b4acdb.png)
1. `badgets`で検索し、`AWS Budgets`を選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/ca9fd300-b9b6-23ee-3b16-c28d2adade14.png)1. `予算の作成`ボタンをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/3ea53309-f
Presigned URL を用いた S3 multipart upload を行う (by JavaScript + Python Chalice)
# 問題
AWS S3 によって Presigned URL を発行すれば、サーバーに直接ファイルをアップロードせずとも、S3 に対して直接ファイルをアップロードできる。
しかし、1回のリクエストでアップロードできる最大ファイルサイズは 5GB であり、それ以上のファイルをアップロードするためにはマルチパートアップロードによって分割アップロードを行う必要がある。
ここでは、ブラウザ側に Credential を発行することなく、サーバー側で発行された Presigned URL を利用してファイルをマルチパートアップロードする方法についてを記す。# プロジェクト全体
プロジェクト全体で利用するソースコードを以下で公開している。
今回は、サーバーサイドは [AWS Chalice (Python)](https://aws.github.io/chalice/) で、クライアントサイドでは JavaScript を Webpack でビルドしたものを利用している。https://github.com/t-kigi/s3-multipart-uploads-with-chal
REST APIでDynamoDBのテーブルを操作
## 概要
REST APIでAWS上のDynamoDBのテーブル操作を行う方法を記載
CURLでAPI GatewayにデプロイしたAPIを叩いてDynamoDBと通信## 目次
1. REST APIとは
1. DynamoDBのテーブルを作成
1. ロールの作成
1. Lambda関数を作成
1. API GatewayでAPIをデプロイ
1. CURLによる動作確認## 1. REST APIとは
REST APIは、REST(Representational State Transfer)の原則に基づいて設計されたAPIのことを指し、HTTP通信によって、データの作成/読み取り/更新/削除の機能を実行できます。要求されたリソースに関する情報を提供し、以下の4つのメソッドを使用してリソースの処理方法を記述します。
GET:リソースを取得
POST:リソースを作成
PUT:リソースを更新
DELETE:リソースを削除
また、リソースを様々な形式(HTML/XML/JSON/バイナリ)で表現できるようになっています。## 2. DynamoDBのテーブルを作成
一連の手
CloudFront+S3+Route53の構成で「wwwあり・なし」のドメインを運用する時の設定
## シーン
* S3バケットにHTML/CSS/JSなどの静的ファイルを配置して、CloudFrontで配信する構成を作りたい。
* 配信時のドメインは独自ドメインを使いたい。
* ドメインは「wwwあり」「wwwなし」のどちらも使えるようにしたい## 設定
各サービスの設定時に、以下を気をつけておけば問題ない。
### CloudFront
* オリジンドメイン
* `対象のS3バケット` を選択
* S3バケットアクセス
* `Origin access control settings` を選択
* ビューワープロトコルポリシー
* `Redirect HTTP to HTTPS` / `HTTPS only` のどちらかを選択
* カスタム SSL 証明書
* ACMで発行した証明書を選択
* 代替ドメイン名 (CNAME)
* 「wwwあり」「wwwなし」の2件とも登録上記以外は基本的にデフォルト設定で問題ない。
### Route53
* レコード
* wwwなし用のCloudFrontディストリビューシ
未経験からAWS認定を取得した話
はじめまして。
パチンコ店で社員として働きながら
エンジニア転職を目指している者です。目標としていたAWS認定資格を取得出来たので
備忘録的に初めての記事を書いてみます。## 環境
* スクール利用(侍エンジニア)
* 週5でパチンコ店勤務(社員)## 取得した資格
* CLF
* SAA
* DVA取得順は CLF > DVA > SAA でした。
総準備期間は5ヶ月です。## 使用教材
### 【教科書】
– AWS認定資格 クラウドプラクティショナーの教科書(無料!)
– AWS認定資格 ソリューションアーキテクトアソシエイトの教科書(無料!!)
– AWS認定 デベロッパーアソシエイト教科書
– ポケットスタディ AWS認定デベロッパーアソシエイト### 【ハンズオン】
* 侍エンジニアAWSコース
* 侍エンジニア メンターからの課題
* Hands-on for Beginners### 【問題集】
* TechStock
* Udemy
* Ping-t(SAAのみ)# 学習方法
## ■CLF
**準備期間:1ヵ月半**
侍エン
想定外のメール大量送信によるSNSサブスクリプションの非アクティブ化に対処する
# はじめに
Amazon SNSには、Eメッセージの配信レート(1秒あたり10件)の上限を超過した場合に、SNSサブスクリプションを非アクティブ化させる仕様があります。
参考URL: [Amazon SNS サブスクリプションを手動で無効にしたことを示す E メールが AWS から届いたのはなぜですか?](https://aws.amazon.com/jp/premiumsupport/knowledge-center/sns-email-subscription-disabled/ “AWS公式ドキュメント”)つい先日この問題を対処したことがあったため、投稿しました。
# 発生ケース
![SNS_AWS構成図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1046178/e622da65-f3d9-5901-52d6-b39189ccdc72.png “SNS_AWS構成図.png”)1. CloudWatch Logsのロググループにサブスクリプションフィルターを設定
1. サブスクリ
簡易IPアドレス自動ブロック機能の実装
# 概要
– 一定回数以上不正アクセスを行ったIPアドレスをAWS WAFのブロックルールに自動的に追加する仕組みをAWS Lambdaで実装する
# 注意点
– 前提として、不正アクセスは同一IPアドレスで実行されています
– 不正アクセスをしたIPアドレスをWAFでブロックし、以降別のユーザーにそのIPアドレスが割り振られた場合はそのユーザーはシステムを利用できなくなります
– 定期的な解除機能も作ると安心です
– 特定の国からの不正アクセスが多く当該国からの利用を想定していないなら、地理的一致ルールステートメントなどを利用する方が簡単です
– [AWS WAF v2 で特定の国からのアクセスをブロックしてみた](https://dev.classmethod.jp/articles/aws-wafv2-country-block/)
– アクセス数が多く、特定のURIに対して行われているのであればレートベースのルールを利用する方が簡単です
– [レートベースのルールステートメント](https://docs.aws.amazon.com/ja_j
CDKでセキュリティグループからの通信のみを許可するインバウンドルールを作成する
# やりたいこと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2949357/fca91282-4422-26f4-3807-8eedb4e84dc9.png)
– CDK(v2)で、インターフェース型のエンドポイントを作成する。
– 今回はGlueのエンドポイントだが、インターフェース型なら何でもOK
– そのエンドポイントのセキュリティグループに、別のセキュリティグループからのアクセス許可のみを与える。
– その際、IPでのアクセス許可は実施しない。ポイントは、「別のセキュリティグループからのアクセス許可**のみ**を与える」という部分です。IPでの許可は与えません。
少しハマったのでやり方を共有します。## 前提条件
– CDK 2.62.2
– これ以外のバージョンでも使える話だと思いますが、詳細はドキュメントの確認をお願いいたします。
– 言語はTypeScript# 間違った方法
以下のようなCDKのコードを書きました(EC2インスタンスなどの部
AWS ストレージまとめ(S3、EBS、NFS、FSx)
## ストレージの種類
* インスタンスストア
* EC2インスタンスに接続された物理ストレージ
* 高速だが永続化されない
* 一瞬しかいらないデータとかしか置かない
* S3
* 6つのストレージクラスがある
* https://dev.classmethod.jp/articles/should_i_choice_s3_storage_class/
* データをオブジェクトとして保存
* AZ内で冗長化されている
* AWS Storage Gatewayでオンプレからアクセスできる
* EBS
* ブロックストレージ
* **AZに拘束される**
* 基本EC2インスタンスにアタッチして使う
* NFS
* 複数のAZに冗長化されている
* **Linux、Macからしか扱えない**
* たくさんのサーバーからアクセスするようなときはだいたいこれ
* FSx
* Amazon FSx for Windows File Server
*
【Api Gateway】CORS有効化実行時にエラーとなる場合の対処法
# はじめに
みなさんAWSはお好きですか?(笑)
私はどうにも苦手なのですが、最近はAWSとも仲良くしていく必要があり、うる覚えだった知識を再度掘り起こしながら調整しています。
今回はその過程で出たcors有効化時のエラーについて対処法をまとめておこうと思います。# エラー解消方法
表示されていたエラーは以下になります。
![cors_error.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/354522/fdaa4b75-6a1d-6d95-6b3c-addfe3815710.png)名称を見たらなんとなく何をすべきなのかわかるのですが、具体的に何をどう追加すれば解消するのか手順をまとめます。
まず怒られている原因はエラーの内容通りoriginを捌けないからなので、post側の設定を確認します。
メソッドレスポンス項目を選択すると現状は何も設定がないかと思います。
![スクリーンショット 2023-02-05 16.32.16.png](https://qiita-image-store.
AWSのAutoScalingについてまとめ(SAA試験対策)
## AutoScalingとは
オートでスケーリングしてくれるすごいヤツ。
### 主要な対象サービス
EC2
Aurora
DynamoDB
ECS
ElastiCache
EMR
SageMaker
他https://docs.aws.amazon.com/ja_jp/autoscaling/application/userguide/integrated-services-list.html
## スケーリングの種類
* 動的なスケーリング
* 簡易スケーリング(非推奨)
* CPU使用率が〇〇%を超えたら…とかそういう単純なやつ
* ステップスケーリング
* CPU使用率が50%を超えたら〇〇する、60%を超えたら△△する、みたいに多段階に設定できる。一個だけでもいいので簡易スケーリングの完全上位互換。
* ターゲット追跡スケーリング **(推奨)**
* CPU使用率がxx%になるようにしてね、と指定するといい感じに自動でスケールイン、アウトしてくれる。
※上ではCPU使用率を例にしたが、
AWS cloud9 connectingのまま
備忘
## 1.目的
・CI/CDアクセス用にCloud9を構築する。
## 2.構築
インスタンスタイプ以外はデフォルトで構築。
![WS20230205_000.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/a2acbee2-3546-7f04-c048-fc17032c4cc1.jpeg)
![WS20230205_002.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/74ca1118-d18b-ca62-6785-51375f9392f4.jpeg)
![WS20230205_001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2640045/fbd08125-88a9-744c-86ad-562faa233603.jpeg)
## 3.事象
connectingのまま 画面遷移せず。
![W
CloudWatchログアラームの作成が面倒なので、Excelから設定値を読み込んで作成できるようにしてみた。
# はじめに
こんにちは、山田です。
今回は、CloudWatchログアラームをExcelから作成する方法について記載していきます。
よろしくお願いします。
# 概要図
概要図は以下の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1096361/54c80c37-30f4-620f-a821-a86a723978cb.png)
①:Lambdaを用いて、Excelファイルを作成してS3にアップロードします。
②:作成されたExcelファイルをダウンロードします。
③:ダウンロード後、Excelファイルを記入してアップロードします。
④:Lambdaを用いて、Excelファイルを読み込みCloudWatchアラームを作成します。
# エクセルファイル作成用Lmabdaのフローチャート・コード
エクセルファイル作成用Lmabdaのフローチャート・コードはそれぞれ以下になります。
## フローチャート
フローチャートは以下の通りです。
![フローチャート (1).png](http
【AWS】EC2+dockerで外部からアクセスできるWebサイトを構築する手順
# 概要
* ローカル環境から踏み台サーバー→EC2インスタンス「sample」へSSHトンネル接続し、git cloneやdocker composeインストール後に外部からアクセスできるWebサイトを公開しました。その際のAWSリソースの設定を記します。## 環境
* Mac
* 機種ID:MacBookPro18,3
* macOS:Monterey
* チップ:Apple M1 Pro
* メモリ:16GB## 作成したAWSシステム構成図
![Sample_システム構成図_20230204.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2710373/bd444c5a-a135-fd5d-2904-12451729f138.png)
* AWSのネットワーク環境の構築手順をバラバラ書くより、上記のように視覚的に図で示した方がわかりやすいと自分の場合は感じましたので、今回は上記のようにまとめました。自身の理解や整理のためにも非常に良いと
【AWS】Glue ConnectionでAurora PostgreSQL 14に接続しようとすると失敗する
# はじめに
AWS Glueのjobは、JDBC接続をサポートしているデータベースに接続することが可能です。
通常、RDSやRedshift等のインスタンスはVPC内で稼働しPublic IPを付与しないで運用していることが多いと思いますが、そのような構成でも、Glue Connectionを利用することでAWS Glueから利用できるようになっています。Glue Connectionにはその接続性をテストする機能がありますが、ネットワーク構成・設定は問題ないにもかかわらず、Aurora PostgreSQL 14インスタンスに接続しようとすると失敗します。
本稿はその事象について記録を残すものとなります。
※これは2023/2/4時点の状況となります。後々、改善される可能性があります。# 概要
Aurora PostgreSQL 14のCluster/Instance、およびAWS Glue connectionを、同一VPC内で稼働させる構成において、ネットワーク構成・設定は問題ないにもかかわらず、Aurora PostgreSQL 14インスタンスにテスト接続しようと
Amazon SQSの標準キューの順序を検証
# はじめに
Amazon SQSの標準キューの順序について、公式の説明では以下のように記載されています。
https://docs.aws.amazon.com/ja_jp/AWSSimpleQueueService/latest/SQSDeveloperGuide/standard-queues.html#standard-queues-message-order
> スタンダードキューでは、できる限りメッセージの順序を保持しますが、複数のメッセージのコピーが順不同で配信される場合があります。
この”できる限り”が気になってみたので動きを見てみました。
# 得られた知見
– 最初は、順序の初めのほうがとられやすい傾向がある
– 何度も(今回は3度)取得されると、しばらく取得されなくなり、別のメッセージが取得されるようになる
– しばらくたつと、また取得されるようになる# やったこと
## 検証設定と予想
– 設定
– 標準キュー
– 可視性タイムアウトは3秒
– 1秒ずつ、1つのメッセージを取得
– 予想
– 標準
AWSクラウドプラクティショナー受験記録 ~AWS歴2年半でも油断できなかった~
# 概要
業務でAWSを2年半ほど扱っています。(開発業務でEC2やLambdaなど日常的に触るレベル)
AWSの認定試験は今まで受けたことなかったのですが
先日AWSのクラウドプラクティショナーを受験し、無事合格することができました。
ただ、AWSはそこそこやってきているから余裕だろうと思って臨んだところ、試験当日意外とつまづく部分があったため
勉強の仕方や試験の感想、反省点等をまとめます。# 前提
AWSクラウドプラクティショナー(AWS Certified Cloud Practitioner)とは
https://aws.amazon.com/jp/certification/certified-cloud-practitioner/
AWSの認定試験の中で一番基礎レベルとなる試験です。# 勉強内容
勉強期間は約1か月です。
最近勉強するのが苦手なのでそれを克服するという意味もあり、時間よりは頻度を意識して1日20~30分くらい勉強しました。
勉強できない日もあり、結果的に勉強時間は合計10時間程度でした。(大学受験の時はこれくらい1日で余裕でやってたのが考えられない
スポットインスタンスでゲーム用サーバの構築
統合版マイクラのサーバをスポットインスタンスを使って建てたときのメモです。
「マイクラ スポットインスタンス」で検索すると、色んなサイトに記載はあるのですが、一元的に書いているのがなかったので、記事にまとめました。
AWSを利用する前提です。# 仕様検討
スポットインスタンスを利用する上で一番大事なのは、インスタンスがterminateされた際に、データをどこに退避しておくかです。軽くググったところ、以下の3案がありそうです。1. EBSをアタッチする
– 懸念点:複数AZにまたいだ使用ができない
1. EFSを利用する
– 懸念点:EBSより速度が遅い(特に使用容量少ない場合)、料金がお高め
1. EBSのデータをS3にバックアップし、EC2起動時にS3から復元
– 懸念点:バックアップが間に合わない可能性今回は、速度面を妥協し、EFSを利用する方針としました。
# 実施作業
– UbuntuサーバをEC2で起動
– SSH用のポートと、19132/udpを開放
– EFSをマウント“`
sudo apt-get update
sudo a
【直前の速習におすすめ】AWS DevOpsProfessional勉強メモ【随時更新】
# はじめに
この記事は [TechStock](https://techstock.jp/)のDOP分野(全448問)から、
・間違えやすかい
・知らなかった
・実務に向けて覚えておきたい
と思った知識についてまとめたメモになります。
(予定です。。。2023/2月中に随時更新します。)直前での復習・最後のあがき等にご活用ください!
:::note info
もし少しでも役に立ったら、いいねをポチッと押してもらえると喜びます。
::::::note warn
あくまでも上記観点をもとにした主観的メモなので、網羅性は保証しません。
:::# 本編
## Tips
### AWSとオンプレミスの集中監視
Cloud Watchエージェントはオンプレミスにもインストールできる。
AWS、オンプレのCloudWatch Logsを中央のS3アカウントに集約する。
S3トリガーとLambdaで異常検知、Athenaでログ分析### Elastic BeanstalkのBlue/Green Deploy
Elastic Beanstalkを普通に更新すると、インプレース更新を