あめがえるのITブログ

頑張りすぎない。ほどほどに頑張るブログ。

Amazon Linux 2023にTeraTermで接続できない件について

何気なくいつも通り検証でEC2にAmazon Linuxを選択しデプロイするもTeraTermで接続できない事象が発生。よく見るとAmazon Linux 2023という見慣れないOSで、これによる原因だったので調べてみた。(´・ω・`)

原因

Amazon Linuxで使用する暗号化アルゴリズムが2023からデフォルトssh-rsaがサポートされなくなり、代わりにrsa-sha2-256、rsa-sha2-512がサポートされようになった。以前のTeraTermではrsa-sha2-256、rsa-sha2-512がサポートされていなかったため発生していた。 ※TeraTerm以外のユーザでは事前にサポートされていたようで接続は問題ないようです。

解決策

TeraTerm 5.0 beta 1以降をインストールし使用する。
※5.0 beta 1はこんな感じで。あまり違いがない。アイコンにβのマークがついてる。

補足

※以下ChatGPT様より

暗号化プロトコル とは

暗号化プロトコルは、データを安全に伝送するためのルールセットです。これには、どのようにキーを交換するか、どの暗号化アルゴリズムを使用するか、データをどのようにパッケージ化するかなど、通信が行われる際の手順が含まれます。例としては、HTTPSSSHSSL/TLSなどがあります。


暗号化方式 とは

暗号化方式は、データが暗号化または復号化される具体的な方式を指します。主に、対称暗号化と非対称暗号化の2つに分けられます。対称暗号化では、暗号化と復号化に同じキーが使われます(例:AES)。一方、非対称暗号化では、公開キーで暗号化し、対応する秘密キーで復号化します(例:RSA)。


暗号化アルゴリズム とは

暗号化アルゴリズムは、具体的にデータをどのように暗号化・復号化するかの手順を指します。これは、特定の数学的手順に従ってデータを変換します。AES, DES, RSA, ECCなどが暗号化アルゴリズムの例です。


 概要:暗号化プロトコル
 詳細:暗号化方式
 手順:暗号化アルゴリズム
かな?( ̄д ̄;;)用語がよくわからない。



感想

TeraTermを使用してSSH接続する方は結構いると思うのでこの問題ははまると思った。。。

OpenShift サポートバージョンについて

OpenShiftのサポートスケジュールを確認する必要があったのでまとめてみました(;・∀・)

OpenShiftサポート ライフサイクル

GAフェーズ1:
リリースの最初のメジャーバージョンから最低2年間利用可能。
新しいメジャーバージョンが利用可能になるとこのフェーズは終了する。
このフェーズ中は、マイナーリリースが利用可能、フルサポート、もしくはメンテナンスサポートの条件でサポートされる。

GAフェーズ2:
1年間利用可能。GAフェーズ1の終了後に開始となる。

サポートライフサイクル(フルサポート):
マイナーバージョンの一般提供(GA)/リリース日に開始し、後続のマイナーリリースのGAから1か月後に終了する(約4か月)

サポートライフサイクル(メンテナンスサポート):
後続のマイナーバージョンの一般提供(GA)/リリース日から1か月後に開始し、3つ目となる後続のマイナーバージョンがリリースされるときに終了する。

サポートライフサイクル(延長アップデートサポート(EUS)):
リリースごとのメンテナンスサポートフェーズを14か月に延長できる。これによりフルサポートと合わせて18か月のサポートとなる。

バージョン読み方

4.11.13の場合
 ・メジャー:4
 ・マイナー:11
 ・パッチ:13

ケース別サポートスケジュール

Redhatリリースノート】

リリースノート OpenShift Container Platform 4.11 | Red Hat Customer Portal

4.11.13の場合:
 ・4.11.0 GAリリース:2022/8/10
 ・4.11.13 GAリリース:2022/11/09
 ・4.11.14 GAリリース:サイトに記載なし
 ・4.11.17 GAリリース:2022/11/28

サポート期間
 ・GAフェーズ1:2022/8/10~2024/8/9
 ・GAフェーズ2:2024/8/10~2025/8/9
 ・サポートライフサイクル(フルサポート):2022/10/12~??
 ・サポートライフサイクル(メンテナンスサポート):2022/11/12~2022/11/28
 ・サポートライフサイクル(延長サポート(EUS)):2022/11/28~2025/1/28


感想

あってるのかな。。まじわかりづらい。。

Amazon Elastic Beanstalk(Worker環境)をPython構築してみた

Elastic BeanstalkにはServer環境ともう一つ、Worker環境があるがよくわからないので調べてみた。ついでに使ってみた。

Amazon Elastic Beanstalk Worker環境とは

完了するまでに長い時間がかかるオペレーションまたはワークフローを実行する場合、それらのタスクを専用のワーカー環境にオフロードできる。
長い時間実行されるタスクとは、イメージやビデオの処理、Eメールの送信、Zipアーカイブの生成など、リクエストの完了までに時間を要するタスクです。

Server環境はELBとEC2のセットのようなサービスだが、Worker環境はSQSとEC2のセットのようなサービスの模様。aws-sqsdデーモンがおり、SQSからメッセージの読み取りとアプリケーションへのPOSTリクエストの生成、処理が完了し200OKを受信した際にはメッセージの削除を自動で行ってくれる。こりゃ便利そう!

Worker環境構成


やること


実践!

1.サンプルアプリケーションダウンロード
 1-1.下記サイトからpython.zipをダウンロード
  https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/tutorials.html
※この子はServer環境ではサイトを表示し、Worker環境ではPOSTを受信してログを出力してくるアプリケーションなのでどちらでも使える優秀なやつです。
 1-2.Elastic Beanstalk-[アプリケーションを作成]
 1-3.下記を入力
  ・環境枠:ワーカー環境
  ・アプリケーション名:sample-python-worker-app
  ・環境名:sample-python-worker-env
  ・プラットフォームタイプ:マネージドプラットフォーム
  ・プラットフォーム:Python
  ・プラットフォームブランチ:Python 3.11 running on 64bit Amazon Linux 2023
  ・プラットフォームのバージョン:4.0.0(Recommended)
  ・アプリケーションコード:コードをアップロード
  ・バージョンラベル:1.0
  ・ソースコード:ローカルファイル
  ・ファイル名:python.zip
  ・プリセット:単一インスタンス(無料利用枠の対象)

 1-4.[次へ]
 1-5.サービスアクセスの設定が表示されたら、下記を入力
  ・EC2キーペア:任意のものを指定
 1-6.[レビューまでスキップ]
 1-7.レビューが表示されたら[送信]

※キューを指定しなければ自動で作成される模様。
※上はデッドレターキュー、下がサービス用のキュー


2.動作確認
 2-1.SQS-[キュー]
 2-2.サービス用のキューを選択し、[メッセージを送受信]
 2-3.メッセージ本文に[test]と入力し、[メッセージを送受信]
 2-4.キューに戻り、サービス用のキューの[利用可能なメッセージ]を確認
  ※aws-sqsdデーモンがすぐ取得するためメッセージ数は増えない
 2-5.作成されたEC2インスタンスSSH接続
 2-6.下記を実行してtestログが存在していることを確認

# cat /tmp/sample-app.log | grep test
2023-05-18 04:52:57,198 - application - INFO - Received message: b'test'



感想

正直SQSを組み込んだアプリケーションは手間がかかると思ってたけど、これだとプログラムに注力できるので楽ですね!

Amazon LightsailでWordPressを構築してみた

Lightsailを少し調べたのでついでにWordPressを構築して動作を見てみました。('Д')ンアー

やること

Amazon Lightsailを使用してWordPressを構築する。

実践!

1.WordPress構築
 1-1.Lightsail - [インスタンスの作成]
  ※オサレな画面

 1-2.インスタンスを作成するが表示されたら下記を選択
  ・インスタンスロケーション:東京、ゾーンA
  ・プラットフォームの選択:Linux/Unix
  ・設計図の選択:WordPress 6.2.0-14
  ・自動スナップショットを有効化:□
  ・インスタンスプランの選択:$3.5
  ・インスタンスを確認:WordPress-1×1

 1-3.[インスタンスの作成]

2.動作確認
 2-1.[ステータス]が[実行中]になったことを確認
※EC2にはインスタンスは作られないですね。管理は別なのか
 2-2.作成されたWordPressに表示されているIPへブラウザで接続し、WordPressの画面が表示されることを確認
※なんか思ってたの違う。。。ログイン画面が表示されるのかと思ってた。。

※この辺から操作できる模様。
※いじれる項目は最小限のようだが変更は可能な模様


感想

確かに簡単。すぐ作れる!

Amazon Lightsailを調べてみた

AWSのサーバ自動化サービスといえばElastic Beanstalkですが、Lightsailというものもあり違いがよくわかってなかったので調べてみた。

Amazon Lightsailとは

Amazon Lightsail は、クラウドでウェブサイトやウェブアプリケーションを構築してホストするためのソリューションを必要とする開発者、中小企業、学生、その他のユーザーにとって、AWS を使い始める最も簡単な方法です。Lightsail は、開発者にコンピューティング、ストレージ、ネットワークの能力を提供します。Lightsail には、仮想マシン、コンテナ、データベース、CDNロードバランサーDNS 管理など、プロジェクトを迅速に開始するために必要なすべてが、予測可能な低価格の月額料金で含まれています。

これだけ読むとElastic Beanstalkとの違いがよくわからないわ(´Д`)アエー

