EC2(Elastic Compute Cloud)


Auto Recovery: ステータスチェックが失敗した時に、自動復旧

記事:


ec2内から認証情報にアクセスできない


プレイスメントグループ


AZ毎の違い


EC2の休止(ハイバネート)


Auto Scaling


Spot Instance: RIより安いが、指定価格によって終了する


トラブルシューティング


EC2が起動できない場合


kernel panic:


EBS operational issueの場合

  1. EC2をstop
  2. 問題のEBSを選択し、右クリック > スナップショット作成 わかりやい名前を付ける。(<hostname>-root, <hostname>-ebs1等)
    • snapshot作成に失敗する場合があった。「An internal error has occurred」
  3. 古いEBSは削除

Instance Connect: SSHの接続をIAMで管理


Nitoro世代インスタンスとNVMeデバイス

m5, t3シリーズ等。


暗号化


インスタンスタイプ選定


WindowsServer


Private SubnetのEC2に接続する

Private Subnet上のEC2はPublic IPを割り当てても通信できない。


削除


CPU stealが高い


セキュリティグループ


タグ付け


EC2の強制停止


Public DNSとPrivate DNSの自動変換


ベンチマーク


SSHログインできない場合

AWSの場合、ssh設定ファイルを間違えたり、iptablesを間違えたりするとsshログインできなくなる。
他のクラウドでは管理画面からターミナルを開けたりするので最悪そこから編集できる。

  1. 問題のEC2のEBSルートボリュームのスナップショットを作成。停止できるなら、停止してルートEBSを外しても良い
  2. 新規で調査用EC2を作成
  3. EBSスナップショットからEBSを作成し、調査用インスタンスにアタッチ
  4. 調査用EC2でマウントして、調査する
  5. 修正できるなら、問題のEC2のルートボリュームを作成したEBSと入れ替えて起動

cloud-init: EC2起動時にコマンド実行


グローバルIPを取得


NTP


EBSスナップショットの別リージョンへのコピー

今まで面倒だったEBSスナップショットのリージョン間のコピーが ec2-copy-snapshot で出来るようになった


fdiskでEBSインスタンスのROOTデバイスを拡張


IAM ROLE(ec2 instance profile)を使う


AMIをPVからHVMへ変換

仮想化方式の違いで、PV, HVMがある。


t2/t3シリーズ


Root Deviceをinstance storeからEBSに変換する

試行錯誤の結果、rsyncでは失敗し以下の方法で成功した。
EC2起動に失敗する場合、EC2起動時のstatus checkが1/2等になっていた。

  1. 移行対象サーバにec2-ami-toolsのインストール
    wget http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip
    unzip ec2-ami-tools.zip
    rm ec2-ami-tools.zip
    ln -s ec2-ami-tools-1.4.0.9 ec2-ami-tools
  2. instance storeのイメージをephemeral diskに作成
    export EC2_HOME=~/ec2-ami-tools
    ~/ec2-ami-tools/bin/ec2-bundle-vol -r x86_64 -e /mnt -d /mnt/ -k ~/.aws/pk.pem -c ~/.aws/cert.pem -u 000000000000
  3. 新しいEBS volumeを作成し、インスタンスにattach
    • AZ: インスタンスと同じ
    • device: /dev/sdf
    • size: 10GB
  4. イメージからEBSに書き込み
    time dd if=/mnt/image of=/dev/sdf
    real    32m42.451s
    
    fsck /dev/sdf
    
    rm -f /mnt/{image,image.*}
  5. EBSをdetach
  6. EBSからsnapshotを作成
  7. snapshotからAMIを作成
    • Kernel ID: aki-xxxxxxxx, RAM Disk ID: ari-xxxxxxxx を元のEC2と同じに合わせる必要がある。特に指定が無い場合は default
  8. AMIからEC2インスタンスを起動
  9. 使い終わった10GBのEBSは削除して良い

EC2 AMI作成時に"The parameter iops is not supported for standard volumes."

  1. 他の同じ構成のインスタンスでは発生せず。このインスタンスだけ
  2. AMI 作成時に10GB EBSをRemoveすると作成できた
  3. 作成したAMIからEC2を起動し、後からEBS 10GBを付与したインスタンスに対して、AMI作成はできた

EC2でELBのヘルスチェックを許可


instance metadata: EC2インスタンス内で取得できる値

# GETが無い場合、curl/wgetでも取得可能
# 取得できる値一覧
curl -s -m 1 http://169.254.169.254/latest/meta-data/

# availability-zone (ap-northeast-1a)
curl -s -m 1 http://169.254.169.254/latest/meta-data/placement/availability-zone

# ユーザデータの取得
curl -s -m 1 http://169.254.169.254/latest/user-data

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-03-31 (木) 10:37:33