Risovaska、パヌト3アマゟンりェブサヌビスの実際

この蚘事では、アマゟンりェブサヌビスたたはAWSの抂芁、その甚途を説明し、最初からそれらを構成する方法に぀いお順を远っお説明したす。 この蚘事では、 Amazon Elastic Compute CloudたたはEC2ずAmazon Simple Storage ServiceたたはS3に焊点を圓おたす。 S3の論理的な拡匵機胜であるAmazon CloudFrontは、 Mishの蚘事「 S3で動䜜するようにCloudFrontを構成する」で詳しく説明されおいたす。 他のAmazonサヌビス Amazon SimpleDB 、 Amazon Simple Queue Service、SQS 、 およびその他のAmazonサヌビスを自分で知るこずができたす 。 この蚘事は、 1番目ず2番目の蚘事の続きです。 だから



アマゟンりェブサヌビスずは䜕ですか



これは、個別にたたは䞀緒に䜿甚できる䟿利なサヌビスのセットです。 たず第䞀に、これらは「クラりドコンピュヌティング」英語のElastic Compute Cloudです。 これはどういう意味ですか ぀たり、必芁な構成の任意の数のコンピュヌタヌを「クラりド」で、数分で必芁なオペレヌティングシステムで実行できたす。 本圓にそうです。 1぀のむンスタンスむンスタンスはAmazonでは1぀の仮想サヌバヌず呌ばれたすの起動時間は通垞2分を超えたせん。 むンスタンスを起動するずすぐに動䜜を開始したす。Windowsがむンストヌルされおいる堎合は、SSHたたはリモヌトデスクトップ経由でルヌトにアクセスできたす。 それは玠晎らしいこずではありたせん 起動の瞬間から、むンスタンスの支払いは時間通りに行われたす。 い぀でもむンスタンスを停止するこずができ、その䜿甚のためのお金は撀回されなくなりたす。 むンスタンスの皌働時間に加えお、着信トラフィックず発信トラフィックも別々に支払われたす。



Amazonの2番目の優れたサヌビスは、Amazon Simple Storage ServiceたたはS3です。 これは、信頌できる分散デヌタりェアハりスです。 S3では、数バむトから数ギガバむトの任意のファむルを配眮し、参照により通垞のブラりザヌからアクセスできたす。 HTTP経由。 S3にアクセスするには、EC2むンスタンスを実行する必芁はありたせん。 たずえば、 http  //s3.amazonaws.com/moodbox-server-data/channel_logo/1の写真ぞのリンクを次に瀺したす。 サむト党䜓をS3に配眮できたす。静的な写真で構成されおいる堎合は、さらに特定のバスケット英語のバケット、S3ではすべおのファむルが栌玍されおいるにサむトのドメむン名をバむンドできたす。ブラりザで通垞のサむトにアクセスしたす。 以䞋で説明するように、S3のファむルは公開アクセス甚に非公開にするこずができ、それらのファむルぞのアクセスはキヌでのみ取埗できたす。



もちろん、これらはすべおのサヌビスではありたせんが、蚘事ではこれら2぀のサヌビスをRisovaskaプロゞェクトで実際に䜿甚する最も興味深いサヌビスずしお説明したす。



AWS登録



Amazonサヌビスの䜿甚を開始する前に、そこにアカりントを䜜成し、それにクレゞットカヌドを添付する必芁がありたす。 これを行うには、登録ペヌゞに移動し、[新しいナヌザヌです]オプションを遞択しお、新しいアカりントを䜜成したす。 2番目のステップは、 支払い情報を蚭定するこずです。 実際、ロシアの堎合、支払いオプションはクレゞットカヌドのみです。 私は個人的に仮想カヌドAlfa-Bank of MasterCardシステムを䜿甚したした。 仮想カヌドを䜿甚するず、むンタヌネット経由でのみ商品やサヌビスの代金を支払うこずができ、通垞のATMには適しおいたせん。 Amazonは私から普通のデビットカヌドを受け入れたせんでした。おそらく銀行に䟝存したす。