Amazon Elastic Beanstalkとの違い

CMSやRedmainなどそれだけで完結するWebサーバアプリケーションを簡易に構築できるもののようにみえる。

料金

月額料金
※何度も構築し直すと料金がかさむので注意!

Amazon Lightsailで構築できるもの

WindowsLinuxでそれぞれ用意されている模様。

Windows
  OSのみ

  OS+アプリ


Linux
  OSのみ

  OS+アプリ

  • WordPress 6.2.0-14
  • WordPress Multisite 6.2.0-14
  • LAMP(PHP8) 8.1.18-3
  • Node.js 16.20.0-7
  • Joomla 3.10.11-48
  • Magento 2.4.6-14
  • MEAN 6.0.5-23
  • Drupal 9.5.7-4
  • GitLab CE 15.11.0-ce.0-0
  • Redmine 5.0.5-14
  • Nginx 1.23.4-7
  • Ghost 4.48.9-30
  • Django 3.2.18-23
  • PrestaShop 1.7.8-7-12
  • Plesk Hosting Stack on Ubuntu 18.0.49
  • cPanel & WHM for AlmaLinux RELEASE Tier


感想

確かにCMS系はElastic Beanstalkでは自動で構築できないので、簡易に構築できれば便利そう。ただ、GitHubにあるスクリプトでも簡易にできるのでどこまで需要があるか。。

