- 1. (AWS) NAT Gatewayの監視方法について
- 2. RDS のバックアップはリージョンを超える
- 3. AWS Athena 公式ページ
- 4. 【AWS】RDS作成後、Webサーバーから接続(初心者用:Part1)
- 5. AWS RDS オプショングループが削除できない
- 6. AWS EC2 既に起動しているルートデバイスタイプがEBSのインスタンスのタイプを変更する方法
- 7. AWS EC2 起動中インスタンスのルートボリュームデバイスタイプを確認する方法
- 8. 【インフラ初心者向け】アクセスキーを使わずにGitHub ActionsでEC2に自動デプロイをしよう
- 9. プロキシ環境下でAWS SDK for PHPを利用してファイルのアップロード・ダウンロードを行いたい
- 10. AWS SDK for PHPでS3からgzipファイルをそのまま(展開されることなく)取得したい
- 11. ElasticBeanstalkのUnknown or duplicate parameter: NodeCommandの対処法
- 12. AWS Builders Online Seriesで学んだこと
- 13. Amazon Connect にて録音した音声に別録音の音声が入る
- 14. [AWS学習]VPC(ネットワーク)
- 15. 【備忘録】AWS 予算の設定やってみた
- 16. はじめに
- 17. 通知用SNSの作成
- 18. AWS Lambdaを使って特定ログを通知する
- 19. Kubernetes/EKSに入門してみる
- 20. AWSのS3にSDKなしで認証リクエストを作りたかった話
- 21. socket.ioを利用したアプリのデプロイをしたい(攻略編)
- 22. AWSで実現した不動産新着物件情報のサーバレス巡回通知システム
(AWS) NAT Gatewayの監視方法について
NATGWの監視方法について
* NATGWのモニタリング項目
* https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-nat-gateway-cloudwatch.html
* **BytesOutToSource** の値(単位: Byte)が **BytesInFromDestination** の値より少ない場合、NAT ゲートウェイの処理中、またはトラフィックが NAT ゲートウェイによりアクティブにブロックされている間に、データ損失が発生する可能性があり
* [Metric Math を使用する](https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/using-metric-math.html)
* [メトリクスの数式に基づく CloudWatch アラームの作成 ](https://docs.aws.amazon.com/ja_jp/AmazonCl
RDS のバックアップはリージョンを超える
Amazon RDS のクロスリージョンバックアップを試していきたいと思います。
なので、ゴールとしては、バックアップが別のリージョンに作成されることとします。具体的には、東京リージョンにある Amazon RDSのスナップショットが、大阪のリージョンに作成されたら、今回は検証が成功したということにします。
▼ ブログ記事の詳細は コチラ から ▼
https://beyondjapan.com/blog/2023/01/rds_cross_region_replication
***
■ 株式会社ビヨンド
・コーポレートサイト:https://beyondjapan.com
・採用サイト:https://recruit.beyondjapan.com
・Youtube(びよまるチャンネル):https://www.youtube.com/@beyomaruch
・Twitter:https://twitter.com/beyondjapaninfo
・Instagram:https://www.instagram.com/beyond
AWS Athena 公式ページ
AWS Athena 公式ページを備忘メモ。
https://aws.amazon.com/jp/athena/ユーザーズガイド
https://docs.aws.amazon.com/athena/latest/ug/what-is.html
【AWS】RDS作成後、Webサーバーから接続(初心者用:Part1)
# ~ はじめに ~
作成した[Webサーバー](https://qiita.com/ponponpoko/items/e5553ef3ace2e4cb5633)のデータをDBで管理するためRDSを作成し、Webサーバーからアクセスできるようにする。今回の記事は、長くなりそうなため3パートに分けて書く。
– [**Part1:RDS作成前の事前準備**]()
– [**Part2:RDSの作成**]()
– [**Part3:WebサーバーからRDSに接続**]()※ RDSで使用するDBエンジンは、[Amazon RDS for MySQL](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_MySQL.html)を使用する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727351/38482859-cb6b-8bc4-c3e5-6c8f40
AWS RDS オプショングループが削除できない
# 概要
– AWSのRDSのオプショングループが削除できない場合の確認内容を簡単にまとめてみる。
# 内容
## オプショングループに紐づくDBインスタンスが無いか確認
– オプショングループは関連づけられたDBインスタンスが存在していると削除できない。
– 関連するDBインスタンスが無いか確認する。## オプショングループに紐づく手動スナップショットが無いか確認
– オプショングループは関連づけられたスナップショットが存在しているとこれまた削除する事ができない。
– 関連するスナップショットが存在しないことを確認する。## オプショングループに紐づく自動スナップショットが無いか確認
– 筆者の場合の原因はこれだった。
– RDSは設定によって自動でスナップショットを取得している。自動で取得されているスナップショットがオプショングループと紐付いている可能性がある。# オプショングループと関連付けられたDBインスタンス・スナップショットがあるか確認する方法
1. RDSのページに遷移
1. 左サイドバーで「オプショングループ」をクリック
1. 削除予定のオプシ
AWS EC2 既に起動しているルートデバイスタイプがEBSのインスタンスのタイプを変更する方法
# 概要
– EBSボリュームを使っているEC2インスタンスのインスタンスタイプを変更する方法をまとめる。
# 情報
– 筆者のEC2のルートデバイスタイプがEBSかどうかの確認は下記の方法で行った。
https://qiita.com/miriwo/items/d6b98fb6416e61ea6d0e
# 方法
1. AWSにログイン
1. EC2のトップに移動
1. 左サイドバーの「インスタンス」をクリック
1. インスタンス一覧の中のタイプを変更したいインスタンスを選択
1. 「インスタンスの状態」をクリックし「インスタンスを停止」をクリック
1. インスタンス一覧の当該インスタンスのインスタンスの状態が「停止済み」になったことを確認
1. インスタンス一覧の当該インスタンスを選択し「アクション」の「インスタンスの設定」の「インスタンスタイプを変更」をクリック
1. 遷移先ページで変更したいインスタンスタイプを選んで「適用」をクリック(大きいインスタンスに誤って変更しないように注意する)
1. インスタンスタイプが変更される
1. 後はインスタンスを復活させれば完了
AWS EC2 起動中インスタンスのルートボリュームデバイスタイプを確認する方法
# 概要
– 既に起動しているEC2インスタンスのルートボリュームデバイスタイプを確認する方法を簡単にまとめる。
# 方法
1. AWSにログイン
1. EC2のトップに移動
1. 左サイドバーの「インスタンス」をクリック
1. インスタンス一覧の中の確認したいインスタンスの「インスタンスID」をクリック
1. 「ストレージ」のタブを開き「ルートデバイスタイプ」を確認![インスタンス___EC2_Management_Console_?.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/306417/e4348c30-e68b-60d0-a6bf-f7cd8fd7a919.png)
【インフラ初心者向け】アクセスキーを使わずにGitHub ActionsでEC2に自動デプロイをしよう
AWSのEC2を使った運用を行うにあたり、ソースコードが変わるたびにGitHubからpullするのは手間がかかるので、GitHub Actionsを使った自動デプロイに挑戦しました!
それもどうせやるならアクセスキーを使わない、セキュアな方法でと意気揚々と!!
・・・が、自分でやってみて想像よりはるかに(大袈裟)つまづきポイントが多かったので、整理も兼ねて記事にしました。## 対象
– インフラに詳しくないが、少しでも自動化できるところは実現したい
– できる限りAWSのアクセスキーは使わず、セキュリティ性を高めたい## 前提
本記事はEC2で一旦環境構築を終えていることが前提なので、ここまでの事前準備はお願いします。
– EC2とSSH接続ができる。
– EC2上でSSH接続用のキーペアを作成してある。
– EC2に既にソースコードが配置してある。## 大きなタスク
大きく3つのタスクがありました。
私個人はどれも全く馴染みがなかったので、とても苦労しました。
– アクセスキーを使わないためのOIDC設定
– GitHub Actionsのワークフロー作成
– ワークフロ
プロキシ環境下でAWS SDK for PHPを利用してファイルのアップロード・ダウンロードを行いたい
クライアント作成時に `’http’ => [‘proxy’ => ‘http://192.168.16.1:10’]` を追加することで、プロキシ環境下でAWS SDK for PHPを利用したS3へのアクセスが可能となります。
“`php
require ‘vendor/autoload.php’;use Aws\S3\S3Client;
use Aws\Exception\AwsException;$s3 = new \Aws\S3\S3Client([
‘resion’ => ‘ap-northeast-1’,
‘version’ => ‘latest’,
‘profile’ => ‘default’,
‘http’ => [‘proxy’ => ‘http://192.168.16.1:10’]
]);“`
# 参考
↓の `proxy` を参照
https://docs.aws.amazon.com/ja_jp/sdk-for-php/v3/developer-guide/getting-started_basic-
AWS SDK for PHPでS3からgzipファイルをそのまま(展開されることなく)取得したい
# はじめに
PHPでaws-sdkを使用してS3からファイルをダウンロードする際に、gzipファイルが展開された状態で出力される場合があります。
特に、gzipのままファイルが欲しい場合に困ってしまいます。# 対応
クライアント作成時に `’http’ => [‘decode_content’ => false]` を追加することで、gzipファイルが展開されずに(gzipファイルのまま)取得することができます。“`php
require ‘vendor/autoload.php’;use Aws\S3\S3Client;
use Aws\Exception\AwsException;$s3 = new \Aws\S3\S3Client([
‘resion’ => ‘ap-northeast-1’,
‘version’ => ‘latest’,
‘profile’ => ‘default’,
‘http’ => [‘decode_content’ => false]
]);“`
# 参考
↓の `decode_conte
ElasticBeanstalkのUnknown or duplicate parameter: NodeCommandの対処法
昨日、下に貼ったこちらの動画と公式のドキュメントを基にnode.jsのアプリケーションをAWS Beanstalkでデプロイすることを試みた。
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html
ということで上の資料ではエラーが起きてしまうところの対処法を先に記述する。
その後、全体の流れを記述する。“`
C:\Users\yusuk\nodejs-project>eb deploy
Creating application version archive “app-c698-230118_133959827133”.
Uploading nodejs-project/app-c698-230118_133959827133.zip to S3. This may take a while.
Upload Complete.
2023-01-18 04
AWS Builders Online Seriesで学んだこと
# “AWS Builders Online Series”とは?
* AWS Builders Online Seriesは、AWSにおける様々な技術についてのオンラインセミナーシリーズです。
* AWSのエキスパートによる最新の技術やベストプラクティスについての詳細な説明や、ハンズオンのセッションが開催されます。
* これにより、AWSを使ったアプリケーション開発や運用において最適な方法を学ぶことができます。
* 私はAWSに登録したてだったので、初心者向けのセッションを受講しました。
* その中でもT2というデータ分析に興味がある人向けのセッションを受講しました# AWS Key Messageと主要アップデート
AWS re:Invent 2022という世界的に開かれたカンファレンスでの発表のまとめです。## “差別化に繋がらない重労働を取り除く”
* 差別化に繋がらない重労働=インフラ周りの、競争力に繋がらないが必要不可欠な労働のこと
* これを無くすのがAWSのミッション## 基盤技術
* High PerformanceとLow CostとSecurityは相
Amazon Connect にて録音した音声に別録音の音声が入る
## 起きたこと
先日 Amazon Connect を駆使して構築したIVRシステムに、
以下の記事を参考にして留守録機能を搭載しました。
https://dev.classmethod.jp/articles/amazon-connect-voice-mail-from-kinesis-video-stream/しかし、どうやら録音した音声に別の通話の音声が混ざるケースがあるようなので調査しました。
## 原因
StreamARNが重複することがあり、そのStreamARNに`GetMedia`で開始契機だけを指定することで発生していました。
(StreamARNは1通話ごとに1つ作成されると思っていましたが、AWSへ問い合わせてみると再利用されることがあるようです。)`GetMedia`は`StartSelector`(開始契機)しか指定できない。
GetMedia – Amazon Kinesis Video Streams
https://docs.aws.amazon.com/ja_jp/kinesisvideostreams/latest/dg/API_data
[AWS学習]VPC(ネットワーク)
## VPC(Virtual Private Cloud)
ネットワーク環境を提供しているサービス・AWS上に、利用者ごとのプライベートなネットワーク空間を提供
・外部ネットワークと接続も可能## VPCを構築するステップ
### 1.VPCの作成
・リージョンを選択
・ネットワーク空間の範囲(CIDRブロック範囲)を指定する例) 10.0.0.0/16
### 2.サブネットの作成
・サブネット = VPCを分割したモノ
・サブネットごとにサーバーの役割/機能に応じて作ることが望ましい
・1つのAZを指定する(複数のAZにまたがって作成できないため)
・「故障に備えた設計で障害を回避」を実現するため、サーバーを各AZに冗長的に配置するのが一般的### 3.ゲートウェイの作成
ネットワーク間の通信を中継する仕組みの総称#### IGW(インターネットゲートウェイ)
インターネットとの出入り口になるゲートウェイ#### VGW(バーチャルプライベートゲートウェイ)
オンプレミスとVPNや専用線で通信するためのゲートウェイ### 4. ルートテーブルの設定
ル
【備忘録】AWS 予算の設定やってみた
はじめに
業務でAWSアカウントの初期セットアップをすることがあったので、設定の1つとしてCostExplorerを使ったAWSの利用料のアラームを設定した備忘録です。
通知用SNSの作成
まずはAWSコンソールにログインし、検索バーに”sns”と入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/36996e13-d5cf-8141-ed9f-98aac8166872.png)
左メニューのトピックからトピック一覧を表示し「トピックの作成」から作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1185845/78b42618-2829-c5ad-69d2-19bf87e4e46f.png)タイプはスタンダードを選択し、名前と表示名にコストを通知してくれそうな名前を入力、アクセスポリシーはアドバンストにし、次のポリシーに置き換
AWS Lambdaを使って特定ログを通知する
# Index
1. [挨拶&背景の話](#1-挨拶–背景の話)
1. [構成](#2-構成)
1. [実装](#3-実装)
1. [感想](#4-感想)# 1. 挨拶 & 背景の話
こんちには、アプリケーションエンジニアで働いてます。キムでございます。
この前、運用してるアプリケーション内で発生するとあるエラーを検知する処理を入れたことがあります。
そこまで素晴らしい構成ではないが、この構成を作るときに、なかなか私と似てる状況の例文がなくてここに少しでも似てる悩みがある方に役に立てれば…と思って記録して残します。# 2. 構成
#### 前提条件
– Cloudwatch Logsを使う
– FILTER機能はすでに別処理で動いてる
– 必ずリアルタイムでキャッチアップする必要はない
– 1日1回のアラームぐらいでも構わない要するに、Filterがすでに他のもので機能してるので、追加でなにかしたくて今回の構成を作りました。
正直Filterをもう少し汎用的に改善して運用することもいい案になったかもしれませんが、このような使い買ってもどうかなと思います。![i
Kubernetes/EKSに入門してみる
# EKSの簡単な試し方
## 1.Cloud9の準備### Cloud9環境の作成
“`Name“`のみ入力してあとはデフォルトのまま作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/d3652b47-5244-e412-60be-cc9a1debf4b3.png)### AMTC無効化
環境作成が完了し、Cloud9のコンソール画面に接続後、“`歯車のアイコン“`→“`AWS Settings“`の順に選択し“`AWS managed temporary credentials“`を無効にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/d13792e8-dfa5-cc64-efb1-f996281ad312.png)### kubectlのインストール
Cloud9のコンソールで下記コマンドを入力します
AWSのS3にSDKなしで認証リクエストを作りたかった話
お仕事でSDK使えないよぉ…。
だけど、頑張ってS3から画像は取得しないと…。
## 前提
外部の別プロジェクトでAWS S3にアップロードされた画像を、どうにかして取得する。
* Ruby on Rails(いにしえのバージョン)
* アクセスキーIDとシークレットキーはもらえている
* AWS SDKは使えない(重要)
* いにしえのバージョンでも使えるのか?
* AWS CLIは使えるけど、今回は対象外
* AWS STSは使っていない大分縛りがキツいけど、がんばるぞい。
## 調査からリクエストしてみるまで
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/RESTAuthentication.html
まずは、この方法で取得できる参考資料として、上記のリンクが共有される。
調査してみて、STS使えれば認証情報がもらえるし、たたければ楽できそう?
と思ったが、別プロジェクトではSTSは使っておらず、認証ヘッダを使用していると聞く。チームメンバーと相談して、結果的に認証ヘッダを使
socket.ioを利用したアプリのデプロイをしたい(攻略編)
昨日、サーバーサイドがあるウェブのデプロイに苦戦したが振り返ると検索の仕方が悪かった。
サーバーサイドがあるウェブサイトの公開という部分がメインでsoket.ioを利用しているという点はメインではない。
ということで、Node.jsを含めての検索に変えてやり方を模索した。
https://yu-teck.com/programming/node-js/node-chat-app/
https://noauto-nolife.com/post/heroku-counter-plan/
上の2つの記事を読んでわかった重要な点が2つある。
・Netlifyはあくまでフロントサイドだけホスティングするサービスであり、サーバーサイドがあるウェブには向かないという点。
・Herokuの無料プランはなくなっており、Herokuでデプロイするにはお金がかかる点。Herokuでデプロイするのが一番簡単そうだが、勉強のためにもAWSで公開したいなと思っている。
ブログの後半にはまた違うことを言っているかもしれない。https://www.youtube.com/watch?v=0oIc
AWSで実現した不動産新着物件情報のサーバレス巡回通知システム
# 不動産新着物件情報のサーバレス巡回通知システム
![名称未設定.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1042708/f4a4dd67-98fd-fc6e-c3f6-c6d70830bee3.png)
[掲載元](https://github.com/PGtanuki/reproject)
AWS各サービスを連携させ、SUUMOの検索結果を巡回して新着物件情報を通知します。
https://suumo.jp/
※requestsを用いたクローリングは直接的に利用規約違反にはなりませんが、負荷をかけることは禁止されています。新着物件情報は頻繁には更新されないので、1時間に1回以上か、朝昼晩くらいの感じにしましょう。AWS無料枠の範囲に抑える観点からもそのほうが適しています。## 使ったAWSサービス
+ EventBridge Scheduler
+ Lambda
+ SNS
+ DynamoDB(SUUMOのみならRDSでOK)## EventBridge