ギャバンITサービス
お菓子の家が作れるシステムエンジニアです

AWSでsmtpにポート25使う

ec2ホストからメール飛ばしたい場面がある。 普通のlinuxからやったら、自分でもローカルlinuxとgoogle cloudのlinuxで飛ばしてる。 25番ポートでmailが飛ばなくなったのでsmtp認証を追加 | ギャバンITサービス gavann-it.com 利用者様にサーバ提供するとき「ポート25のsmtp使いたい」って言われることがたまにいるんやけど、awsではsmtpはそのままは使えんから申請出す。 EC2 インスタンスからのポート 25 の制限解除 | AWS re:Post repost.aws awsコンソールにログイン後、サポートの申請する。 aws-portal.amazon.com 普段の申請 使ってるメールサーバで受け取れるアドレスと依頼文書を入力する。 グローバル窓口やから本文は英文で作らなアカンし、生成AI使って「awsでポート25解放する利用申請文章を英語で作って」でもええんやけど、いっつもこのへん使ってる。 1 2 3 4 5 6 7 8 Removal of E-mail sending limit. ・Used as a notification email from the internal system. ⭐️内部のシステムで使ってまーす ・The destination is limited to the e-mail address registered in the address book. ⭐️アドレス帳に入ってる決まったメールアドレスに送りまーす ・Use MTA and take necessary measures such as SPF / DKIM. ⭐️MTA使うのと、認証もちゃんとやりまーす ・EC2 that wants to allow port 25 as outbound Does not own an Elastic IP Address. ⭐️ポート25使いたいでーす ・Do not use reverse DNS records. ⭐️逆引きdnsいりませーん ・Go out to the internet using your on-premises environment via DirectConnect. ⭐️directconnect使ってオンプレ経由でインターネットにメール飛ばしまーす。 ・10 or more e-mail will be send by crond everyday morning from ec2(i-xxxxxxxxxxxx). ⭐️ec2ホストからcrond使って毎朝10本ぐらいメール飛ばしまーす 申請したメールアドレスに2~3日程度でawsからメールが戻ってくる。もちろん英文。 ...

 ⭐️

ubuntu24利用開始 numbat来た!

azureの試験利用終わったから、しばらくsteamでゲームでもやろっかなと思ったらローカルlinuxのubuntuのaptでゴロっとモジュールが置き換わってた。 もしかしてとendoflifeのページ見たら4月末にubuntu24出てるやん。 https://jp.ubuntu.com/blog/canonical-releases-ubuntu-24-04-noble-numbat-jp 22のときはjellyfishでクラゲ。 水族館で涼しげに泳いでるのな。 numbatってなんや? wikiで見たらフクロアリクイってリスみたいな感じの可愛いのが出てきた。 けど壁紙は王冠っぽい絵柄。 なんやろね。 ローカルlinuxは自分にとっては母艦で、いろんな役割持たせてるから、24への引っ越しは時間かかる。 dockerのローカル開発サーバとしてだけやなく、中間的なバックアップ置き場やったりクラウドへの入り口やったりするから、ちょっとずつ引っ越す。 インストールから稼働確認まで まずは入手 今まではデスクトップ版を使ってた。 今回はUbuntu DesktopやなくてUbuntu Serverでやってみる。 https://jp.ubuntu.com/download 5分もかからずisoイメージのファイル手に入る。 desktopやなくてserver 基本に立ち返って、できるだけ不要そうなものは入れずに使い始める。 それでもGUI使うのやめるわけやない。 んじゃ、導入。んんん? 日本語ないやん。後でロケール足す。 キーボードは日本語配列選べる。 ルートボリュームはubuntu22のときと同じ200GB。レイアウトは変える。ほんまはそんな要らんけど、まぁ何か新しいことやり始める時は欲しくなるからええか。 入れたいパッケージは決まってるけど手動で入れたいからいったんこのまま。 30分ぐらい待つ。 shutdownでブートするまで、その間朝メシ食っとこ。 GUI使えるようにする。 1 2 3 4 # apt-get update # apt-get upgrade # apt-get -y install ubuntu-desktop # shutdown -r now 起動してきたらこんな感じ。 ...

 ⭐️

AWSでロードバランサ

ロードバランサはネットワーク系の知識がいるから苦手。 awsではELB(Elastic Load Balancer)って名前。2025年時点のラインナップは4つ。 特徴 - Elastic Load Balancing | AWS aws.amazon.com ALBとNLBしか今は使う場面がない・・・。 CLB(Classic Load Balancer) 使ったことなくてわからん。 Classicってあるから昔のタイプなんやろけど、進んで使う場面ない。 ALB(Application Load Balancer) apacheとかnginxみたいなwebアプリケーションを負荷分散するのに使う。 Application Load Balancer の作成 - エラスティックロードバランシング docs.aws.amazon.com ゾーン障害あったときのために、azまたがってホスト作っとくとかするのな。 ALBターゲットグループの作成 バックエンドどうするかの設定する。ec2ホストやったらインスタンス指定する。 IPアドレス指定はやったことないけど、dockerコンテナとかECS/EKSでもええんやろな。 ヘルスチェックの確認もしたいからバックエンドの対象ホストは起動しといて対象選択する。 最初の数分間は「保留」になる。 このへんは動作するアプリケーションの性質に応じて設定する。 構築中やったり、サービス停止してたらヘルスステータスはUnhealthyになる。 このへんも動作するアプリケーションの性質に応じて設定する。 ALBの設定 本体の設定作る。VPCと参加ホストのサブネットを指定。 デフォルトアクションにある転送先に、作成したターゲットを指定する。 構成確認して作成。 属性はあとで変えてく。アイドルタイムアウトは600秒もいらんかな。 NLB(Network Load Balancer) インターネットに面したサブネットにロードバランサ置いといて、バックエンドとしてプライベートサブネットにあるホストが応答するようにしたりする。 +---+ +--public subnet--+ +--private subnet-+ |in | | +-----+ | | +-----+ | |ter| <-> | | NLB | | <-> | | EC2 | | |net| | +-----+ | | +-----+ | +---+ +-----------------+ +-----------------+ Network Load Balancer を作成する - エラスティックロードバランシング docs.aws.amazon.com スマホは動的にグローバルIPを持ってるから、そこにだけ接続許可するようにしてみる。 ...

 ⭐️

