タグ付けされた質問 「amazon-web-services」

アマゾンウェブサービス(AWS)全般に関する質問。特定のAmazon Webサービスに関する質問の場合は、そのタグを使用してください(例:[amazon-s3]、[amazon-ec2]、[amazon-ecs]、[aws-codedeploy])。

1
Amazon Cognitoをバックアップする方法は?
Amazon Cognitoは、Amazon Webサービスを通じてAmazonが提供するユーザー管理および認証サービスです。 Amazon Cognitoを使用すると、ユーザーのサインアップとサインインをモバイルアプリとウェブアプリに簡単に追加できます。Amazon Cognitoを使用すると、Facebook、Twitter、AmazonなどのソーシャルIDプロバイダー、SAML IDソリューション、または独自のIDシステムを使用してユーザーを認証するオプションもあります。さらに、Amazon Cognitoを使用すると、ユーザーのデバイスにローカルにデータを保存できるため、デバイスがオフラインの場合でもアプリケーションを動作させることができます。その後、ユーザーのデバイス間でデータを同期して、ユーザーが使用するデバイスに関係なく、アプリのエクスペリエンスの一貫性を保つことができます。 効果的に行っているのは、Amazonがホストするクローズドシステムに顧客データを保存することです。ソーシャルネットワークなどの企業の場合、データが組織内の重要な資産を表しているのは、このデータが以下から保護されていることを確認する方法です。 Amazon Cognitoが予期せずシャットダウンされました。つまり、法執行機関または政府機関からの要求に応じて。 アクセスキーが侵害され、一部またはすべてのレコードが破損しています。 組織とAmazonの関係は、Amazonがすべてのサービスを直ちに撤回するポイントまで分解します。 Amazon Cognitoは特に難しいソフトウェアを必要とし、実装を容易にするため、組織と開発者にとって大きな利点です。サービスの運用性の観点から、企業資産に対するリスクを常に軽減、修正、または受け入れる方法を見つける必要があります。

1
サービス制限警告のAWS Trusted Advisorアラートを設定するにはどうすればよいですか?
Trusted Advisorのサービス制限のいずれかがWARNまたはERRORステータスになったときに、AWSが私にメールを送信してほしいだけです。私は彼らのガイドを確認し、サポートとチャットしてみましたが、誰もそれを実現することはできないので、私はここに連絡しています。 使用事例 多くのEC2インスタンスとCloudFormationスタックを起動し、すべてが多くのリソースを使用します。どういうわけか、私たちは常に検証スプリントの真ん中で知らない制限に達し、AWSが私たちの制限にぶつかるのに甘い時間を費やしている間、1時間ブロックされました。サービス制限の1つに近づいているときに、メールでdevopsに何らかのイベントを設定したいのですが。週に1回程度の頻度でチェックしても問題ありませんが、そのような細分性が可能であれば、1日に1回のほうが望ましいでしょう。 試み CloudWatchイベントを設定しようとしましたが、サービス制限が更新されたときにメールで通知するしかありませんでした。 オプション AWSの内部にはデフォルトの機能がないとサポートから言われたので、カスタムイベントオプションを探しています。または、可能であれば、Jenkins2とAWS CLIを利用するものも受け入れます。Jenkinsを使用する方法であれば、メールを送信する必要はありません。答えが変わった場合、私はおそらくdevopsチャネルを緩めるでしょう。

1
RabbitMQクラスターからデッドノードを自動的に削除する方法
接続をポイントするフロントエンドとしてAmazon内部ロードバランサーを備えたAWS VPCでAnsibleを使用してRabbitMQクラスターを作成することを計画しています。 ノードが上下する自動スケーリングルールに基づいて、RabbitMQクラスターからデッドノードを削除する方法、またはスポットインスタンスを使用している場合の提案はありますか? ノードがダウンしても、RabbitMQはそれをレプリケーションリストから自動的に削除しませんNode not running。管理UIで確認できます。 Ansibleとユーザーデータを介して、スケーリングされたインスタンスをクラスターに自動的に参加させることができました。

