カテゴリー: Windows Server

  • AWS で RSBASE 動作環境を構築した一日:S3・EC2・DNS・AMI までの実録ログ

    今日は、自分が以前運用していた医療用ファイリングソフト「RSBASE」を、AWS 上の Windows Server に構築する作業を進めた。
    ローカルでは長年扱ってきた環境だが、AWS でゼロから構築するとなると、
    S3、IAM、EC2、ストレージ、DNS と幅広い知識が求められ、なかなか濃い一日になった。


    1. S3 バケットの作成とローカル → AWS へのファイル転送

    RSBASE 本体はフォルダ構造が重要で、そのまま EC2 に持っていく必要がある。
    当初は Windows から aws s3 sync を使って直接コピーしようとしたが、
    ディレクトリ構造が崩れてしまう問題が発生

    ▶ Synce失敗例(階層が壊れる)

    aws s3 sync E:\ s3://aws-yasuda-work-bucket-tokyo/installers/
    

    数万ファイルをコピーしたが、
    「リンク」「ショートカット」「一部のディレクトリ」などが乱れ、
    RSBASE のように “素の構造” が命のソフトでは致命的。


    2. 解決策:ZIP 化して S3 へアップロード

    最終的に取った方法はとてもシンプル:

    ✔ 圧縮(ZIP)

    → アップロード
    → EC2 で解凍して配置

    ZIP 化したところ約 3GB にまとまり、確実にコピーできた。

    ▶ アップロードコマンド

    aws s3 cp .\rsbase.zip s3://aws-yasuda-work-bucket-tokyo/installers/
    

    ▶ EC2 側でダウンロード

    aws s3 cp s3://aws-yasuda-work-bucket-tokyo/installers/rsbase.zip .
    

    この方式が一番安定し、S3 の PUT/GET の課金も最小に抑えられる。


    3. EC2 Windows Server のセットアップ

    ✔ IAM ロール(S3 アクセス権)を追加

    途中、Unable to locate credentials が出ることもあったが、
    EC2 の IAM ロールが正しく設定されていれば認証情報は不要。

    ▶ 反映確認コマンド

    aws sts get-caller-identity
    

    結果が以下になっていれば EC2 が IAM ロールを使っている状態:

    "Arn": "arn:aws:sts::<アカウントID>:assumed-role/EC2-SSM-Role/i-xxxxx"
    

    4. EBS 増設(Eドライブ)

    構築開始後に気づいたが、
    初期構成では C ドライブしかなく RSBASE を置くには狭い。
    そこで EBS を 20GB 追加し、Eドライブとして利用。

    手順:

    1. EC2 → ボリューム → 新規作成
    2. 「アタッチ」
    3. Windows でディスク管理 → 初期化 → NTFS でフォーマット

    5. RSBASE の配置と動作確認

    ZIP を解凍し、必要なパスへ配置。
    RSBASE の Apache を起動すると EC2 内では正常動作 を確認。


    6. ローカル PC からのアクセス:80番を開ける

    EC2 のセキュリティグループに Windows Server 用に HTTP(80) を追加。

    ただし、全世界に開放するのは危険なので
    MyIP(自身のグローバルIP限定) に設定。

    Windows Firewall も忘れずに

    GUI から

    受信の規則 → 新しい規則 → TCP 80 → 許可
    

    設定後、ローカルPCから

    http://<EC2のパブリックIP>
    

    でアクセス成功。


    7. Elastic IP(固定IP)を割り当てる

    一度アクセスできても、EC2 の再起動で IP が変わるので、
    Elastic IP を割り当てて固定化した。

    割り当て後、次のように表示されていれば OK。

    パブリック IPv4: 〇〇〇.〇〇〇.〇〇〇.〇〇〇(Elastic IP)
    

    8. DNS 設定(Route53 → お名前.com DNSへ切り替え)

    本命は Route53 に移すことだったが、
    お名前.com のドメインが「ネームサーバの変更不可状態」 になっており移行できなかった。

    理由:
    レンタルサーバ(WordPress)が同じドメインを使っており、
    ネームサーバ変更がロックされていたため。

    そのため、今回の方法:

    お名前.com の DNS に A レコードを追加する方式へ変更

    rsbase.medical-engineering.jp → <Elastic IP>
    TTL:600
    

    反映は最大 24 時間程度。


    9. バックアップ(AMI 作成)

    最後に EC2 の AMI を作成。
    説明文に日本語を入れるとエラー:

    Character sets beyond ASCII are not supported.
    

    対策:
    → 英字のみで AMI 名・説明文を入力
    → 再作成して成功。

    AMI 作成中はインスタンスが再起動される場合があるが問題なし。


    まとめ:今日の成果

    • S3 による RSBASE 配布方式の確立
    • EC2 Windows Server で RSBASE 動作確認
    • EBS 増設で十分なストレージ確保
    • HTTP 公開と Windows Firewall 設定
    • Elastic IP により固定アクセスが可能に
    • DNS は Route53 ではなく お名前.com DNS を継続使用
    • AMI を作成し、復元可能な状態になった

    AWS の基礎からネットワーク、バックアップまで
    一通りの構築作業を実践できた濃い日となった

    明日は DNS が浸透しているはずなので、
    http://rsbase.medical-engineering.jp/ でアクセスできるのを楽しみにしたい。