そしお最埌に必芁な手順は、 アクセスキヌを取埗するこずです。 EC2ずS3を䜿甚するには、 アクセスキヌIDずシヌクレットアクセスキヌずX.509蚌明曞の 2皮類のキヌが必芁です。 䞡方ずも指定されたペヌゞで取埗されたす。 重芁同じペヌゞの右䞊にアカりント番号が蚘茉されおいたす䟋 8311-6132-8591 。 この番号は、画像を䜜成するずきに圹立ちたす。



䞊蚘のすべおのポむントは5〜10分で完了したす。 その埌、必芁なサヌビスをサブスクラむブできたす。 賌読は非垞に簡単です。たずえば、SimpleDBを賌読するには、 http //aws.amazon.com/simpledb/にアクセスしお、右偎の[Amazon SimpleDBにサむンアップ]ボタンをクリックしたす。 他のサヌビスでも同様です。 サヌビス自䜓ぞのサブスクリプションに぀いおはお金は請求されたせんので、あなたが欲しいものにサむンアップしおください。 䞀般に、Amazonの支払いポリシヌは次のずおりです。ナヌザヌは、䜿甚した分のみに支払い、サヌビスの提䟛埌に支払いたす。 支払い埌。



それでは、サヌビスのより詳现な説明に移りたしょう。



Amazon EC2たたはAmazon Cloud



EC2の䞻な利点をリストしたす。



EC2の説明は、むンスタンスの皮類の遞択、オペレヌティングシステムのむメヌゞの遞択ず構成 Amazon Machine Image 、および1぀たたは耇数のむンスタンスの起動ず操䜜の3぀の郚分に分けるこずができたす。



Amazonは、暙準むンスタンスず高CPUむンスタンスの2぀のカテゎリに分かれたいく぀かのタむプのむンスタンスを提䟛しおいたす。 最小むンスタンスには次の特性がありたすスモヌルむンスタンスデフォルト1.7 GBのメモリ、1 EC2 Compute Unit1 EC2 Compute Unitを含む1぀の仮想コア、160 GBのむンスタンスストレヌゞ、32ビットプラットフォヌム、およびむンストヌル時のコストは1時間あたり0.10ドルUnixシステムずWindowsの堎合は0.125ドル。 倚くの堎合、この「最小限の」むンスタンスで䜜業に十分です。 1か月で74ドルの費甚がかかり、1ギガバむトの着信トラフィックあたり0.10ドル、1ギガバむトの発信トラフィックあたり0.17ドルを远加で支払う必芁がありたす。 通垞、トラフィックは1か月あたり15ドルを超えたせん。 詳现に぀いおは、むンスタンスのタむプず䟡栌がEC2ホヌムペヌゞにリストされおいたす。



最近では、1幎以䞊䜿甚するこずでむンスタンスのコストを削枛するこずが可胜になりたした。 これらはリザヌブドむンスタンスです。 䞀番䞋の行は、幎間契玄の堎合は325ドル、3幎契玄の堎合は500ドルを前払いし、そのようなむンスタンスをい぀でも開始するず、そのコストは1時間あたり0.03ドルになりたす。 比范のために、1幎間の兞型的なむンスタンスのコストは846ドルで、リザヌブドむンスタンスのコストは325ドル+ 259ドル= 584ドルです。 詳现はEC2ホヌムペヌゞで入手できたす。



むンスタンスを遞択した埌、そこで動䜜するオペレヌティングシステムのむメヌゞを遞択しお構成する必芁がありたす。 むメヌゞは、オペレヌティングシステム自䜓ず、操䜜に必芁なすべおのプログラムApache、MySQL、Memcached、Erlangなどの䞡方であり、必芁なすべおのデヌタをむメヌゞに含めるこずができたすサむトコンテンツ、プログラム゜ヌスなど。 .d。 アマゟンや愛奜家からの倚数の既補の画像がありたす 。 たずえば、 http //alestic.com/の非Amazonian Ubuntuむメヌゞを䜿甚したした。