【今日の話題】AWSドキュメント サイト更新

ニュースというわけではないのですが、AWSの自学習をする際、ここからネタを探すことが多いのですが、サイトがリニューアルされてました!

サイトURL

https://docs.aws.amazon.com/ja_jp/

中身

さわやかな感じ(∩´∀`)∩

下にスクロールするとこんな感じ。確かこの画面のシンプル版がトップだった記憶。

ツール系も別枠になった模様。

リンク先はいつも通り。。。


感想

レイオフの話もあるし、サービス開発はそろそろやることがなくなったからドキュメント整備をやりだしたのかな。勉強でお世話になるが、古かったりするのでその辺も整備してほしいところ(;・∀・)

PythonでWebサーバ環境を作成してみた

Python単品でWebサーバ環境を作成することができると風のうわさで聞いたので試してみた(´ω`)

やること

ローカル環境でPythonの機能を使いWebサーバとして実行する

環境

Windows11{
  Python
}

実践

1.Webサーバ起動
 1-1.下記コマンドを実行
  > python3 -m http.server 8000
  ※これだけ。。

2.動作確認
 2-1.ブラウザで下記にアクセスしフォルダ階層が表示されることを確認
  http://localhost:8000

  ※pyファイル内のHTMLも表示してほしいのだが。。。

ChatGPT様より
python3 -m http.server 8000を実行すると、Pythonが組み込みのHTTPサーバを起動しますが、これは基本的に静的なファイルサーバで、HTMLファイルや画像ファイルなどをホストします。Pythonファイル(.py)は実行されず、そのままの形で提供されます。
Pythonファイル内にHTMLを記述し、それをウェブサーバとして提供したい場合、PythonのWebフレームワークを使用する必要があります。例えば、シンプルなフレームワークであるFlaskを使用することができます。

※うーん、、、これだけじゃあれなので。

3.htmlファイル表示
 3-1.2を実行したファルダ内に下記を作成

> vim test.html

<html>
<body>
Hello World!
</body>
</html>

 3-2.ブラウザで下記にアクセスし、[Hello World!]が表示されることを確認
  http://localhost:8000/test.html

※まぁ表示されるわな。。



感想

何かに使えるかな。。