Skip to content

AWS

Amazon Linux2 初期化用シェルスクリプト

しばしばテスト用の Amazon Linux2 を構築するのですが、自分なりの初期設定をスクリプト化してみました。「初期設定を手間なくすませる」方法は、他に以下が考えられると思います。

  1. Ansible で初期設定用の Playbook を作成する
  2. 初期設定を済ませた AMI を作成しておく
  3. cloud-init で初期設定する

Ansible は手軽だし、エージェントも不要なので「良い手段」のひとつだと思います。 大量にテスト用 Linux を用意するのであれば AMI 化するのもひとつの方法だと思いますが、そこまで頻度が高いわけでは無いのであれば、毎回 AWS が提供する最新ベースイメージを Ansible やスクリプト等で設定しても良いと思います。 cloud-init も手軽な方法のひとつですが、「cloud-init が使えない環境には応用し辛い」という点はデメリットだと思います。

AWS S3 で同じ名前の Bucket を再作成する場合は時間を空ける必要がある

Amazon S3 で Bucket を「意図しないリージョン」で作成してしまった際、やむを得ず、一旦 Bucket を削除して「意図したリージョン」で作成するケースがあるかも知れません。 但し同じ名前で S3 Bucket を再作成する場合、(リージョンの一致・不一致に関わらず) しばらく下記のようなエラーが出て Bucket が作成出来ないことがあります。

1
2
Error
A conflicting conditional operation is currently in progress against this resource. Please try again.

file

正確に「どの程度の間隔をおけば再作成可能なのか?」は分かりませんが、大凡 30 分 ~ 1 時間程度待てば Bucket を再作成出来るようになるはずです。

Amazon Transcribe のテキスト化精度を試す

現時点における Amazon Transcribe の「日本語ファイルのテキスト化精度」を確認すべく、ネット上にあった音声サンプルをテキスト化してみました。 尚、Custom vocabulary は未使用です。 今回、テスト結果を記載したものは「コンピュータによって合成された音声」や「プロ声優のナレーション」なので、インプットファイルとしては "非常に優秀" なものばかりを使った、と言えると思います。

AmazonLinux2 へ Zabbix Server 4.0.14 をインストールする

Amazon Linux2 に Zabbix 4.0 TLS をインストールする手順をメモしておきます。 公式サイトのダウンロードページから Zabbix をインストールしたい環境を選択すると、その環境に合わせたインストール手順もガイドされます。 基本的にはこのガイドの手順に従うだけでインストールは完了します。 余談ですが、Zabbix 4.0LTS では Web サーバとして Apache しか選択出来ませんが、4.4 を選択すると Apache と Nginx が選択出来ました。 今回は「Zabbix 4.0 LTS + CentOS7 + MySQL + Apache」構成としました (Amazon Linux2 ベースなので、OS には CentOS7 を選択しました)。

file

Amazon Linux2 でポート変換する

AWS の EC2 インスタンスは複数の ENI (≒ NIC) を割り当てたり、ひとつの ENI に複数のプライベートアドレスを割り当てることが可能です。 「何個割り当てられるか?」はインスタンスタイプによって異なり、大型のインスタンスである程、最大数も増えます。 t2.nano や t2.micro でも「ふたつまでの ENI」「ひとつの ENI にふたつのプライベートアドレスまで」設定することが可能です。 例えば「ひとつの ENI にふたつのプライベートを割り当て」た状態で firewalld のポート転送機能と組み合わせると、以下のようなトラフィックフローを実現することが可能です。

file

今回は実際にこの設定を行う手順をメモしておきます。