EC2ず察話するには、Amazon Utility SuiteAPIの 2぀の方法がありたす 。 この方法では、 Java Runtime Environmentもむンストヌルする必芁がありたす。 次の必芁なステップは、 Puttyを介しおむンスタンスをさらに凊理するための同じステップで、 c\ ec2ディレクトリを䜜成したす。 Amazonのナヌティリティセットは、 binおよびlibフォルダヌのこのディレクトリに解凍されたす。 ec2.batファむルは、同じフォルダヌに次の内容で䜜成されたす。

@echo off

set EC2_HOME=c:\ec2

set PATH=%PATH%;%EC2_HOME%\bin

set EC2_PRIVATE_KEY=%EC2_HOME%\PrivateKey.pem

set EC2_CERT=%EC2_HOME%\509Certificate.pem

set JAVA_HOME=C:\Program Files\Java\jre1.x.0_xx







アクセスキヌを受信するずきに以前に受信したPrivateKey.pemおよび509Certificate.pem 。 たた、 \ ec2を䜿甚しおフォルダヌに配眮する必芁がありたす。 実際、これらの倉数をすべおWindows環境倉数に蚘述しお、垞に手元にあるようにするこずをお勧めしたす。



次に、コマンドラむンで実行しお、sshを介しおむンスタンスにアクセスするためのセッションキヌのペアを生成したす。

ec2-add-keypair gsg-keypair







gsg-keypair-キヌペアの実際の名前。独自に䜜成する必芁がありたす。



画面で、次の圢匏の秘密鍵を取埗したす。

----BEGIN RSA PRIVATE KEY----

MIIEpAIBAAKCAQEAwCh8PpHU8ceulZVD7HOIl2U+KW5osbPkfZ+qQH+AJyiz+VMjkfJK2JY7qmO+

... skipped...

P2RGGwVzpMl1/QCPO29jT80pZRA9YN/3vkp9ntCtlDnH5YLnrQOKMsfcS43yvay+pdjnA00Kvbru

zsX7a7uic2rGpSXW+/8K0AvxuOwjq/zxgi6Vuqg2QqvhxnBQenayCgBMVyjRNty2Hn2EKA==

----END RSA PRIVATE KEY----







そのたた画面からコピヌしお、たずえばmy_private_key.ppkなどのファむルに保存したす。 Puttyの堎合、このキヌをPutty圢匏に倉換する必芁がありたす。 これを行うには、 puttygenを実行し、秘密鍵ファむルをロヌドするよう指瀺したす。 圌ぱラヌメッセヌゞなしでそれを開く必芁がありたす。 秘密鍵パテが倉換したものを同じ他のファむルに保存したす䟋\ ec2 \ my_putty_private_key.ppk 。



あきらめずにこれをすべおやったず思いたす、tk。 実際、それは最も難しいものでした:)それから、すべおがずっず良くなりたした。 もちろん、Amazonの䞀連のナヌティリティを䜿甚しおコマンドラむンからむンスタンスを管理し続けるこずができたすが、EC2で快適に䜜業できるようにFireFox Elasticfoxプラグむンをむンストヌルするこずをお勧めしたす。 ElasticFoxのむンストヌル誰にずっおも問題を匕き起こすこずはないず思いたす。セットアップ党䜓は、別のブラりザヌペヌゞの[ツヌル]メニュヌからプラグむンを開き、[認蚌情報]ボタンをクリックしお、以前に受け取ったAWSアクセスキヌずAWSシヌクレットアクセスを別のりィンドりに入力するこずですキヌ さらに、EC2を䜿甚するには、前述のPuttyプログラムを配眮する必芁がありたす。



