- 1. ALBがロンドロビンに負荷分散することを確認する
- 2. AWS IAM Identity Center で IBM Cloudポータルにシングルサインオンする
- 3. AWS EC2 でMySQLにログインできない
- 4. せっかくAWSの勉強をするので、インフラの基礎から勉強してみることにした #2
- 5. EC2にNTPサーバ立ててみた
- 6. ワーカーノードとしてEC2・Fargateが混在するEKSクラスタを実現する
- 7. 【AWS】 パラメータストアの一覧をさくっと取得する【SSM】
- 8. LambdaでPandasとMatplotlibを使う時の注意点
- 9. AWS Cloud9環境のCloudShellでの構築
- 10. せっかくAWSの勉強をするので、インフラの基礎から勉強してみることにした
- 11. 【AWS】RDS備忘録
- 12. [AWS] 駆け出しAWSエンジニアこそJAWS-UGに参加しよう!
- 13. 【DynamoDB Awesome】DynamoDBを勉強する上で参考にさせていただいた記事
- 14. 何もかもわからない人間によるAmazon SESメールのドメイン認証学習記録
- 15. AWS クラウドプラクティショナー合格勉強法
- 16. A summary of AWS from the basics [VPC]
- 17. EventBridgeScheduler+ECS+Docker+SeleniumでWebサイトのスクリーンショットを定期的に撮影する
- 18. CloudWatchのLogsの取得上限の10,000件を突破する方法
- 19. AWS LambdaとLINEでオウム返しbotを作ってみる
- 20. フルスタックアプリ(Spring Boot, React.js, MySQL)をAWS(Elastic Beanstalk, S3, RDS)にデプロイする際に参考にした資料
ALBがロンドロビンに負荷分散することを確認する
## 実施したこと
– クライアント(EC2:Amazon Linux)に httpd-toolsをインストールする使用コマンド
“`
yum install httpd-tools
“`– Appache Bench が使用できることを確認する
使用コマンド
“`
ab -h
“`– Appache Benchを使用して、ALBにリクエストを送付する
使用コマンド
“`
$ ab -n 【リクエスト数】 -c 【同時接続数】 -v 1 【リクエスト先のパス】
“`– ALBにより負荷分散されたリクエストが、各Webサーバ(EC2)に均等に振り分けられていることをアクセスログで確認する
※Webサーバにて別のリクエストを処理している状況の場合は、
均等に振り分けられない可能性はあります。
AWS IAM Identity Center で IBM Cloudポータルにシングルサインオンする
# はじめに
IBM CloudのApp IDは、IBM CloudポータルのIdPになることが可能であり、かつSAMLのSPになることができます。本記事ではAWS IAM Identity CenterのIdPを用いてIBM Cloudのポータルの認証を行います。※Azureの連携についてはこちら
Qiita:[Azure ADで IBM Cloudポータルにシングルサインオンする](https://qiita.com/takason/items/b23929781d5ef5eef6db)# 事前準備
以下を用意しておきます。
– [AWS] AWSアカウント
– [IBM Cloud] App ID インスタンス# 手順
## AWS上での手順
### IAM Identity Center を管理アカウントで有効化
IAM Identity Centerで検索し、「**Enable**」をクリックします。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2199676
AWS EC2 でMySQLにログインできない
EC2で
“`shell
sudo apt install mysql-server mysql-client
“`をインストールしてもrootでログインできない。
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’場合の対処法。
“`SQL:SQL
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH caching_sha2_password BY ‘password
“`ubuntuのログインユーザとrootの名前が違うことが原因ぽい
せっかくAWSの勉強をするので、インフラの基礎から勉強してみることにした #2
ただの備忘録です。
↑
~~これ書いとけば雑でも許されそう~~# 超基礎用語の続き
### IPアドレス続き
– IPアドレスの範囲
ネットワークを構築する際は、ネットワークで使うIPアドレスの範囲を決める。IPアド レスはネットワーク部とホスト部に区分けすることで、範囲を表記する。– ネットワーク部
(192.168.128.)255、()に囲まれている部分がネットワーク 部、共通部となっている。 自分が使用しているネットワークに通信がくるようにしている。– ホスト部
192.168.128.(255)、()に囲まれている部分がホスト部、可変部になっている。 どのデバイスに通信するかを決める。– IPアドレスの表記法
IPアドレスの表記には二種類の方法を用いる。– CIDR表記
IPアドレスの後ろに「/」を書き、その後ろにネットワーク部が先頭から何ビット目までなのかを記載する ※「192.168.128.0/24」のように表記する。これを二進数表記にする「11000000.10101000.10000000.11111111」になり、「11000000.1
EC2にNTPサーバ立ててみた
## 概要
– NTP立ててみたくなった
– 立ててみた## 構成
– NTPサーバ
– EC2(AmazonLinux2023)
– chrony
– NTPクライエント
– EC2(AmazonLinux2023)
– chrony## 手順
### NTPサーバ側の設定を行う
:::note info
AmazonLinux2023だと元から入っているから入れる必要はないが、confファイルなどがない可能性もあるので、ない場合は入れなおすのが良いだろう。
:::“`sh
sudo yum update
sudo yum install chrony
“`
chronyのインストールを行う
次に
“`sh
sudo vi /etc/chrony.conf
“`
を実行して、設定を書き換える“`conf:/etc/chrony.conf
# Use NTP servers from DHCP.
# sourcedir /run/chrony.d<-必要ないため、コメントアウト # Include configuration
ワーカーノードとしてEC2・Fargateが混在するEKSクラスタを実現する
諸事情(DaemonSetを使いたい、Podを起動させるための時間を短縮させたい、特定のインスタンスタイプを使いたい、等)で、一つのEKSクラスタの中で(かつ、同じ名前空間の中で)ワーカノードとしてFargateとEC2を使い分けたい場面があったので、その時の方法を自分向けのアウトプット用として記録。
### やること
– Fargateプロファイルのセレクタとして、名前空間に加えて「Podセレクタ」を指定する
– Fargateで実行したいPodには、「Podセレクタ」で指定したラベルを設定する
– 逆に、EC2で起動したいPodには、当該ラベルを設定しない### Fargateプロファイルを作成する
– 名前空間:test
– Podセレクタ:「nodeType/fargate」![スクリーンショット 2024-02-08 185712.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389171/69f6f72f-c1fe-64a8-1292-ba087c1cda27.png)
【AWS】 パラメータストアの一覧をさくっと取得する【SSM】
# パラメータストアの一覧を取得したい!
アプリケーションの環境変数格納先等に活躍するAWS SSMパラメータストア。https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-parameter-store.html
コンソールから値を確認する際にはひとつひとつ、パラメータをクリックして中身を確認することになります。
数が多い場合は特に面倒で見落とすリスクが上がってしまいます。
AWS CLIでさくっと取得する事が出来たので共有です。# 実行するコマンド
“`
aws ssm get-parameters-by-path –path / –recursive –with-decryption –query ‘Parameters[].{Name:Name,Value:Value}’ –output json
“`
NameとValueだけ出力したいので–queryオプションで絞っています。
視認性が向上して便利でした。# 注意点
– 例では階層の
LambdaでPandasとMatplotlibを使う時の注意点
# はじめに
LambdaでPandasとMatplotlib(外部ライブラリ)を使おうとしたときにハマったので、備忘録として残しています。
# Lambdaの『250MB制限』の壁
>デプロイパッケージ (.zip ファイルアーカイブ) のサイズ
>50 MB (zip 圧縮済み、直接アップロード)
>250 MB (解凍後)
>このクォータは、レイヤーやカスタムランタイムなど、アップロードするすべてのファイルに適用されます。https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/gettingstarted-limits.html
# 外部ライブラリは『Layer』を用意する
**Pandas**
– AWSレイヤー(AWS が提供するレイヤー)
– ARN指定(arn:aws:lambda:ap-northeast-1:770693421928:layer:Klayers-p39-pandas:22)**Matplotlib**
– ARN指定(arn:aws:lambda:ap-northeast-1:77069342
AWS Cloud9環境のCloudShellでの構築
:::note info
目的
– AWS on for beginnersのハンズオンをCLIで実施するためのCloud9環境を用意する
– VPCとサブネットはデフォルトで作成されているものを使用
– EC2への接続方法はSSMを使用
:::構成図
![cloud9.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3297641/5c890fdc-0257-fae9-62f3-1394c514be61.png)
# 構築
## IAMロール作成
※作成済みの場合は不要
“`bash:コマンド
aws iam create-role –role-name AWSCloud9SSMAccessRole –path /service-role/ –assume-role-policy-document ‘{“Version”: “2012-10-17″,”Statement”: [{“Effect”: “Allow”,”Principal”: {“Service”: [“ec2.a
せっかくAWSの勉強をするので、インフラの基礎から勉強してみることにした
ただの備忘録です。
## 色々な単語について
#### インフラとは
– サーバやネットワークのこと
– infrastructure:基盤
– 技術用語としての意味:システムやサービスの基盤となる設備#### サーバーとは
– クライアントに対してサービスを提供するコンピューター#### ネットワークとは
– 複数のコンピューターをつないで、データを送受信できるようにするもの#### クラウドとは
– ネットワークを利用してコンピューターリソースを利用する形態のこと
– インフラをネットワーク経由で使用・管理すること
– 利点は、初期コストがすくなく、すぐに始めることが出来、サーバーの増減が自由に出来ること
– 欠点は、費用の予測がつきづらいこと、クラウド全体で障害が起きると対応のしようがない事#### オンプレミス
– インフラを自前で用意して、自社で所有・管理する事
– 利点は、自由度が高いこと
– 欠点は、初期コストがかかり、調達期間が必要で、サーバーの増減がしにくいこと#### AWSとは
– Amazon社が提供するクラウドサービス。
【AWS】RDS備忘録
RDSのチュートリアル
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_Tutorials.html
RDSのベストプラクティス
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html#CHAP_BestPractices.DiskPerformance
### RDSの作成
1. Amazon RDSコンソール画面を開く
1. データベース->データベースの作成を押す
1. データベース作成方法は、標準作成を選択
1. エンジンは、Aurora (MySQL comparable)を選択
1. テンプレートは、開発/テストを選択
1. DB クラスター識別子は、そのまま、database-1
1. マスターユーザー名は、admin
1. マスターパスワードは、適当な8文字以上
1. クラスターストレージ設定は、Aurora スタンダードを選択
1. 可用性と耐久性は、別の AZ で
[AWS] 駆け出しAWSエンジニアこそJAWS-UGに参加しよう!
ごきげんいかがですか
新卒1年目のyuchamです。AWSエンジニアのコミュニティであるJAWS-UGについての紹介をしたいと思います😄
### 1.JAWS-UGとは
正式名称はAWS Users Group – Japanで AWS を利用する人々のコミュニティです。
JAWS-UGの中にも**たくさんのグループ**があり、特徴も様々です。
AWSの公式サイトでは以下のように説明されています:::note info
JAWS-UG はエリア、地域を拠点とした**地域支部**と、勉強会のテーマ、目的別に組織化された**専門支部**があります。**地域支部**はほぼ日本全国の都道府県に存在し、地元を中心に勉強会を企画・開催しています。
**専門支部**は東京を中心に勉強会を開催し、リモート枠による勉強会内容のライブ配信をしたり、地域支部とのコラボレーションを行うことがあります。
:::
https://aws.amazon.com/jp/campaigns/manga/vol11-3/#:~:text=JAWS%2DUG%20%E3%81%A8%E3%81%AF%E3
【DynamoDB Awesome】DynamoDBを勉強する上で参考にさせていただいた記事
こちらに移しました。
https://zenn.dev/purpom/articles/270e76b31e74b7
何もかもわからない人間によるAmazon SESメールのドメイン認証学習記録
## 経緯
シャチョー「うちのドメイン使ってメール送信したいからSES使って」
ぼく「はい」
シャチョー「Googleの規制強くなるっぽいからSPFとDKIM認証してDMARCもやっといて」
ぼく「何語やねん(はい)」## 目標
・なんとな~~~く使ってきたメールの仕組みや設定について1割くらいは理解したい
・メールの認証?っぽいのがこの世には存在するらしいのでそれも調べてみる## はじめに
今回の記事では沢山の記事を参考にさせていただきました。
その中で用いられている図も参考に引用させて頂いております。
もし何か問題等ございましたらご一報ください…## メールってなんだ(哲学)
そもそもメールってひとことで表現しているけど、ドブエンジニアの僕にはSMTPサーバーから送られる?みたいなふわっと知識しかない。
たしかに迷惑メールに振り分けとかされているのを見ると何かしら「健全なメール」か「怪しいメール」みたいな判断基準がありそう。このメール(概念)をより具体化していきたいと思う。
## メールが送信される仕組み
https://www.kagoya.jp/howto/i
AWS クラウドプラクティショナー合格勉強法
2024年2月3日にクラウドプラクティショナーに合格しました。
この記事では合格までの勉強方法について書いていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330568/a998354a-d9c3-67ab-1d19-25691f84eac5.png)## かかったコスト
トータル3000円未満・amazon kindle unlimitedで読める本
https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E5%90%88%E6%A0%BC%E3%81%B8%E5%B0%8E%E3%81%
A summary of AWS from the basics [VPC]
## VPCとは?
– VPC: Amazon Virtual Private Cloud
– AWSのインフラ環境上に仮想的なネットワーク空間を構築するもの– AWSのアカウント内に専用のネットワークを作成して、ネットワーク内にEC2、RDSなどのAWSリソースを配置すること
– ファイアウォールなどセキュリティ関連の機能もVPCの一部として用意されている
– VPCに用意されたVPNの機能で企業ネットワークと接続することも可能
## サブネット
○ パブリックサブネット(Amazon EC2)
– インターネットとの通信が可能
– サブネットを作成後、インターネットゲートウェイへのルーティングを設定することでパブリックサブネットを作成することができる○ プライベートサブネット(RDS)
– インターネットとの通信が不可
## ゲートウェイ
① インターネットゲートウェイ
– VPCとインターネット間の通信を可能にするために使用する② ナットゲートウェイ
– プライベートサブネットからインターネットにアクセスする際に使用する③ 仮想プライベートゲー
EventBridgeScheduler+ECS+Docker+SeleniumでWebサイトのスクリーンショットを定期的に撮影する
EventBridgeScheduler, ECS, Docker, Seleniumを使い1時間ごとに阿部寛のHPのスクリーンショットを撮影しS3に保存する方法についてまとめました。
## スクレイピング用のDockerイメージを作成
以下の記事を参考にしながらスクレイピング用のDockerイメージを作成します。
環境変数からスクレイピング先のURLと保存先のバケットを読み取ります。参考: [Selenium×dockerでテスト自動化してみた](https://zenn.dev/carenet/articles/4ca98b5e35bb24)
“`
.
├── Dockerfile
└── app
└── main.py
“`“`dockerfile:Dockerfile
FROM –platform=linux/x86_64 python:3.12.1-alpine3.19ENV PYTHONIOENCODING utf-8
WORKDIR /appRUN apk add –update \
wget \
# Add
CloudWatchのLogsの取得上限の10,000件を突破する方法
# 上限の10,000件
__CloudWatch__ のコンソールから10,000件を超えるログはダウンロードできません。なので、コンソール上からできることは、取得できたログから次の10,000件の範囲を絞り込んで、10,000件のログを取得、、、以下繰り返し。といったことくらいです。
これはちょっとめんどくさいのでPythonの `boto3` を使ってらくに取得しましょう。
:::note info
AWS SDK for Python (Boto3) を使用すると、AWS の使用を迅速に開始できます。Boto3 を使用することで、Python のアプリケーション、ライブラリ、スクリプトを AWS の各種サービス(Amazon S3、Amazon EC2、Amazon DynamoDB など)と容易に統合できます。引用: https://aws.amazon.com/jp/sdk-for-python/
:::# 実際のソース
プログラムは下記のリンクのものを参考につくりました。変更点は主に次の通りです。
– 出力の方法をCSVからデータフレームに変更
– ク
AWS LambdaとLINEでオウム返しbotを作ってみる
# LINEでオウム返しbotを作る
* 入力した文字がそのまま帰ってくる、オウム返しLINE Botを作ってみました🦜
画像はLINEからメッセージを送信してオウム返しを確認した様子です。
# 主な手順
* 1.LINE Developersアカウントへのログイン
* 2.lambda_functionの作成
* 3.AWS Lambdaの設定
* 4.API Gatewayの設定
* 5.LINE DeveloppersでMessaging APIの設定
* 6.LINEからメッセージを送信してオウム返しを確認する# 1.LINE Developersの作成とログイン
LINE Developersアカウントへのログイン[URL](https://developers.line.biz/ja/)# 2.lambd
フルスタックアプリ(Spring Boot, React.js, MySQL)をAWS(Elastic Beanstalk, S3, RDS)にデプロイする際に参考にした資料
# はじめに
フルスタックアプリ(Spring Boot, React.js, MySQL)をAWSにデプロイする際に、実際に参考にした資料を載せていきたいと思います。VPCやセキュリティグループの設定など詳細な設定が難しいと感じている方の参考になりましたら幸いです。# Spring BootアプリをElastic Beanstalkにデプロイする方法
こちらの動画では、VPC内にElastic BeanstalkとRDSの環境を構築する方法を紹介しています。# ReactアプリをS3にデプロイする方法
こちらの動画では、S3にReactアプリをデプロイする方法を紹介しています。動画の3:58秒以降のステップではCLIを使用していますが、私はAWSのGUIを使用して、オブジェクトタブからファイル・フォルダのアップロードを行いました。# 【番外編】 MySQL WorkbenchからRDSに接続す