![](https://habrastorage.org/files/d04/16f/318/d0416f318ef34666b79dc94b80a16088.png)
クリスマスの時期は、私たちにとって一杯で面白いことがわかりました。 わずか1か月で、Deploy4Meの2番目のリリースを準備し、新しい計画で新年を迎えることができました。 Deploy4Meリリースは、サービスに大幅な補充をもたらしました。 DigitalOceanのサポートを追加し、美しい写真を手に入れ、視覚的な伴奏をわずかに変更しました。 サービスを試してクラウドにサーバーを設置するのがさらに簡単になりました。
DigitalOceanとの統合は、期待したほどエレガントではなく、このクラウドプラットフォームの作成者が述べたほど単純ではありませんでした。 結局のところ、テストされたすべてのAPIが同等にテストされるわけではありません。 私はこの知識を共有したい-突然、誰かがサイトを選ぶときに助けてくれるだろう。
Deploy4Meはビジネスソフトウェアをクラウドに展開するためのサービスであることを思い出させてください。 クラウドプロバイダーの知識とそれらとの統合は、私たちのパンであり、緊急のニーズです。 サービスが解決するタスクには、仮想マシン、ネットワーク、およびセキュリティ設定の作成タスクがあります。 これが、DigitalOceanとの統合の経験がこれらの3つのタスクに関連付けられている理由です。 しかし、まず最初に。
それはすべて、前の記事の公開から始まりました。良い人たちは、より多くのクラウドを求めました。 人気のあるプロバイダーの1つを選択して、DigitalOceanを接続することにしました。 会社は若く、野心的であり、私たちに思われたように、急速に成長しています。 開発者への注意を宣言し、ほぼすべてのプログラミング言語にAPIを提供します。 ドキュメントが利用可能であり、OAuthサポートが強く惹かれます Amazonとの統合の経験から、ユーザー資格情報を見つけることは非常に不快な瞬間になる可能性があります。 それで、仕事は沸騰し始めました。
OAuthについて
開発者向けに、DigitalOceanは、ログイン/パスワードのペアを介した接続に加えて、APIを操作するためのOAuthトークンを提供します。 コントロールパネルで、アプリケーションのURLを登録し、クライアントIDとクライアントシークレットの一意のペアおよびユーザーのリンクを取得できます。 リンクを介して、ユーザーは接続を許可し、アプリケーションは認証コードを受け取ります。 このコードとクライアントID /クライアントシークレットのペアは、OAuthトークンを提供します。 トークンは、ユーザーに代わってサイトに接続し、仮想マシンを作成する30日間の機会を提供します。 トークンの有効性を拡張するために、トークンとともにリフレッシュトークンが提供されます。 そのため、ユーザーが権利を取り消すまで、DigitalOceanへの接続をアクティブに保ち、無期限に更新できます。
ところで、OAuthトークンは、APIがHTTPヘッダーとしてプレーンテキストで呼び出されたときに渡されます。 使用に関する制限はありませんでした。 したがって、すべての人がHTTPSを望んでいます。
私たち自身のために、テスト環境ごとに1つずつ、3つのアプリケーションを登録しました。 彼らはクライアントをダウンロードし、統合を開発し、...サポートとのコミュニケーションが始まりました。
APIについて
DigitalOceanは積極的に開発しています。 APIはクラウドの主要なタスクのための多数のRESTメソッドであるため、多くの開発が必要です。 一般的に、ホスティングサイトからセキュリティに関する記述を削除すると、APIがどれだけ不足するかは驚くべきことです。 これに対して、Amazonのコードの80%はセキュリティ、ネットワーク、ファイアウォール、およびDNSに関するものです。
APIの開発は、公式のDigitalOceanクライアントで迷惑なエラーにつながります。 そのため、APIバージョン2のリリースは、クライアントライブラリの安定性に影響を及ぼしました。 幸いなことに、コードは公開されており、3時間にわたるドキュメントの詳細な調査の後、.NETでクライアントを分岐および修正し、Ruby用の恐ろしい松葉杖を1つ作成しました。
カトリックのクリスマスでもサポートが最高であることが判明したと言う価値があります。コミュニティからの支援があり、これが最も重要なことです。
CloudFlareについて
3日間、私たちは驚くことなくテストを行いました。 4日には、すべての水曜日が崩壊しました。 安定したOAuthと若いAPIも機能しなくなりました。 サービス拒否および認証エラーが発生しました。 サポートは頑固に詳細を尋ね、私たちに指を向けました。 私たちは理解しました-ここがターニングポイントです。 その後、勝利または統合の完全な拒否。
プロバイダーのサイトを無意味にさまよう後、予期しないウィンドウがポップアップしました。 CloudFlareは、ページがロードされようとしていることを通知し、ロボットであるかどうかを確認するよう提案しました。 このメッセージを戸惑うと、私たちは登ってこの新しいサービスについて読みました。 新年の数日前にDOがCloudFlareの接続を決定したことが判明しました。 彼らがDDOSを持っているのか、それともCDNを望んでいたのかわかりません。 しかし、これはAPIに有害な影響を及ぼしました。
勝利の叫びですべての悪の理由を見つけたので、私たちはKaaとSherkhanの国のサポートスタッフに私たちのアートをすぐにオフにするよう奨励し始めました。 彼らはそれを信じませんでした。 彼らは白頭ワシの国からの助けを求めました。 これらの2つの呼び出しはAPIのCloudFlareを無効にし、私たちは安reliefのため息をつきました。
コミュニケーションの過程で、奇妙な事実が明らかになりました。 DOのメンバーは、なんとなくRackspaceに近いです。 誰かがそこで働き、誰かが彼らにコメントを書き、誰かがコードをコミットしました。 これにほぼ同一のエラーメッセージを追加すると、陰謀論にぶつかります。 DOは、アメリカ市場向けのRackspaceの美しいブランド変更であるという感覚がありました。 これについての証拠はないため、何も証明できません。
セキュリティについて
Cloud Security DOは、アクティビティの分野からのものです。 つまり、それはあなたの裁量によるものです。 プロバイダーはファイアウォールを提供せず、ネットワークゲートウェイを提供せず、インターネットからサーバーを閉じません。 ドキュメントで提案されている解決策のうち、唯一の健全な点は、各サーバーでiptablesを構成し、プロキシサーバーを備えた別のマシンからすべての要求を開始することです。
しかし、彼らのホスティングは安いです...
さて、最後に:
DigitalOceanをDeploy4Meのプロジェクトに接続する方法
サーバーをDOにするには、 Deploy4Meに移動してログインし、[ 新しい展開を開始 ]をクリックします。 プロジェクトの名前を思いついたら、クラウドを接続します。
![](https://habrastorage.org/files/0b9/9b7/6e2/0b99b76e2d904fe5a9629c00e70c389b.png)
OAuthは素晴らしいことであり、人生を大幅に簡素化します。 3つの画面をスクロールする方が、プロバイダーの腸でキーを探すよりも簡単です。 しかし、すべてに代償があります:シンプル-常に安全とは限りません。
![](https://habrastorage.org/files/58a/2ac/d35/58a2acd351eb4f578b64ea627410b518.png)
DOに接続するためのウィンドウを閉じた後、すぐに認証コードが追加されます。これは以下の画面で確認できます。 これは、OAuthトークンを取得するために使用するコードです。
![](https://habrastorage.org/files/d88/9df/118/d889df118967448c9aad18322e88d851.png)
最後に必要なアクションは、Contuneボタンをクリックすることです。 接続が正しいことを保存して検証します。 その後、プロジェクトのインストールを続行できます。
![](https://habrastorage.org/files/c5c/974/3e1/c5c9743e10a646b2802466f28b85a96e.png)
次は?
いつものように、さらに-より多くのソフトウェアおよびクラウドプロバイダー。 提案と要望のシステムを更新しましたので、ここまたはコメントでソフトウェアと機能の提案に喜んで投票します。
読んでくれてありがとう