リソース・オーケストレーションは、柔軟なNICのAPIをフルにサポートし、ネットワーク構成を簡素化
AliCloud Resource Orchestration Service(ROS)がElastic NIC機能をサポートするようになり、ROSのクラウドリソースタイプに3つの新しいメンバーが追加されました。
- ALIYUN::ECS::NetworkInterface レジリエントなNICの作成
- ALIYUN::ECS::NetworkInterfaceAttachment エラスティックNICをバインドする
-
ALIYUN::ECS::NetworkInterfacePermission
弾力性のあるNICに権限を与える
上記のROSリソースタイプでは、エラスティックNICを柔軟にオーケストレーションできるため、エラスティックNICや他のクラウドリソースをROSテンプレートとして記述し、あなたが望む"ワンクリック展開"の効果を実現できます。
エラスティックNICのリソースタイプの紹介
AliCloud ROS Elastic NICに関連する3つのリソースタイプについて、それぞれどのような機能が提供され、どのように使用するのかを見ていきましょう。AliCloudのリソースオーケストレーションサービスに触れたことがない方は こちらをご覧ください
レジリエントなNICの作成
リソースオーケストレーションでレジリエントNICを抽象化する CreateNetworkInterface インターフェイスの能力、レジリエントNICを作成するための簡単なテンプレートは次のようになります。
{
"ROSTemplateFormatVersion" : "2015-09-01",
"Resources" : {
"EniInstance" : {
"Type": "ALIYUN::ECS::NetworkInterface",
"Properties": {
'VSwitchId': 'vsw-2zetgeiqlemyok9z5j2em',
'SecurityGroupId': 'sg-2ze3yg7oo90ejudett9j',
'NetworkInterfaceName': 'my-eni-name'
'Description': 'eni-name-description'
}
}
},
"Outputs": {
"NetworkInterfaceId": {
"Value" : { "Fn::GetAtt": ["EniInstance", "NetworkInterfaceId"]}
}
}
}
スイッチIDとセキュリティグループIDを定義するだけで、レジリエントNICが作成できることがわかります。もちろん、NICの名前や説明情報も指定することができます。最後に、新しく作成されたレジリエント NIC の ID が Outputs タグで返されます。
レジリエントNICをバインドする
リソースオーケストレーションでレジリエントNICを抽象化する アタッチネットワークインターフェース インターフェース機能を使用する場合、エラスティックNICをバインドするための簡単なテンプレートは次のようになります。
{
"ROSTemplateFormatVersion" : "2015-09-01",
"Resources" : {
"EniInstance" : {
"Type": "ALIYUN::ECS::NetworkInterfaceAttachment",
"Properties": {
'NetworkInterfaceId': 'eni-2zefnmihs8r13tqdeomr',
'InstanceId': 'i-2ze8m2j71rb2m8saw6g6'
}
}
}
}
NIC IDとECSインスタンスIDを指定するだけです。
弾力性のあるNICを認証する
Resource Orchestrationでは、Elastic NICのCreateNetworkInterfacePermissionインターフェースの機能を抽象化しており、Elastic NICを認可するための簡単なテンプレートはこのようになります。
{
"ROSTemplateFormatVersion" : "2015-09-01",
"Resources" : {
"EniPermissionInstance" : {
"Type": "ALIYUN::ECS::NetworkInterfacePermission",
"Properties": {
'AccountId': '1754580903499898',
'NetworkInterfaceId': 'eni-2zehcsxovaeso7ivbgzp'
}
}
},
"Outputs": {
"NetworkInterfacePermissionId": {
"Value" : { "Fn::GetAtt": ["EniPermissionInstance", "NetworkInterfacePermissionId"]}
}
}
}
認可NICは、認可NIC IDと認可ユーザIDを指定する必要があり、認可IDはOutputsタグで返される。
包括的なアプリケーションシナリオ:ECSインスタンスの作成とレジリエントNICのバインド
リソースオーケストレーションのエラスティックNIC機能は、具体的にどのように機能するのでしょうか。よくあるシナリオを見てみましょう:"AliCloud上でECSを購入し、エラスティックNICをバインドする必要があります。
Resource Orchestration テンプレートを使用しない場合、次のようにする必要があります。
1. まず、ECSインスタンスコンソールでECSを作成し、その間に、VPC、VSwitch、SecurityGroupを作成する必要があります。
2. Resilient NICのページに切り替えてレジリエントNICを作成します。この時、最初のステップで作成したVPC、VSwitch、SecurityGroupを正しく指定する必要があります。VPCの数が多い場合は、ページを切り替えて最初のステップのVPC情報をメモして記入することも必要です。
3. Elastic NICのページでECSインスタンスをバインドする
再びROSの使用を見てみる
1. ROSテンプレートを書く (付録参照)
2、スタックを作成し、ECSを作成するために必要な情報(ミラーID、インスタンス仕様、地域など)を記入する。
作成方法を説明します。
1. ROS Stackは、作成過程でVPC、VSwitch、SecurityGroup、ECSインスタンス、レジリエントNICを作成し、レジリエントNICを指定したユーザーに自動的に認証し、ECSにバインドします。わずかな情報を記入した後、すべての操作は人手を介さず、1クリックで導入されます。(図1参照)
2. 中間生成に失敗した場合、Stack全体のリソースは自動的にロールバックされる。
3. 書いたROSのテンプレートは、保存しておくと次回も引き続き使用することができます。(図2のように)
この一連の流れはとても便利だと思いませんか?もちろん、AliCloudのリソースオーケストレーション製品では、ビジネスシナリオを組み合わせて、エラスティックNICの機能を柔軟に使って、ビジネスをオーケストレーションすることができます。皆さんのご意見をお待ちしています。
付録 ROSテンプレート(ECSの作成とレジリエントNICのバインド)
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "One VPC, VSwitch,
"Type": "String",
"Description": "The ECS instance type, <a href='#/product/cn-shenzhen/list/typeList' target='_blank'>View instance types</a>",
"Default": "ecs.sn1ne.large"
},
"AccountId":{
"Type": "String",
"Description": "The account id"
},
"ZoneId": {
"Type": "String",
"Description": "The available zone, <a href='#/product/cn-shenzhen/list/zoneList' target='_blank'>View available zones</a>"
},
"SecurityGroupName": {
"Type": "String",
"Description": "The security group name",
"Default": "my-sg-name"
},
"NetworkInterfaceName": {
"Type": "String",
"Description": "The Network interface name",
"Default": "my-eni-name"
},
"VpcName": {
"Type": "String",
"Description": "The VPC name",
"MinLength": 2,
"MaxLength": 128,
"ConstraintDescription": "[2, 128] English or Chinese letters",
"Default": "my-vpc-name"
},
"IoOptimized": {
"AllowedValues": [
"none",
"optimized"
],
"Description": "IO optimized, optimized is for the IO optimized instance type",
"Type": "String",
"Default": "optimized"
},
"SystemDiskCategory": {
"AllowedValues": [
"cloud",
"cloud_efficiency",
"cloud_ssd"
],
"Description": "System disk category: average cloud disk(cloud), efficient cloud disk(cloud_efficiency) or SSD cloud disk(cloud_sssd)" ssd)",
"Type": "String",
"Default": "cloud_ssd"
},
"VpcCidrBlock": {
"Type": "String",
"AllowedValues": [
"192.168.0.0/16",
"172.16.0.0/12",
"10.0.0.0/8"
],
"Default": "10.0.0.0/8"
},
"VSwitchCidrBlock": {
"Type": "String",
"Description": "The VSwitch subnet which must be within VPC",
"Default": "10.0.10.0/24"
}
},
"Resources": {
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"CidrBlock": {
"Ref": "VpcCidrBlock"
},
"VpcName": {
"Ref": "VpcName"
}
}
},
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Propertie
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例