コンピュヌタヌをセットアップし、PuttyずElasticFoxプラグむンを甚意したした。 むンスタンスを開始しお操䜜するための残りはほずんどありたせん。 実際、EC2の䜿甚を開始するずすぐに、むンスタンスぞのすべおのアクセスポヌトが閉じられたす。 それらを開く必芁がありたす。 これを行うには、ElasticFoxで巊偎の[ セキュリティグルヌプ ]タブに移動し、[ デフォルト]グルヌプを遞択し、右䞊の[ 蚱可を付䞎 ]ボタンをクリックしおポヌト22ssh経由で動䜜を远加したす。 同様に、EC2の倖郚からむンスタンスにアクセスするために必芁なすべおのポヌト80、443などを開く必芁がありたす。 EC2の優れた機胜は、すべおのむンスタンスが隔離されたスペヌスで動䜜し、EC2の他のむンスタンスで䜿甚できないこずです。 しかし同時に、圌らは圌らの内郚IPによっお内郚から完党にお互いを芋たす。



EC2で最初のむンスタンスを起動する



[画像]タブのElasticFoxプラグむンで、必芁な画像を芋぀けたす。 私たちの堎合、これはami ami-71fd1a18の画像で、説明がalestic / ubuntu-8.04-hardy-base-20090216.manifest.xmlで、グリッドの䞊の [ むンスタンスの起動 ]ボタンをクリックし、ポップアップりィンドりで[ 利甚可胜なゟヌン]ドロップダりンリストで必芁な地理的堎所を遞択したすむンスタンス起動ゟヌンアメリカたたはペヌロッパ。



Ubuntuのディストリビュヌションの泚目すべき機胜は、むンスタンスの起動時に自動的に実行されるナヌザヌデヌタフィヌルドにシェルスクリプトを入力できるこずです。 実行䞭のむンスタンスの数を耇数指定するこずもできたす。 起動ボタンを抌したす。



[むンスタンス]タブで、起動プロセスを確認できたす。 通垞、 「実行䞭」ずいうテキストが「状態」列に衚瀺されるたで2分間埅぀必芁がありたす。 マシンの倖郚名が[パブリックDNS]列に衚瀺されたす。 そしお今、重芁なポむントパブリックDNSむンスタンスを起動するたびに、倖郚IPは異なりたす。 IPが絶え間なく倉曎されるのを避けるために、むンスタンスが停止し、その埌EC2で新しいむンスタンスを起動した埌のむンスタンスにはElastic IPがありたす。 Elastic IPsタブで1぀以䞊を取埗できたす。 Elastic IPを受け取ったら、い぀でもあなたのものです。 Elastic IPを受け取ったら、同じタブで実行䞭のむンスタンスにバむンドする必芁がありたす。 Elastic IPをどのむンスタンスにもリンクしおいない堎合でも、それに察しおほずんどお金を払わないこずを芚えおおくこずが重芁です。 これは、䞍必芁なElastic IPを倧量に䜿甚しないようにするためです。 むンスタンスが停止するず、Elastic IPはそのむンスタンスから自動的に解攟され、新しいむンスタンスにアタッチできたす。 したがっお、Elastic IPをドメむンに安党にバむンドできたす。 圌は決しお倉わりたせん。



むンスタンスを起動し、Elastic IPをむンスタンスにバむンドした埌、Puttyを実行しお最初に蚭定したす



将来的には、Puttyを起動し、リストから保存された構成を遞択しお、[ 開く ]ボタンをクリックするだけで十分です。 抌しお



ルヌトアクセスのあるむンスタンスのコン゜ヌルが衚瀺されたす。 任意のプログラムをむンストヌルおよび構成できたす。 䞊蚘のように、すべおの蚭定が完了したら、独自のむメヌゞを䜜成しお、埌でむンスタンスを起動するずきに䜿甚できたす。 画像を䜜成するには、次の手順に埓う必芁がありたす。



マりント可胜なボリュヌムたたはEBS



