2017-01-30 17 views
1

私はElastic Beanstalk環境に関連付けられたRDSデータベースをスナップショットで復元するスクリプトを作成したいと考えています。 aws rds create-db-snapshotaws rds restore-db-instance-from-db-snapshotコマンドにプラグインするRDSインスタンスIDを取得するにはどうすればよいですか?Elastic Beanstalk環境でRDSインスタンスIDを取得するにはどうすればよいですか?

Webインターフェイスの[設定]タブに表示されていることがわかりましたが、シェルで実行されたコマンドを使用して取得したかったのです。

答えて

1

Elastic Beanstalkアプリケーションを構成するときにRDSインスタンスを構成することはできますが、実際には連携していません。どちらもVPCで実行できますが、それだけで実際のグループ化は可能です。 RDSを他のものにも簡単に使うことができます。

aws rds describe-db-instancesのような名前を使用して、RDSインスタンス情報とインスタンス名(application1-ebs-rds)を組み合わせてRDSの場所を特定することができます。

+0

私の直感を確認していただきありがとうございます。両方ともvpcで動作しています –

0

あなたは、DBインスタンス識別子を含める必要があります...この方法あなたの歴史の中でのイベントの

aws elasticbeanstalk describe-events --environment-name your_environment_name 

一つのイベントの歴史を得ることができる...

{ 
    "ApplicationName": "some-app", 
    "EnvironmentName": "some-env", 
    "Severity": "INFO", 
    "RequestId": "some-ref-id", 
    "Message": "Created RDS database named: some-db-instance-identifier", 
    "EventDate": "2017-01-30T23:23:37.734Z" 
}, 

その後、それは仕事のビットだというメッセージ文字列を取り、ここで使用するDBインスタンス識別子を取得...

aws rds create-db-snapshot --db-instance-identifier some-db-instance-identifier --db-snapshot-identifier name-of-snapshot 

ことができます。 :)私が見つけた

0

最も簡単な方法は、$ eb ssh {environment-id}

  • 実行RDSインスタンスIDを取得するためのSSH端末から次のコマンドを使用してインスタンスには、次の手順に

    1. SSHが含まれます。

      $ sudo /opt/elasticbeanstalk/bin/get-config environment --output YAML | grep RDS_HOSTNAME | sed -n "s/^RDS_HOSTNAME: \([a-z0-9]*\).*$/\1/p"

    上記のコマンドRDS_で始まり、RDS_HOSTNAME変数のgrepsを含む特別な環境変数を含む使用可能なすべての環境変数を取得し、必要な値をsedで抽出します。

  • 関連する問題