1
Elastic BeanstalkはエンタープライズグレードのCDに適していますか?
私はJenkinsを使用してマイクロサービスを構築し、Elastic Beanstalkにデプロイしているプロジェクトで作業しています。統合ブランチをテスト環境にデプロイし、ブランチをステージング環境にリリースしてから、最終的なマスタービルドを本番環境にデプロイします。私はこの方法でそれを行うことにいくつかの懸念があります。最初に、環境ごとにプロジェクトごとに1つのビルドのマトリックスが作成され、作業が重複することを意味します。2つ目は、ステージングで検証されたものと同じビルドアーティファクトを本番環境にデプロイしないことです。 私はBeanstalkを放棄して、デプロイメントにChefのようなものを使用してプレーンなASGに移行する傾向があります。これにより、プロジェクトごとに1つのビルドが作成され、ビルドアーティファクトが生成されます。ステージングで承認されたプロダクションに同じアーティファクトをデプロイできます。ただし、移行の前払いコストはさほど重要ではありません。より信頼性が高く、管理が容易なCI / CDを可能にするBeanstalkをよりよく使用する方法はありますか? 注:同じビルドアーティファクトをプロモートすることはまさに私がやりたいことですが、ドキュメントからはそれを行う明確な方法がわかりません。アプリソースからEBにデプロイする方法について説明していますが、既存のバージョンを別の環境に昇格させる方法については説明していません。EB自体で使用できる場合、Jenkins EBデプロイメントプラグインに制限があり、それが特にJenkinsで実行できないようになっている可能性がありますが、その方法はまったくわかりません。

2
AWS設定への変更を追跡する方法は?
AWSシステムに加えた変更を追跡する方法はありますか? たとえば、natの使用からiwgへのサブネット設定の変更-これらはメッセージを表示してから消えます。 AWSにログを作成して、いつ、何が、いつ変更されたかを追跡できるようにする方法はありますか? 現在最も近いのはElasticBeanstalkイベントですが、それでもAWSが何をしたかがわかるだけで、イベントを発生させるために変更された設定はわかりません。

6
EC2インスタンスの死の抱擁を防ぐ方法は?
アプリストアでiOSアプリを使用していて、最近、EC2でホストされているランディングページへのトラフィックが急増し、ページが応答しなくなったため、幸い、インスタンスを再起動して、 t2.medium。 今私は、同じ死を再び防ぐための技術を実装するために誰かを雇うことを探しています。私の経験では、基本的なdevopsのことは理解できますが、AWSでのロードバランサーには不十分です。インスタンスの手頃な実装とは何かを知りたいのです。 ランディングページとiOSアプリのバックエンドが同じインスタンスでホストされています。

1
AutoScalingグループの状態でのスケーリングポリシーによる、必要な容量の変更をどのように管理できますか?
AutoScalingグループの状態のスケーリングポリシーによるTerraformの望ましい容量の変更をどのように管理できますか? 具体的には、I提供仮定aws_autoscaling_groupリソースとテラフォームとdesired_capacity 4のと高いCPU使用率にスケールアップポリシー。その後、自動スケーリンググループはスケーリングポリシーを介して希望の容量6に更新されましたが、この状態はterraform .tfstateにキャプチャされません。 テラフォームを介して自動スケーリンググループの状態を後で変更したい場合、(。tfで変更されていないため)desired_capacityをリセットせずに変更するにはどうすればよいですか?どういうわけか、現在のグループサイズと一致するようにdesired_capacityの更新を自動化できますか、それとも、desired_capacityをまったく設定しないでください。


4
AWSで未使用のリソースを追跡するにはどうすればよいですか?
しばらくAWSを使用しています。AWSリソースとそれらがどのように相互接続されているかを追跡するのは常に困難です。明らかに、私はTerraformを使用していますが、それでも、私の可視性を低下させる特別な操作が常にあります。 存在しているが使用していないリソース/サービスに対して複数回課金されたため。 未使用のサービスには、他のサービスを指していないがAWS環境に存在するリソースが含まれます。 ツールの提案も歓迎します。

2
自動スケーリングされたグループでデータベースの移行を実行する方法
モノリシックアーキテクチャから自動スケーリンググループに移行しようとしていますが、データベースの移行をどのように実行すればよいかわかりません(Laravel)。 新しいボックスがオンラインになったときにスクリプトが実行されると思います。これにより、最新のコードがgit pullされます。このスクリプトでデータベースの移行も実行する必要がありますか?1つのボックスだけで実行する方法がわかりませんか?

