- 1. 【AWS】【VScode】リモートSSHの接続が不安定の原因
- 2. 【AWS EC2】SessionManagerで接続できなくなったときのメモ
- 3. NestJSによるLambdaとRDS Proxyのピン留め回避とプロキシ分割
- 4. メインフレームを主領域とする組織でクラウド人材を育成するためのステップと秘訣
- 5. Terraform勉強-第23回:CloudWatchエージェント, SSMパラメータストアでログを CloudWatch Logs に送信する
- 6. Amazon QにIAMユーザー作成のCFNテンプレート書かせてみた
- 7. AWS CDK CloudFormationExecutionRole
- 8. Terraform勉強-第22回:VPC, SecurityGroup, EC2, RDSの作成とWordPressセットアップ
- 9. S3のライフサイクルルールの設定
- 10. [AmazonQ Developer]Amazon Q for command lineも体験してみた。
- 11. WindowsAMIのEC2インスタンスにRDP接続する
- 12. Terraformで構築したSSM(パラメータストアー)をTerraformで管理している他のリソース(RDS、ECS等の)に適用する方法
- 13. ロードバランサー基礎の基礎[概要 + AWS]
- 14. AWS CLI 初心者向け コマンド一覧
- 15. 初めてのAppSync #AWS
- 16. 使ってなかったAWSが無料枠超過アラートを出して焦った話
- 17. [AWSコスト最適化] AWSリソースの夜間停止とその運用課題について
- 18. Terraform勉強-第21回:VPC, SecurityGroup, EC2, RDSの作成とWordPressセットアップ
- 19. AWS IAMアカウントを、ステージングと本番とで分けて、リージョンごとにリソースを作成・閲覧できるようにしたときのメモ
- 20. 【画面共有】Amazon Connectで画面共有機能を使ってみた
【AWS】【VScode】リモートSSHの接続が不安定の原因
# 【AWS】【VSCode】リモートSSHでの接続が不安定になる原因と対処法
VSCodeのリモートSSHを使って、AWS EC2インスタンスに接続する際に発生した接続の不安定さと、その原因について備忘録としてまとめます。リモート環境への接続が安定しない場合に参考にしていただければと思います。
#### 現象
初回の接続は問題なく行われるものの、接続後5分ほど経過すると「リモートSSHの接続が確立できませんでした」というエラーメッセージが表示され、以降再接続を試みても同じエラーが繰り返される状況が続きました。
調査のためにChatGPTやGoogleで関連情報を探し、さまざまな確認や試行を行ったものの、原因は特定できず解決には至りませんでした。
そこで、通っているプログラミングスクールのメンターさんに相談したところ、原因がすぐに判明しました。
#### 原因と解決策
EC2インスタンス作成時に選択した**AMI(Amazon Linux 2023 AMI)**が原因でした。
![スクリーンショット 2024-11-02 16.18.32.png](https://qii
【AWS EC2】SessionManagerで接続できなくなったときのメモ
# はじめに
いつも、EC2インスタンスに対してSessionManagerで接続してアレコレやっています。
この前「とある**EC2インスタンスで動かしているwebアプリの挙動がおかしい**(ログイン画面にアクセスしても500エラーが表示された)」上に、「**SessionManagerを用いて対象EC2への接続を試みたものの、**
“`
セッションが次の理由で終了されました。 Plugin with name Standard_Stream not found. Step name: Standard_Stream
“`
という**エラーが出て接続ができない**」ということがあったので、そのときの対応内容に関してざっくりとメモを残します:ram::warning: システムによって必要な情報が異なる箇所もあるので、以下はざっくりと書いています。
:warning: ググって見つかる方法より少しだけ丁寧めに書けているかな~とは思います。
:warning: **こちらは社内に2023年4月頃に公開したメモを少しだけ整えたものです。**## そもそも…なんでSessi
NestJSによるLambdaとRDS Proxyのピン留め回避とプロキシ分割
## 問題
Lambda + RDS Proxy + Aurora構成のアプリケーションで、Lambdaの同時接続数がたびたび上限(1000)を突破することがありました。サービスクォータで同時接続数の上限を引き上げてみたものの、Auroraの接続上限(`db.r6g.xlarge`で2000)を超える設定をしても意味がないので、根本的な解決にはなりませんでした。https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Performance.html
RDS Proxyのメトリクスをみたところ、DB接続上限の80 %(= 1600)に設定しているはずなのに4000を超えるほどの`DatabaseConnections`がありました。あきらかにおかしい挙動だったので、ピン留めを疑いました。
### ピン留めによる接続数増加の原因
RDS Proxyのドキュメントをみたら以下の記載がありました。
> ステートメントのテキストサイズが 16 KB を超える場合、プロキ
メインフレームを主領域とする組織でクラウド人材を育成するためのステップと秘訣
# はじめに
お疲れ様です。矢儀 @yuki_ink です。**クラウド人材の育成、してますか??**
この記事は
“`
(上司)
今までメインフレームを軸に商売してきたけど、これからクラウド関連の提案もしていかないといけないし
そろそろ本格的にクラウド人材を増やしていかないといけないと思ってるんだよね。
君、AWSとかちょっと詳しいらしいね。
育成施策やってよ。(あなた)
え~~
“`
となっている方のための記事です。2020年4月、私が新卒で配属された組織は、大手クレジットカード会社のインフラを専門とする部署でした。
もともと基幹系システムの保守・開発を主領域とする部署で、メインフレームに強く、「クラウドの本格活用はまだまだこれから」というタイミングでの配属でした。それから4年が過ぎ、業務系システムのクラウドリフトは一巡。
マネージドサービスを積極的に活用したシステム最適化や、基幹系システムのクラウド移行についても、積極的に検討しなければならない時期に差し掛かってしまいました。
ということで、**今までメインフレームしか触ってこなかった方にも、クラウドの
Terraform勉強-第23回:CloudWatchエージェント, SSMパラメータストアでログを CloudWatch Logs に送信する
### 作成した全てのコード
githubリポジトリ:”https://github.com/shu130/terraform-study23″## テーマ:
– EC2 オートスケーリンググループでApacheを導入し、**CloudWatchエージェントを利用してアクセスログとエラーログを CloudWatch Logs に送信する**環境を構築
– **ASG (Auto Scaling Group)** を使用して EC2 インスタンスをスケーリングし、Web サーバの冗長性を確保
– **SSMパラメータストア** を活用してCloudWatch エージェントの設定を共有、複数インスタンスへの一貫した設定配布## ディレクトリ
“`text
.
├── provider.tf
├── vpc.tf
├── iam.tf
├── autoscaling.tf
├── cloudwatch.tf
├── ssm.tf
├── scripts
│ └── fetch_cloudwatch_config.sh
├── variables.tf
├──
Amazon QにIAMユーザー作成のCFNテンプレート書かせてみた
## はじめに
今回はテスト用にAdmin権限を持ったIAMグループとIAMユーザーのCFNテンプレートを、動作検証がてらAmazonQに書かせてみました。
AmazonQで書かせたものをAWS公式の構文とVScode拡張機能のcfn-lintで訂正しながらやりました。## AmazonQについて
– AWS版のChatGPTみたいなもの
– VScodeの拡張機能でAmazonQが利用可能## 作成したいリソース
– IAMグループ
– Admin権限を持ったIAMユーザー
→IAMグループにAdmin権限を付与## 使い方
– エディタで作成したいリソース(IAM user)を指定すると予測が出てくるのでtabキーで確定させる
– alt + cで再予測させる
![スクリーンショット 2024-11-01 102718.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3812406/1bd74497-33e2-55f8-af78-ead0b18b3f39.png)
![スクリーンショッ
AWS CDK CloudFormationExecutionRole
AWS CDKのworkshopで提供された一般権限ユーザを用いて管理者権限を持つユーザを作成できたため、その原因について調査を行いました。
## 事象
– cdk –version
2.165.0 (build 00f70f1)### 使用する一般ユーザの権限
– cdk bootstrapに必要な権限のみ
“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“cloudformation:*”,
“ecr:*”,
“ssm:*”,
“s3:*”,
“iam:*”
],
“Resource”: “*”
}
]
}
“`### Stack(python)
– ユー
Terraform勉強-第22回:VPC, SecurityGroup, EC2, RDSの作成とWordPressセットアップ
### 作成した全てのコード
githubリポジトリ:”https://github.com/shu130/terraform-study22″## テーマ:前回(第21回)の構成を変更
– EC2インスタンスをAuto Scalingグループに変更
– CPU使用率をトリガーにしてScalingグループのインスタンス数の増減を自動的に行う
– CloudWatchアラームを追加し、指定した条件でインスタンスをスケールイン・スケールアウトさせる
– `ec2.tf`は削除し、`autoscaling.tf`、`clouodwatch.tf`を作成## 構成図作成
![diagram03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146025/a53613e1-240b-e887-fbd1-af5c1d1447e4.png)
## ディレクトリ
“`text
.
├── provider.tf
├── vpc.tf
├── autoscaling.tf
├── cloudwat
S3のライフサイクルルールの設定
今回はS3に設定したCloudTrailのログが溜まり続けてしまうのでライフサイクルルールを設定して、期限の切れたログを自動で削除していきたいと思います。
ほぼ自分のための備忘録用です。## 設定したいS3バケットで設定
・管理タブからライフサイクルルールを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3902743/59065b0d-03fb-b12e-940a-3587f48ff22a.png)
・任意のルール名を設定。今回はバケット内のオブジェクト全てに適用します。
![ライフサイクルルールの設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3902743/10f10fc9-8e43-b26a-cdc4-8a9ab057b9ce.png)
・今回は溜まり続けるログを一定期間で削除するようにしたいので下記3つをチェックする
![ライフサイクルルールのアクション.png](ht
[AmazonQ Developer]Amazon Q for command lineも体験してみた。
## はじめに
学んだことはアプトプット!
JAWS-UG札幌にて、Amazon Q Developerのワークショップを開催して頂いたので、早速いくつか試してみます!…の2本目の記事です!
今回はAmazon Q for command lineについて記事にしてみます。
https://jawsug-sapporo.connpass.com/event/330317/
1本目の記事はこちら。
https://qiita.com/s_moriyama/items/e50d8211ca6b010d00fd
## Amazon Q for command lineとは?
AWSの公式ドキュメントの日本語翻訳精度低いなぁと思うので、今回は英語版を引用。
>This chapter explains how you can use Amazon Q Developer to enable IDE-style completions for hundreds of popular CLIs like git, npm, docker, and aws. Start typ
WindowsAMIのEC2インスタンスにRDP接続する
業務の都合で、MacPCからWindowsAMIで立ち上げたEC2インスタンスにRDP接続したかったので、CDKでサクッと作ってみる。
## 必要なもの
– AWS CDK
– AWS CLI
– Windows Remote Desktop## 手順
### 1.あらかじめEC2に使用するキーペアを作っておく
“`sh
# キーペアを作成する
% aws ec2 create-key-pair
–key-name sandbox-key \
–query ‘KeyMaterial’ \
–output text > sandbox-key.pem# ファイルがDLされたことを確認
% ls -l | grep sandbox-key.pem
-rw-r–r–@ 1 hogehoge staff 1679 11 2 02:40 sandbox-key.pem
“`作成したキーペアは通常、`chmod 400`によって所有者のみの読み取り専用にするが、今回はRPD接続用のパスワードを入手するためにEC2コンソールにアップロード
Terraformで構築したSSM(パラメータストアー)をTerraformで管理している他のリソース(RDS、ECS等の)に適用する方法
# 前書き
機密情報を`AWS Systems Manager Parameter Store`に格納している為、その値をRDSやECS等のサービスに設定として反映させる必要があります。今回は、`Terraform`で管理しているリソースに対し、`Parameter Store`に保存された値を読み込み、反映する手順を記載します。# AWS Systems Manager(パラメータストア)の概要
アプリケーションの設定データや機密情報(例:パスワード、データベース接続情報、APIキー等)を安全に保存・管理する為のサービス。設定情報をアプリケーション本体とは別で管理する事で、セキュリティを強化し、運用の効率化が図れる## 主な機能
– 機密情報を安全に管理:パスワードやAPIキー等の重要な情報を暗号化して保存し、不正アクセスを防ぐ
– 設定データをアプリケーションと分離:アプリケーション本体から設定データを切り離し、必要な情報を安全な場所に一元管理する
– 階層構造とバージョンで管理:設定データを階層毎に整理し、バージョン履歴を追跡して過去の変更内容も確認出来る
– アクセス
ロードバランサー基礎の基礎[概要 + AWS]
最近、AWSを使ったインフラタスクを簡単なものから対応することが増えてきており、
その中で調べた内容などをまとめていこうと思います。
今回はロードバランサーについての基本概要についてまとめました。# ⭐️ロードバランサーの一般的な概念
### 前提
複数のアプリケーションサーバーがあること。
(ロードバランサーから振り分けるので。)### ロードバランサーは何をするの?
アクセスに対して、前提に書いた複数のアプリケーションサーバーへの振り分けを行います。
それによりサーバーの負荷を分散させ、負荷分散や高可用性を提供します。
ロードバランサーには仮想IPアドレスが割り当てられており、そこから各アプリケーションサーバの状態を考慮して、それぞれのサーバーに振り分けます。### ロードバランサーがもつ機能
* ロードバランサー自体を冗長化する
* パーシステンス(persistence)
* 持続性。IPやクッキーで判定し、同じユーザーからのアクセスは同じサーバに振り分ける。
* ユーザー側からすると、きちんとログイン情報などを維持することができる。
* ヘ
AWS CLI 初心者向け コマンド一覧
# すべての登録済みEC2インスタンスを取得(us-east-1リージョンの場合):
“`
aws ec2 describe-instances –query “Reservations[*].Instances[*].InstanceId” –region us-east-1
“`# 起動中(running)のEC2インスタンスのみ取得(us-east-1リージョンの場合):
“`
aws ec2 describe-instances –filters “Name=instance-state-name,Values=running” –query “Reservations[*].Instances[*].InstanceId” –region us-east-1
“`
初めてのAppSync #AWS
## AppSyncとは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806193/f6f58f48-7df2-e70a-0361-2b10d9d20596.png)### 一言要約
:::: note
AppSync は AWS の **GraphQL ※のマネージドサービス**。
※GraphQL は、REST API の限界を補完する形で登場し、必要なデータだけを効率よく取得できるのが特徴です。
::::> よくワカラナイ…
AppSynの理解にたどり着くまでには
**①APIとは
②RestAPIとは
③GraphQLとは
④(やっと)AppSynの理解**
という順番になります。さっそく一つ一つ見ていきましょう。
### もう少し詳しく
## ①API とは?
まず「API」とは、**アプリケーションがデータや機能を利用するための窓口**です。たとえば、スマホアプリがインターネットから最新のニュースを取得する時、ニュースサーバーと通信してデータを受け取る
使ってなかったAWSが無料枠超過アラートを出して焦った話
# 事象
少しの間AWS使っていなかったのですが、無料枠終わるよ!というアラートメールが来ました。
内訳を見たところVPCとEC2の利用時間が無料枠を超える勢いでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194659/d43f28ba-1a6e-70d4-b2aa-f871b783f6f4.png)ここ最近忙しいので、さっさと解決しようとEC2を除いてみるも何もいない…。
理由は単純だったのですが、焦っていた自分は少し解決に時間がかかってしまいました。
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194659/1b84e769-3478-5d84-c888-34a20ec8f0f7.png)# 原因
見てるリージョン間違えてる!というのが原因でした。
リージョンを東京に変更してEC2を除くと何かいました。かるーくですが調べてみたところ、どうやらAWSの無料枠につい
[AWSコスト最適化] AWSリソースの夜間停止とその運用課題について
# はじめに
こんにちは、NTTDATAのKojiです。
この度、2024 Japan AWS Jr. Championsのメンバーでブログリレーを行うことになりましたので、普段SREとして業務を行なっている中で得た知見を共有しようと思います。
内容としては、コスト最適化を目的にAWSリソース(EC2,RDS,AutoScalingGroup)の夜間停止を行おうと思っている方や、既に行なっている方向けに、その仕組みと運用する上での注意点を紹介しようと思います。# 夜間停止の仕組みとその課題について
AWSリソースの夜間停止と聞いてまず真っ先に思いつくのがEventBridgeを利用することだと思います。
EventBridgeのEventBridge Schedulerという機能は、タスクを作成・実行・管理してくれるものなので、
– 毎日特定の時間にインスタンスを起動
– 毎日特定の時間にインスタンスを停止は実現可能だと思います。
ただそれ自体は設定も導入も簡単なのですが、いざ運用するとなると以下のような課題が発生してくると思います。– 各チームが日別に細かな起動・停止を
Terraform勉強-第21回:VPC, SecurityGroup, EC2, RDSの作成とWordPressセットアップ
githubリポジトリ:”https://github.com/shu130/terraform-study21″
– **Terraform公式モジュールやカスタムモジュールを使わずコード作成**
– **VPC、セキュリティグループ、EC2、RDS(MySQL)の作成**
– **EC2インスタンスで`user_data` を用い初回起動時にWordpress自動セットアップ**## 構成:
– **VPC** : 2つのAZにパブリックとプライベート2つずつサブネットを作成
– **EC2** : `t2.micro`、Amazon Linux 2 AMIを使用し、`user_data` でWordPressのセットアップを自動化
– **RDS** : MySQLデータベースを作成し、WordPressで利用
– **セキュリティグループ** :
– EC2: SSH(22)、HTTP(80)を開放
– RDS: MySQL(3306)を開放– **構成図**
![diagram01.png](https://qiita-image-store.
AWS IAMアカウントを、ステージングと本番とで分けて、リージョンごとにリソースを作成・閲覧できるようにしたときのメモ
## ふと思ったこと
遊びでIAMアカウントを友達用に作成し、渡したのですが、いざそのIAMアカウントでリソースにアクセスすると、あらやだ。私が作ったリソースも普通に見られてしまうのです。
…やだというのは感情論に過ぎないのですが、もし仕事で、実際に本番稼働しているシステムのステージングに変更を加えようとしたら、誤って本番を更新しちゃった、なんてことも人間はやってしまうと思い、タイトルのような設定ができないか自由研究をしようと思いました。
## 理想の状態
理想としては、「あるIAMアカウントは、あるリージョンでしか作業できない」という状態を目指しました。
| 環境 | リージョン |
| —- | —- |
| ステージング | osaka |
| 本番 | tokyo |上記の設定ができると、友達にも自分の作業を見られなくて済むなと思い、早速設定してみました。
## 実際にやってみた結果
まず、jsonポリシーだけでやろうとしましたが、以下のようなシンプルな指定だけだと、実際に構築する際にエラーが多発しました。
“`
{
“Version”
【画面共有】Amazon Connectで画面共有機能を使ってみた
## はじめに
2024年10月のAmazon Connectリリースノートにて、画面共有機能のリリースが発表されました。
本記事では、Amazon Connectの画面共有機能の設定方法と操作手順について記載します。### 注意点
本記事では、以下の項目は事前準備されているものとしております。
– AWSアカウントの作成
– Amazon Connectのインスタンス作成
– 電話番号の取得やAmazon Connectの初期設定
– HTMLファイルやデプロイ方法については省略しています### セキュリティプロファイルの権限
日本語では、「チャットテストモード」の「有効/無効」にチェックを入れる必要があります。
※英語版では「Communication Widget」ですが