AWSで監視

サーバが知らん間に状態おかしなってたら困る。急にディスク利用率上がってたり、固まってたり。 状態確認様にcloudwatchのダッシュボード使ってる。 ホストごとに色変えてグラフ表示してくれるし、時間帯をマウスでドラッグ選択したら拡大表示できて便利。 awsのec2ホストは、メトリクスっていうてCPU利用率見せてくれたり、状態監視のためのアラーム設定ができる。 メモリとディスクのメトリクスは このへん で設定してる。 CPU、メモリ、ディスク、サーバ本体の死活監視をして、問題出たら メール飛ばす 。 アラーム設定の入り口はcloudwatchにあるで。 ec2停止してたりrds停止してたら、監視先からデータが取れへんから、緑色で「OK」って出てる箇所が変わる。 アラーム設定の参照 監視させるためにアラーム設定を作ってく。まずはメトリクス指定して監視設定。 項目めっちゃ多いし、全部は使ったことない。 インスタンスタイプ変えたらInstanceIDが変わってまうから、サーバ本体の死活監視以外は再設定せなアカンで。 CPUの監視 例えばインスタンスIDで絞って参照させる。CPUUtilizationでCPU利用率を使う。 閾値設定は5分間隔で「平均利用率80%オーバ」とかにする。 メモリとディスクの監視 CloudWatchAgent経由で取得してるから、カスタム名前空間から選ぶ。 どっちがどっちやったか忘れたけど、メモリとディスクの監視のためにたどってく。 メモリ利用率のメトリクス選ぶ。 ディスク空きパーセンテージのメトリクス選ぶ。ec2-windowsホストやったらドライブ名も見える。 閾値設定は30分間隔の平均値で「80%オーバの利用率になったら」とかにしてる。 RDSの場合 RDSの系列をたどる。インスタンスタイプ変えたら監視外れてまうはずやけど、どやったかな。 RDSで使ってるディスクの空き容量が監視できる。oracleのデータポンプでエクスポートとかされると消費されて枯渇してるって監視メール飛んでくることある。 サーバ本体の死活監視 StatusCheckFailed_Systemは、 このへん に解説あるけどVMそのものがおかしくなったことを検出できるはず。 StatusCheckFailed_Instanceも、 このへん に解説あって、NICに向かってヘルスチェックやってる。 どっちも使う。 サーバ状態おかしくなったら1が戻ってきたっけ。 プロセス監視 やったことないけど、できるらしいってことは知ってる。 判明したら書き足す。 条件とメールの設定 監視でアラート通知する条件を設定する。閾値には整数値を書く。 計算面倒やけど、RDSのディスクの利用率は「10GB下回ったら」みたいな設定するとき、ギガバイトをバイトに読み替えて整数値で書く。 10GB=10 x 1024 x 1024 x 1024 = 10737418240byte 構築当初は100GBでRDS動かしてたのを、データ流し込んで入らへんかもとかで200GBに増やしたりしたら、監視も連動して閾値の変更せなアカンで。 監視でアラート通知先を設定する。 アクションも設定できる 「死活監視で異常検出したときはOS再起動」みたいな設定もできる。 この設定はインスタンス監視で設定してる。 ...

 ⭐️

AWSでbackup

AWSbackup 使う。 バックアップのボールト(vault)用意する 保管場所作る。 プランを用意 プランっていう枠みたいなもん作ってバックアップルールに設定入れてく。 1日1回とか毎週日曜とか楽に指定できるんやけど、eventbridgeみたいにcron式も選べる。 cron(30 11,23 ? * * *) ⭐️utcで11:30と23:30(jstで20:30と8:30)に動かす指示 1時間以内に開始してな、2時間以内に終わってなの指定。いっつも思うけど2時間経って終わってへんかったらどうなんのやろ。 1週間残して、その後は削除してなの指定。 いったん保存。1回だけやったことあるけど、「コピー先にコピー」は東京リージョンから大阪リージョンに置いてくれる設定。大事なデータをミラーしたいのはわかるけど、金かかるで。 リソースの設定で、何をバックアップするか選んでく。 リソースタイプにec2やrdsを選んでく。「全部」って指定やなくて、開発環境とか本番環境とかを括って選んでってプラン作ってもええ。 リソースタイプはこんなのが選べる。s3とかefsって選べるけど、容量めっちゃ大きなってたら金かかるなぁ。 ジョブの確認 ジョブ結果が入ってる。cron式で1日2回とか指定したのができとる。 復元ポイントの確認 7日保持してるはずなので、ec2の名前で絞って確認。 AMIにバックアップイメージあるか確認 復元ポイントはAMIから復元できるってこと。ジョブの開始時間と比べたら、ディスクは2TBぐらい使ってるものもあるけど、20分ぐらいでバックアップできてるみたいやな。

 ⭐️