1
Kubernetes Service LoadBalancerサービスからのBackendConnectionErrorsのデバッグ
最近、一部の本番インフラストラクチャをKubernetesに移動しました。LoadBalancerAWSのサービスを通じて多くのポッドが公開されています。これにより、ELBが作成され、クラスター内の各ノードがELBに登録され、ELBポートをポッドにマップするようにノードポートが構成されます。私たちのアプリケーションはロードバランサー経由で接続できますが、BackendConnectionErrors(cloudwatchによって報告された)量はリクエスト数の5-7倍です。これをデバッグする方法がわかりません。 報告されたバックエンド接続エラーの数は、アプリケーションレイヤーのエラーメトリックと相関していません。これにより、ある種のインフラストラクチャの問題がおそらく再試行によって増幅されていると結論づけることができます。ただし、この問題のデバッグ方法がわかりません。 私の仮説はこれらの1つまたは両方です。 接続管理のためにELBに欠けているいくつかの奇妙なAWS設定 クラスター内のノードには、sysctl設定またはELB経由の接続の量をブロックするその他のネットワーク構成があります いくつかの中間的なネットワークインフラストラクチャが接続を乱しています。 私の質問は、クラスター内のインスタンスのTCP /ネットワーク関連のメトリックをデバッグ/トレースするにはどうすればよいですか? 問題のCloudWatchメトリックスに関する詳細情報。

2
100の同一のDockerマシンをAWSで起動する最良の方法は?
システムで大規模なテストを行う必要があります。システムは、マネージャーとノードの2つの主要部分で構成されています。マネージャー・サーバーは1つだけですが、ノードは100になります。マネージャーとノードはどちらもDockerイメージです。 ノードの100のインスタンス(サーバーごとに1つのインスタンス)が開始されるAWSでセットアップを起動できるようにしたいと思います。 これには何を使用しますか?マネージャーとノードは一緒に通信できなければならず、ノードはいかなる方法でも負荷分散されるべきではありません。そのため、マネージャーが通信できる専用の内部IPが必要です。 ECSとCloudFormation + EC2をカスタムAMIで確認しましたが、どうすればよいかわかりません。 理想的には、サーバーを起動して簡単に閉じるために、たまに実行できるスクリプトが必要です。 このセットアップを簡単に開始するためにAWSで何ができるかに関する提案はありますか?

2
すべての状態を失うことなく、Terraformによって管理されるRedisクラスターにシャードを追加する方法は?
TerraformでRedisクラスターをセットアップしました。セットアップは次のようになります。 resource "aws_elasticache_replication_group" "instance" { replication_group_id = "test" node_type = "cache.t2.micro" port = 6379 parameter_group_name = "default.redis3.2.cluster.on" subnet_group_name = "${aws_elasticache_subnet_group.instance.name}" security_group_ids = ["${aws_security_group.instance.id}"] cluster_mode { replicas_per_node_group = 0 num_node_groups = "${var.cluster_size}" } automatic_failover_enabled = true apply_immediately = true } var.cluster_size2から3 に変更すると、Terraformが更新を適切に実行することを期待していました。ただし、そうではありません。 -/+ module.groupsign_redis.aws_elasticache_replication_group.instance (new resource required) id: "test" => <computed> …