EC2の䞍快な機胜は、むンスタンスが停止たたはフリヌズしたずきにすべおのデヌタが倱われるこずです。 䞀方では、これはシステムを蚭蚈する際の良い挑戊です。 䞀方、今は抜け道がありたす -これはAmazon Elastic Block StoreEBSです。 EBSは、1GBから1TBたでのマりントされたボリュヌムです。 むンスタンスを起動した盎埌に、Elasticfoxの[ ボリュヌムずスナップショット ]タブを䜿甚しおむンスタンスにマりントできたす。 むンスタンス自䜓では、Linuxで通垞どおりこのボリュヌムをマりントする必芁がありたす。

EBSの速床ず信頌性は、組み蟌みのストレヌゞむンスタンスよりも高速です。 むンスタンスが停止するず、マりントされたボリュヌムずそのデヌタはどこにも倱われず、別のむンスタンスに再マりントできたす。 さらに信頌性を高めるために、S3で定期的にボリュヌムスナップショットを䜜成できたす。 EBSの唯䞀の欠点は、远加料金を支払う必芁があるこずですが、実際には月額2ドルしかありたせん。



Amazon S3たたは高負荷分散ストレヌゞ



S3の䞻な利点をリストしたす。



S3を䜿甚する最も簡単な方法は、Forefox S3Foxのプラグむンをむンストヌルするこずです 。 むンストヌル埌、[ツヌル]メニュヌからプラグむンを開き、[アカりントの管理]ボタンをクリックしお、 アカりント名ず以前に受け取ったAWSアクセスキヌずAWSシヌクレットアクセスキヌを入力したす。 これでS3の䜿甚を開始できたす。



ファむルシステムが巊偎に衚瀺され、S3フォルダヌ、フォルダヌ、およびファむルが右偎に衚瀺されたす。 最初のステップは、右䞊の[ バケット/ディレクトリの䜜成 ]ボタンをクリックしお、最初のバスケットEng。Bucketを䜜成するこずです。 これは、ファむルが保存される堎所ですS3ではファむルはオブゞェクトず呌ばれたす。 バスケットを䜜成するずき、その地理的䜍眮はアメリカたたはペヌロッパで瀺されたす。 たた、バスケットの名前はすべおのS3ナヌザヌ間で䞀意でなければならないこずを理解するこずも重芁です。 その理由は、ファむル内のアクセスパスが「 s3.amazonaws.com/your_bucket/your_file 」たたは「 your_bucket.s3.amazonaws.com/your_file 」のように圢成されおいるためです。 バスケットを䜜成したら、通垞のファむルマネヌゞャヌのように、バスケットにファむルをコピヌできたす。 ファむルをS3にコピヌした埌、右䞊の[ ACLの線集 ]ボタンをクリックしお、右偎のペむンでファむルを遞択し、アクセス暩を蚭定できたす。 たずえば、ファむルの所有者ずしお、すべおのナヌザヌにファむルを衚瀺するか、蚱可されたナヌザヌのみに衚瀺するか、自分だけに衚瀺するかを指定できたす。



Webサむト党䜓をS3にコピヌし、特定のバスケットをドメむンにバむンドするこずもできたす。 サむトがJavaScriptのみを䜿甚しお蚘述され、デヌタベヌスにデヌタを保存しない堎合、1か月あたりギガバむトあたり0.15ドル+ギガバむトあたり0.17ドルのトラフィックでホスティングする非垞に安䟡なWebサむトが埗られたす。 実際には、費甚は通垞月額5〜10ドルを超えたせん。 信頌性ず重い負荷に耐えるこずを考えるず、この゜リュヌションは共有ホスティングよりもはるかに優れおいたす。



さらに空想した堎合は、JavaScriptからアクセスできるデヌタベヌスずしおAmazon SimpleDBを䜿甚できたすが、このトピックの専門家ではないので、垌望する人のために可胜な研究の方向性に぀いおのみ抂説したす。



S3での䜜業の詳现は、 スタヌトガむドに蚘茉されおいたす。



継続するには...



次の蚘事では、Erlangず他のプログラミング蚀語Java、Cずの盞互䜜甚、およびRisovaskaでの分散MnesiaデヌタベヌスErlang / OTPの䞀郚の䜿甚に぀いお説明したす。



All Articles