2
同じサブネットでAWS内部ロードバランサーを呼び出すアプリケーションがタイムアウトになる
背景: Amazonのvpcを使用して、やや複雑なネットワークを作成しました。2つのアベイラビリティーゾーンにまたがる3層ネットワークです。各レイヤーは、zone-aとzone-bにサブネットを持っています。プレゼンテーション層は上部にあり、アプリケーション層は中央にあり、コア層は下部にあります。 すべてのセキュリティグループとサブネットのACLは現在、すべてのインバウンドおよびアウトバウンドトラフィックを許可しており、問題の表面領域を減らすのに役立ちます。 プレゼンテーション層のルーティングテーブルは、すべてのトラフィックをインターネットゲートウェイに向けています。NATゲートウェイは分離されたサブネット内にあり、すべてのトラフィックをインターネットゲートウェイに向けています。 私のアプリケーションには、UI(React.js)とAPI(Node / Express)の2つのコンポーネントがあります。これらは、Dockerイメージとして展開されます。それぞれの前には、古典的なロードバランサーがあります。 UI-ELBはインターネットに面し、プレゼンテーションレイヤーに常駐し、トラフィックを80/443からポート8080にルーティングし、アプリケーションレイヤーサブネットに配置されている私のapp-ec2に関連付けられています。 私のAPIの前には内部ロードバランサーがあります。API-ELBはアプリケーション層(app-ec2と同じサブネット内)にあり、ポート80/443のトラフィックを受け取り、ポート3000のコアのapi-ec2にルーティングします。 どちらのロードバランサーも、インスタンスにトラフィックを渡す前に証明書をオフロードしています。 私は両方のロードバランサーをRoute53でエイリアスとして関連付け、アプリケーションできれいなURL(https://app.website.com)で参照しています。各ロードバランサーは、定義されたヘルスチェックに合格し、使用中のすべてのec2インスタンスを報告します。 最後に、APIで、cors nodejsパッケージを使用してcorsを有効にしました。 これが私のネットワークの簡単で汚い図です。 問題: APP-ELBは私をアプリケーションに正常にルーティングします。ただし、アプリがGETリクエストをAPI-ELBに送信しようとすると、最初にエラーコード408でタイムアウトするOPTIONSリクエストが送信されます。 変になるところ デバッグ中に遭遇した奇妙なことのいくつかは次のとおりです。 app-ec2インスタンスにSSH接続して、API-ELBに対して正常にcurlを実行できます。私は多くを試しました、そしてそれらはすべてうまくいきます。いくつかの例は以下の通りですcurl -L https://api.website.com/system/healthcheckとcurl -L -X OPTIONS https://api.website.com/system/healthcheck。常に必要な情報を返します。 アプリケーション全体をネットワークからパブリックデフォルトvpcに移動しましたが、想定どおりに機能します。 すべてのネットワーク要求をコンソールに書き込むapi-ec2があります。ヘルスチェックリクエストは表示されますが、app-ec2からのリクエストは表示されません。これは、トラフィックがapiに到達していないことを私に信じさせる。 本当に私を完全に失った最大のことは、内部api elbのカーリングが機能することですが、同じ正確なURLへのaxiosリクエストは機能しません。これは私にはまったく意味がありません。 私が試したこと 私は当初、ACLルールとセキュリティグループで遊んでいて、何か間違ったことをしていると思っていました。結局、私は「ねじって」と言って、すべてを開いて、その部分を方程式から外そうとしました。 私はAPIでCorsをいじるのに多くの時間を費やしてきました。最終的に、私が持っている構成に着陸しapp.use(cors())ます。これは、corsノードパッケージによって提供されるデフォルトのコールバックです。app.options('*', cors())ドキュメントで推奨されているものも含めました。 私は太陽の下ですべてをググっていますが、具体的にはエルブでいくつかの特別なカスタムヘッダーを定義する必要があるかどうか?しかし、何かを見つけることができないようです。さらに、アプリをネットワークの外に移動したところ、問題なく動作しました。 私は他にもたくさんのことを試したと思いますが、これらが最も適切なようです。何が欠けていますか?これは非常に曖昧で広範な問題であり、膨大な投稿になる可能性があることは承知していますが、それを読む際の洞察と時間に感謝します!

3
分散システム設定でのSQSメッセージの公平な分散を確実にする方法は?
複数のサーバーがあり、それぞれにSQSキューをポーリングするスクリプトがあります(すべて同じキューをポーリングします)。 それで、それらすべてのクライアント(つまり、ここの私のワーカーサーバー)へのメッセージの公平な配布を保証できる方法はありますか?たとえば、キュ​​ーに100のメッセージがある20-20-20-20-20場合、5つのワーカーがある場合などです。 AWS ELB(Elastic Load Balancer)はそれを行うのに役立ちますか?はいの場合、どのように?そうでない場合、AWSエコシステムには、私がそれを行うのに役立つ代替サービスがありますか? それとも私はこれを考えすぎていますか?つまり、これはポーリングスクリプトで直接解決できますか?[複数のクライアントが単一のキューをポーリングすることによる競合状態に注意してください]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.